#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 | |||
| ) |
Base form object.
Перекрестные ссылки aDatabase::cfg, aEngine::db и init().
| void aForm::init | ( | ) |
Инициализирует форму, меняет родителя у центрального виджера формы, если это необходимо. Обрабатывает также модуль скрипта, благодаря этому впоследствии можно вызывать функции, определенные в этом модуле.
Перекрестные ссылки aCfg::attr(), aWidget::createToolBar(), aWindowsList::find(), initContainer(), aWindowsList::insert(), aCfg::objClass(), aCfg::parent(), aLog::print(), aEngine::project, aWindowsList::remove(), aWidget::setFormMode(), SetReadOnly(), aCfg::sText() и aEngine::wl.
Используется в aForm().
| QWidget * aForm::aParent | ( | QWidget * | widget | ) |
Возвращает объект-контейнер для заданного виджета.
| widget | - виджет, для которого необходимо найти объект-контейнер. |
| void aForm::setMode | ( | int | m | ) |
ScriptAPI. Устанавливает режим формы.
| m | - Допустим один из трех режимов открытия формы: 0 - новая, 1 - редактирование, 2- просмотр. |
Используется в aEngine::openForm().
| void aForm::Show | ( | bool | modal = FALSE |
) | [slot] |
ScriptAPI. Показывает форму на экране.
Перемещает ее в левый верхний угол рабочего пространства. Вызывает функцию on_formstart() скрипта модуля экранной формы, если функция определена в модуле. Параметр modal определяет является ли форма модальной.
Перекрестные ссылки Close() и aEngine::project.
Используется в aEngine::openForm() и show().
| bool aForm::Close | ( | ) | [slot] |
ScriptAPI. Закрывает и уничтожает форму.
Вызывает функцию on_formstop() скрипта модуля экранной формы, если функция определена в модуле.
Перекрестные ссылки aLog::print(), aWindowsList::remove() и aEngine::wl.
| QVariant aForm::Value | ( | const QString & | name | ) | [slot] |
ScriptAPI. Возвращает значение поля экранной формы.
Например, значение поля шапки "Номер" приходной накладной. Слот предназначен для использования Ананас-Скриптом.
| name | - имя поля, как оно определено в метаданных. Например, "Номер" или "Покупатель". |
function on_button(buttonName) // обработчик нажатия кнопки { if(buttonName=="Button1") // Button1 - имя кнопки, данное ей в дизайнере { // Получаем значение поля LineEdit1 экранной формы str = Value("LineEdit1"); // Выводим в окно сообщений, полученное значение StatusMessage(str); } }
Перекрестные ссылки aWidget::value().
| QVariant aForm::DBValue | ( | const QString & | name | ) | [slot] |
ScriptAPI. Возвращает значение атрибута <name> бизнес объекта Ананаса.
Предназначен для использования в контексте экранной формы редактирования бизнес объекта. Или, говоря по другому, в модуле экранной формы. Тип возвращаемого значения такой же, как задан в метаданных у соответствующего атрибута бизнес объекта. Для поля типа Каталог или Документ функция вернет число (id). Функция необходима, если нужно заполнять поля сложных типов. Для остальных случаев можно использовать aForm::Value(), обеспечивающее доступ к значению виджета экранной формы, в контексте которой исполняется Скрипт.
| name | - Имя атрибута бизнес объекта, как задано в метаданных. |
function on_button(buttonName) // обработчик нажатия кнопки { if(buttonName=="Button1") // Button1 - имя кнопки, данное ей в дизайнере { // Получаем значение атрибута "Покупатель" редактируемого бизнес объекта contragent = DBValue("Покупатель"); // Выводим в окно сообщений, полученное значение StatusMessage(contragent); } }
Перекрестные ссылки aLog::print() и Widget().
| int aForm::SetValue | ( | const QString & | name, | |
| QVariant | value | |||
| ) | [slot] |
ScriptAPI. Устанавливает значения виджетов экранной формы.
| name | - Имя виджета. | |
| value | - Значение виджета. Для сложных типов (Документ,Каталог) должен использоваться идентификатор. Если идентификатор недоступен, используйте функция SetObjValue(), которая принимает в качестве параметра ссылку на объект. |
Перекрестные ссылки aWidget::setValue().
| int aForm::SetObjValue | ( | const QString & | name, | |
| aObject * | value | |||
| ) | [slot] |
ScriptAPI. Устанавливает значения виджетов формы сложных типов (aDocument, aCatalogue).
Обычно для установки значения используют SetValue(...)
| tname | - Имя виджета. |
Перекрестные ссылки aWidget::setObjValue().
| void aForm::SetColumnReadOnly | ( | const QString & | tname, | |
| int | numCol, | |||
| bool | ro | |||
| ) | [slot] |
ScriptAPI. Устанавливает для столбца таблицы флаг только чтение.
Когда установлен этот флаг, пользователь не может редактировать значения в этом столбце.
| tname | - Имя таблицы. | |
| numCol | - Номер столбца. | |
| ro | - Значение флага `только чтение'. |
Перекрестные ссылки aLog::print() и Widget().
| int aForm::ColIndex | ( | const QString & | tname, | |
| const QString & | colname | |||
| ) | [slot] |
ScriptAPI. Возвращает индекс столбца таблицы tname по его имени в метаданных.
| tname | - Имя таблицы. | |
| colname | - Имя столбца. |
Перекрестные ссылки wDBTable::getDefFields(), aLog::print() и Widget().
| int aForm::TabCount | ( | const QString & | tname | ) | [slot] |
ScriptAPI. Возвращает количество строк в табличном виджете wDBTable.
Если табличный виджет не является объектом класса wDBTable, метод запишет в лог сообщение об ошибке и вернет 0.
| tname | - Имя таблицы. |
Перекрестные ссылки aLog::print() и Widget().
| QVariant aForm::TabValue | ( | const QString & | tname, | |
| int | row, | |||
| int | col | |||
| ) | [slot] |
ScriptAPI. Возвращает значение ячейки табличного виджета wDBTable.
Если табличный виджет не является объектом класса wDBTable, метод запишет сообщение об ошибке в лог и вернет строку "Unknown". То есть он предназначен только для работы с таблицами привязанными (binded) к табличным частям бизнес объектов Ананаса. Если в ячейке хранится сложный тип данных (Документ, Элемент справочника) будет возвращен уникальный идентификатор объекта, а не его текстовое представление, которое видит пользователь. Для получения текстового представления сложного объекта воспользуйтесь методом aForm::TabDBValue.
| tname | - имя виджета | |
| row | - индекс строки таблицы | |
| col | - индекс столбца таблицы |
| QVariant aForm::TabDBValue | ( | const QString & | tname, | |
| int | row, | |||
| int | col | |||
| ) | [slot] |
ScriptAPI. Возвращает значение ячейки табличного виджета wDBTable для сложного типа данных.
Если табличный виджет не является объектом класса wDBTable, метод запишет сообщение об ошибке в лог и вернет строку "Unknown". То есть он предназначен только для работы с таблицами привязанными (binded) к табличным частям бизнес объектов Ананаса. В отличие от aForm::TabValue, который вернет числовой идентификатор, в случае, если ячейка имеет сложный тип данных, aForm::TabDBValue вернет текстовое представление, которое видит в таблице пользователь.
| tname | - имя виджета | |
| row | - индекс строки таблицы | |
| col | - индекс столбца таблицы |
| void aForm::TabNewLine | ( | const QString & | tname | ) | [slot] |
ScriptAPI. Добавляет новую строку в табличный виджет wDBTable.
| tname | - имя виджета |
Перекрестные ссылки wDBTable::lineInsert(), aLog::print() и Widget().
| void aForm::SetTabValue | ( | const QString & | tname, | |
| const QString & | colname, | |||
| int | row, | |||
| QVariant | value | |||
| ) | [slot] |
ScriptAPI. Задает значение ячейки табличного виджета wDBTable.
| tname | - имя таблицы | |
| colname | - имя столбца | |
| row | - номер строки | |
| value | - значение |
Перекрестные ссылки aLog::print(), aWidget::uid() и Widget().
| int aForm::SignIn | ( | ) | [slot] |
ScriptAPI. Проводит (регистрирует) документ.
Вызывает функцю on_conduct() кода Ананас.скрипта модуля экранной формы. В скрипте вы можете проверить условия проведения документа, и, если они не выполняются, вернуть в функции false. Если функция возвращает false, то отметка о проведении не ставится.
Перекрестные ссылки aWidget::dataObject(), aObject::IsConducted(), aLog::print(), aEngine::project и aWidget::TurnOn().
Используется в turn_on().
| int aForm::SignOut | ( | ) | [slot] |
ScriptAPI. Отменяет проведение (регистрацию) документа.
На самом деле ничего не делает. Отмена проведения производится при открытии документа.
Используется в turn_off().
| void aForm::SetReadOnly | ( | bool | status | ) | [slot] |
ScriptAPI. Устанавливает флаг "только чтение".
Когда установлен этот флаг, запрещается редактирование полей формы, и сохранение изменений в базу.
| status | - Новое значение флага только чтение. |
Перекрестные ссылки aLog::print() и aWidget::SetReadOnly().
Используется в init() и aEngine::openForm().
| bool aForm::IsReadOnly | ( | ) | [slot] |
ScriptAPI. Возвращает значение флага "только чтение".
| int aForm::GetMode | ( | ) | [slot] |
ScriptAPI. Получение режима открытия формы.
- режим открытия формы
| QString aForm::Propis | ( | QString | val, | |
| bool | need_kopeyki = true, |
|||
| bool | male = true, |
|||
| const QString & | end1 = "рублей", |
|||
| const QString & | end2 = "рубль", |
|||
| const QString & | end3 = "рубля" | |||
| ) | [slot] |
Конвертирует число в его текстовое представление c указанием единиц измерения.
Параметры позволяют настроить вид результата. По умолчанию валюта - рубли, копейки выводятся.
примеры использования:
| val | - число для конвертирования | |
| need_kopeyki | - записывать в результат копейки (по умолчанию - да) | |
| male | - конвертируемая единица - мужского рода (по умолчанию - да) | |
| end1 | - окончание для нуля конвертируемых единиц (по умолчанию - `рублей') | |
| end2 | - окончание для одной конвертируемой единицы (по умолчанию - `рубль') | |
| end3 | - окончание для двуx конвертируемых единиц (по умолчанию - `рубля') |
Перекрестные ссылки aService::number2money().
| QString aForm::MoneyToText | ( | QString | amount, | |
| QString | currency | |||
| ) | [slot] |
Конвертирует числовое представление денег в пропись с учетом указанной валюты.
| amount | - сумма денег для преобразование в пропись. | |
| currency | - строка с обозначением валюты. Допустимые значения: "RUR" - рубль, "USD" - доллар, "EUR" - евро. |
Перекрестные ссылки aService::number2money().
| QString aForm::ConvertNumber2MoneyFormat | ( | double | number | ) | [slot] |
Возвращает значение атрибута формы.
| name | - Имя атрибута. aDataField* aForm::getAttribute(const QString &name) { QString oname, aname; aWidget *w = mainWidget; QVariant v; aDataField *f = 0; |
Устанавливает значение атрибута формы.
*Not implemented*
| name | - Имя атрибута. int aForm::setAttribute(const QString &name, aDataField *value) { return 1; } |
| number | - число для конвертирования |
Перекрестные ссылки aService::convertNumber2MoneyFormat().
| QString aForm::ConvertDateFromIso | ( | const QString & | ISODate | ) | [slot] |
ScriptAPI. Конвертирует дату в локальный формат. Используется для вывода на печать.
Все функции работы с датой оперируют датой в ISO формате. (yyyy-MM-ddThh:mm:ss) Данная функция предназначена для конвертации такой даты в читаемый вид.
| ISODate | - дата в ISO формате (yyyy-MM-ddThh:mm:ss) |
Перекрестные ссылки aService::Date2Print().
| QString aForm::EndOfDay | ( | const QString & | ISODate | ) | [slot] |
ScriptAPI. Возвращает дату-время на конец дня.
| ISODate | - строка, содержащая дату в формате ISO (YYYY-MM-DD). |
| void aForm::SelectByCurrent | ( | aObject * | doc | ) | [slot] |
ScriptAPI. Используя идентификатор редактируемого виджетами формы документа, настраивает объект aDocument на доступ к документу с таким же идентификатором.
То есть к тому же документу. Используется в Ананас.Скрипте для передачи ссылки на документ в другие объекты. Например в регистры. Для примера смотри код на Ананас.Cкрипте, отрабатываемый при проведении Приходной накладной в бизнес схеме Inventory.
| doc | - документ, который необходимо настроить. |
Перекрестные ссылки aLog::print(), aObject::select() и aWidget::uid().
Используется в SetCurrent().
| aObject * aForm::Current | ( | ) | [slot] |
ScriptAPI. Возвращает ссылку на бизнес объект, редактируемый данной экранной формой.
По свему назначению метод аналогичен SelectByCurrent()
Перекрестные ссылки aWidget::dataObject().
| QWidget * aForm::Widget | ( | QString | name | ) | [slot] |
ScriptAPI. Возвращает указатель на виджет по его имени.
Ничего не делает.
char* aForm::formMetaObjectId(QString filename){ if (filename==""){ } return aot_doc; return ""; }
Очень полезная функция для работы с QT виджетами, находящимися в экранной форме. Используя этот метод, можно получить доступ к методам любого виджета, лежащего в форме. ВАЖНО! Из Ананас скрипта вы сможете обратиться только к публичным слотам и свойствам виджета. Публичные методы виджета из Ананас скрипта недоступны. Документацию по свойствам и методам QT виджетов смотрите на сайте http://trolltech.com
// допустим в экранной форме есть виджет myCheckBox, являющийся экземпляром класса QCheckBox var myBox = Widget("myCheckBox"); //возвращает указатель на объект if ( myBox.checked ) { // Проверяем значение свойства checked sys.Message(0, "Yes" ); } else { sys.Message(0, "No" ); } // К сожалению мы не имеем доступа к методам setChecked() и isChecked(), так как они не являются публичными слотами.
Перекрестные ссылки aWidget::Widget().
Используется в ColIndex(), DBValue(), SetColumnReadOnly(), SetTabValue(), TabCount() и TabNewLine().
| void aForm::initWidget | ( | QWidget * | widget, | |
| aDatabase * | adb | |||
| ) | [protected, virtual] |
Инициализирует объекты, которые не унаследованы от aWidget, но требуют инициализации, например wDBTable.
Используется в initContainer().
Инициализирует все виджеты, унаследованные от aWidget
Перекрестные ссылки aWidget::createToolBar(), aWidget::engine, aWidget::init(), initWidget() и aWidget::isContainer().
Используется в init().
1.5.5