#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().