Ananas Library 0.9.5
|
Определяет программный интерфейс экранных форм Ананаса, предназначенный для использования Ананас.Скриптом модуля экранной формы Документа и других бизнес объектов Ананаса. Подробнее...
#include <aform.h>
Открытые слоты | |
void | done (int rc) |
Deprecated. | |
void | Show (bool modal=FALSE) |
ScriptAPI. Показывает форму на экране. | |
bool | Close () |
ScriptAPI. Закрывает и уничтожает форму. | |
void | show () |
Deprecated. See Show() | |
void | close () |
Deprecated. | |
void | maximize (bool m) |
ScriptAPI. Распахивает окно на все рабочее прастранство | |
QVariant | Value (const QString &name) |
ScriptAPI. Возвращает значение поля экранной формы. | |
QVariant | DBValue (const QString &name) |
ScriptAPI. Возвращает значение атрибута <name> бизнес объекта Ананаса. | |
int | SetValue (const QString &name, QVariant value) |
ScriptAPI. Устанавливает значения виджетов экранной формы. | |
int | SetObjValue (const QString &name, aObject *value) |
ScriptAPI. Устанавливает значения виджетов формы сложных типов (aDocument, aCatalogue) | |
void | SetColumnReadOnly (const QString &tname, int numCol, bool ro) |
ScriptAPI. Устанавливает для столбца таблицы флаг только чтение. | |
int | ColIndex (const QString &tname, const QString &colname) |
ScriptAPI. Возвращает индекс столбца таблицы tname по его имени в метаданных. | |
int | TabCount (const QString &tname) |
ScriptAPI. Возвращает количество строк в табличном виджете wDBTable. | |
QVariant | TabValue (const QString &tname, int row, int col) |
ScriptAPI. Возвращает значение ячейки табличного виджета wDBTable. | |
QVariant | TabDBValue (const QString &tname, int row, int col) |
ScriptAPI. Возвращает значение ячейки табличного виджета wDBTable для сложного типа данных. | |
void | TabNewLine (const QString &tname) |
ScriptAPI. Добавляет новую строку в табличный виджет wDBTable. | |
void | TabUpdate (const QString &tname) |
void | SetTabValue (const QString &tname, const QString &colname, int row, QVariant value) |
ScriptAPI. Задает значение ячейки табличного виджета wDBTable. | |
void | setfocus (QString fname) |
Deprecated. | |
void | SetFocus () |
ERR_Code | UpdateDB () |
ScriptAPI. Обновляет данные в базе. | |
ERR_Code | update () |
Depticated. | |
int | turn_on () |
Deprecated. | |
int | turn_off () |
Deprecated. | |
int | SignIn () |
ScriptAPI. Проводит (регистрирует) документ. | |
int | SignOut () |
ScriptAPI. Отменяет проведение (регистрацию) документа. | |
int | Update () |
ScriptAPI. Обновляет экранную форму. . | |
void | SetReadOnly (bool status) |
ScriptAPI. Устанавливает флаг "только чтение". | |
bool | IsReadOnly () |
ScriptAPI. Возвращает значение флага "только чтение". | |
int | GetMode () |
ScriptAPI. Получение режима открытия формы. | |
QString | Propis (QString val, bool need_kopeyki=true, bool male=true, const QString &end1="рублей", const QString &end2="рубль", const QString &end3="рубля") |
Конвертирует число в его текстовое представление c указанием единиц измерения. | |
QString | MoneyToText (QString amount, QString currency) |
Конвертирует числовое представление денег в пропись с учетом указанной валюты. | |
QString | ConvertNumber2MoneyFormat (double number) |
Возвращает значение атрибута формы. | |
QString | ConvertDateFromIso (const QString &ISODate) |
ScriptAPI. Конвертирует дату в локальный формат. Используется для вывода на печать. | |
QString | EndOfDay (const QString &ISODate) |
ScriptAPI. Возвращает дату-время на конец дня. | |
void | SelectByCurrent (aObject *doc) |
ScriptAPI. Используя идентификатор редактируемого виджетами формы документа, настраивает объект aDocument на доступ к документу с таким же идентификатором. | |
void | SetCurrent (aObject *doc) |
Устаревшая. Смотри SelectByCurrent() . | |
aObject * | Current () |
ScriptAPI. Возвращает ссылку на бизнес объект, редактируемый данной экранной формой. | |
QWidget * | Widget (QString name) |
ScriptAPI. Возвращает указатель на виджет по его имени. | |
bool | FormHasFunction (const QString functionName) |
Сигналы | |
void | selected (Q_ULLONG uid) |
void | closeForm (Q_ULLONG) |
void | changedData () |
void | update (ANANAS_UID) |
Открытые члены | |
aForm (QWidget *parent, aEngine *eng) | |
aForm (QWidget *parent, aEngine *eng, Q_ULONG form_mid=0, aWidget *caller=NULL) | |
aForm (QWidget *parent, aEngine *eng, QString oftype, QObject *aobj=NULL) | |
void | init () |
QWidget * | aParent (QWidget *widget) |
int | New () |
int | Select (Q_ULLONG id) |
int | SelectGroup (Q_ULLONG id) |
Q_ULLONG | selectedCatId () |
Q_ULLONG | selectedId () |
QVariant | tabValue (const QString &tname, int row, int col, bool dbval=false) |
void | setMode (int m) |
ScriptAPI. Устанавливает режим формы. | |
Открытые атрибуты | |
aEngine * | engine |
aDatabase * | db |
aCfg * | md |
aCfgItem | mdObj |
QWidget * | parentWidget |
bool | closeAfterSelect |
QWidget * | form |
Защищенные члены | |
virtual void | initWidget (QWidget *widget, aDatabase *adb) |
virtual void | initContainer (aWidget *widget, aDatabase *adb) |
aWidget * | parentContainer (QWidget *widget) |
Определяет программный интерфейс экранных форм Ананаса, предназначенный для использования Ананас.Скриптом модуля экранной формы Документа и других бизнес объектов Ананаса.
Любая экранная форма, спроектированная в Ананас.Дизайнере имеет методы этого класса. Объект данного класса создается при создании формы. Программный код, написанный на Ананас.Скрипте и хранящийся в модуле экранной формы (вкладка "Модуль" в Дизайнере) может обращаться к методам этого объекта напрямую, без указания имени объекта.
Кроме того, класс обеспечивает вызов некоторых функций на Ананас.Скрипте, определенных в модуле экранной формы, при наступлении определенных событий, например открытии или закрытии формы, изменения значения виджетов формы и т.п Полный список этих событий и функций можно посмотеть на сайте Ананаса в разделе руководства по Ананас.Дизайнеру.
aForm::aForm | ( | QWidget * | parent, |
aEngine * | eng ) |
parent | |
eng | |
form_mid | |
caller |
Перекрестные ссылки aEngine::db и init().
aForm::aForm | ( | QWidget * | parent, |
aEngine * | eng, | ||
QString | oftype, | ||
QObject * | aobj = NULL ) |
parent | |
eng | |
oftype | |
aobj |
Перекрестные ссылки aDatabase::cfg, aEngine::db и init().
QWidget * aForm::aParent | ( | QWidget * | widget | ) |
Возвращает объект-контейнер для заданного виджета.
widget | - виджет, для которого необходимо найти объект-контейнер. |
|
slot |
ScriptAPI. Закрывает и уничтожает форму.
Вызывает функцию on_formstop() скрипта модуля экранной формы, если функция определена в модуле.
Перекрестные ссылки aLog::print().
|
slot |
ScriptAPI. Возвращает индекс столбца таблицы tname по его имени в метаданных.
tname | - Имя таблицы. |
colname | - Имя столбца. |
Перекрестные ссылки wDBTable::getDefFields(), aLog::print() и Widget().
|
slot |
ScriptAPI. Конвертирует дату в локальный формат. Используется для вывода на печать.
Все функции работы с датой оперируют датой в ISO формате. (yyyy-MM-ddThh:mm:ss) Данная функция предназначена для конвертации такой даты в читаемый вид.
ISODate | - дата в ISO формате (yyyy-MM-ddThh:mm:ss) |
Перекрестные ссылки aService::Date2Print().
|
slot |
Возвращает значение атрибута формы.
name | - Имя атрибута. aDataField* aForm::getAttribute(const QString &name) { QString oname, aname; aWidget *w = mainWidget; QVariant v; aDataField *f = 0; |
oname = name.section(".",0,0); aname = name.section(".",1); if ( oname.isEmpty() ) aname = oname; else { } v = w->value( aname ); f = new aDataField( this, aname ); return f; }
Устанавливает значение атрибута формы.
Not implemented
name | - Имя атрибута. int aForm::setAttribute(const QString &name, aDataField *value) { return 1; } |
ScriptAPI. Конвертирует число в денежный формат (#0.00 :) ). Используется для вывода на печать.
Для конвертирования числа в текстовое представление используйте Propis()
number | - число для конвертирования |
Перекрестные ссылки aService::convertNumber2MoneyFormat().
|
slot |
ScriptAPI. Возвращает ссылку на бизнес объект, редактируемый данной экранной формой.
По свему назначению метод аналогичен SelectByCurrent()
|
slot |
ScriptAPI. Возвращает значение атрибута <name> бизнес объекта Ананаса.
Предназначен для использования в контексте экранной формы редактирования бизнес объекта. Или, говоря по другому, в модуле экранной формы. Тип возвращаемого значения такой же, как задан в метаданных у соответствующего атрибута бизнес объекта. Для поля типа Каталог или Документ функция вернет число (id). Функция необходима, если нужно заполнять поля сложных типов. Для остальных случаев можно использовать aForm::Value(), обеспечивающее доступ к значению виджета экранной формы, в контексте которой исполняется Скрипт.
name | - Имя атрибута бизнес объекта, как задано в метаданных. |
Пример кода для размещения в модуле экранной формы. Экранная форма содержит одну кнопку с именем Button1. При нажатии на кнопку в окно сообщений будет выведено значение атрибута "Покупатель" редактируемого бизнес объекта.
Перекрестные ссылки aLog::print() и Widget().
|
slot |
ScriptAPI. Возвращает дату-время на конец дня.
ISODate | - строка, содержащая дату в формате ISO (YYYY-MM-DD). |
|
slot |
ScriptAPI. Получение режима открытия формы.
void aForm::init | ( | ) |
Инициализирует форму, меняет родителя у центрального виджера формы, если это необходимо. Обрабатывает также модуль скрипта, благодаря этому впоследствии можно вызывать функции, определенные в этом модуле.
Перекрестные ссылки initContainer(), aLog::print() и SetReadOnly().
Инициализирует все виджеты, унаследованные от aWidget
Перекрестные ссылки aWidget::createToolBar(), aWidget::init(), initContainer(), initWidget() и parentContainer().
Используется в init() и initContainer().
|
protectedvirtual |
Инициализирует объекты, которые не унаследованы от aWidget, но требуют инициализации, например wDBTable.
Используется в initContainer().
|
slot |
ScriptAPI. Возвращает значение флага "только чтение".
|
slot |
Конвертирует числовое представление денег в пропись с учетом указанной валюты.
amount | - сумма денег для преобразование в пропись. |
currency | - строка с обозначением валюты. Допустимые значения: "RUR" - рубль, "USD" - доллар, "EUR" - евро. |
Перекрестные ссылки aService::number2money().
int aForm::New | ( | ) |
Используется в aEngine::openForm().
|
protected |
|
slot |
Конвертирует число в его текстовое представление c указанием единиц измерения.
Параметры позволяют настроить вид результата. По умолчанию валюта - рубли, копейки выводятся.
примеры использования:
пример неправильного использования:
val | - число для конвертирования |
need_kopeyki | - записывать в результат копейки (по умолчанию - да) |
male | - конвертируемая единица - мужского рода (по умолчанию - да) |
end1 | - окончание для нуля конвертируемых единиц (по умолчанию - ‘рублей’) |
end2 | - окончание для одной конвертируемой единицы (по умолчанию - ‘рубль’) |
end3 | - окончание для двуx конвертируемых единиц (по умолчанию - ‘рубля’) |
Перекрестные ссылки aService::number2money().
int aForm::Select | ( | Q_ULLONG | id | ) |
|
slot |
ScriptAPI. Используя идентификатор редактируемого виджетами формы документа, настраивает объект aDocument на доступ к документу с таким же идентификатором.
То есть к тому же документу. Используется в Ананас.Скрипте для передачи ссылки на документ в другие объекты. Например в регистры. Для примера смотри код на Ананас.Cкрипте, отрабатываемый при проведении Приходной накладной в бизнес схеме Inventory.
doc | - документ, который необходимо настроить. |
Перекрестные ссылки aLog::print() и aObject::select().
Используется в SetCurrent().
|
slot |
ScriptAPI. Устанавливает для столбца таблицы флаг только чтение.
Когда установлен этот флаг, пользователь не может редактировать значения в этом столбце.
tname | - Имя таблицы. |
numCol | - Номер столбца. |
ro | - Значение флага ‘только чтение’. |
Перекрестные ссылки aLog::print() и Widget().
|
slot |
Устаревшая. Смотри SelectByCurrent() .
Перекрестные ссылки SelectByCurrent().
void aForm::setMode | ( | int | m | ) |
ScriptAPI. Устанавливает режим формы.
m | - Допустим один из трех режимов открытия формы: 0 - новая, 1 - редактирование, 2- просмотр. |
Используется в aEngine::openForm().
|
slot |
ScriptAPI. Устанавливает значения виджетов формы сложных типов (aDocument, aCatalogue)
Обычно для установки значения используют SetValue(...)
tname | - Имя виджета. |
|
slot |
ScriptAPI. Устанавливает флаг "только чтение".
Когда установлен этот флаг, запрещается редактирование полей формы, и сохранение изменений в базу.
status | - Новое значение флага только чтение. |
Перекрестные ссылки aLog::print().
Используется в init() и aEngine::openForm().
|
slot |
ScriptAPI. Задает значение ячейки табличного виджета wDBTable.
tname | - имя таблицы |
colname | - имя столбца |
row | - номер строки |
value | - значение |
Перекрестные ссылки aLog::print() и Widget().
|
slot |
ScriptAPI. Устанавливает значения виджетов экранной формы.
name | - Имя виджета. |
value | - Значение виджета. Для сложных типов (Документ,Каталог) должен использоваться идентификатор. Если идентификатор недоступен, используйте функция SetObjValue(), которая принимает в качестве параметра ссылку на объект. |
|
slot |
ScriptAPI. Показывает форму на экране.
Перемещает ее в левый верхний угол рабочего пространства. Вызывает функцию on_formstart() скрипта модуля экранной формы, если функция определена в модуле. Параметр modal определяет является ли форма модальной.
Перекрестные ссылки Close().
Используется в aEngine::openForm() и show().
|
slot |
ScriptAPI. Проводит (регистрирует) документ.
Вызывает функцю on_conduct() кода Ананас.скрипта модуля экранной формы. В скрипте вы можете проверить условия проведения документа, и, если они не выполняются, вернуть в функции false. Если функция возвращает false, то отметка о проведении не ставится.
Перекрестные ссылки aLog::print().
Используется в turn_on().
|
slot |
ScriptAPI. Отменяет проведение (регистрацию) документа.
На самом деле ничего не делает. Отмена проведения производится при открытии документа.
Используется в turn_off().
|
slot |
ScriptAPI. Возвращает количество строк в табличном виджете wDBTable.
Если табличный виджет не является объектом класса wDBTable, метод запишет в лог сообщение об ошибке и вернет 0.
tname | - Имя таблицы. |
Перекрестные ссылки aLog::print() и Widget().
|
slot |
ScriptAPI. Возвращает значение ячейки табличного виджета wDBTable для сложного типа данных.
Если табличный виджет не является объектом класса wDBTable, метод запишет сообщение об ошибке в лог и вернет строку "Unknown". То есть он предназначен только для работы с таблицами привязанными (binded) к табличным частям бизнес объектов Ананаса. В отличие от aForm::TabValue, который вернет числовой идентификатор, в случае, если ячейка имеет сложный тип данных, aForm::TabDBValue вернет текстовое представление, которое видит в таблице пользователь. \param tname - имя виджета \param row - индекс строки таблицы \param col - индекс столбца таблицы \return значение ячейки табличного виджета \see aForm::TabValue(...)
Перекрестные ссылки tabValue().
|
slot |
ScriptAPI. Добавляет новую строку в табличный виджет wDBTable.
tname | - имя виджета |
Перекрестные ссылки aLog::print() и Widget().
|
slot |
tname |
Перекрестные ссылки aLog::print() и Widget().
|
slot |
ScriptAPI. Возвращает значение ячейки табличного виджета wDBTable.
Если табличный виджет не является объектом класса wDBTable, метод запишет сообщение об ошибке в лог и вернет строку "Unknown". То есть он предназначен только для работы с таблицами привязанными (binded) к табличным частям бизнес объектов Ананаса. Если в ячейке хранится сложный тип данных (Документ, Элемент справочника) будет возвращен уникальный идентификатор объекта, а не его текстовое представление, которое видит пользователь. Для получения текстового представления сложного объекта воспользуйтесь методом aForm::TabDBValue. \param tname - имя виджета \param row - индекс строки таблицы \param col - индекс столбца таблицы \return значение ячейки табличного виджета \see aForm::TabDBValue(...)
Перекрестные ссылки tabValue().
QVariant aForm::tabValue | ( | const QString & | tname, |
int | row, | ||
int | col, | ||
bool | dbval = false ) |
tname | |
row | |
col | |
dbval |
Перекрестные ссылки wDBTable::getDefIdList(), wDBTable::getFieldType(), aLog::print() и Widget().
Используется в TabDBValue() и TabValue().
|
slot |
ScriptAPI. Обновляет экранную форму. .
|
slot |
ScriptAPI. Возвращает значение поля экранной формы.
Например, значение поля шапки "Номер" приходной накладной. Слот предназначен для использования Ананас-Скриптом.
name | - имя поля, как оно определено в метаданных. Например, "Номер" или "Покупатель". |
Пример кода для размещения в модуле экранной формы. Экранная форма содержит одну кнопку с именем Button1 и поле ввода LineEdit1. После ввода значения, следует нажать на кнопку и в окно сообщений будет выведено только что введенное значение.
|
slot |
ScriptAPI. Возвращает указатель на виджет по его имени.
Ничего не делает.
char* aForm::formMetaObjectId(QString filename){ if (filename==""){ } return aot_doc; return ""; }
Очень полезная функция для работы с QT виджетами, находящимися в экранной форме. Используя этот метод, можно получить доступ к методам любого виджета, лежащего в форме. ВАЖНО! Из Ананас скрипта вы сможете обратиться только к публичным слотам и свойствам виджета. Публичные методы виджета из Ананас скрипта недоступны. Документацию по свойствам и методам QT виджетов смотрите на сайте http://trolltech.com
Используется в ColIndex(), DBValue(), SetColumnReadOnly(), SetTabValue(), TabCount(), TabNewLine(), TabUpdate() и tabValue().