Окно "Спецификация счета"
Создайте окно w_account_item путем наследования из окна w_base_dw. Установите свойство dataobject для объекта dw_sheet в dw_account_item.
Добавьте объект DataWindow в окно w_account_item (Insert - Control - DataWindow). Установите имя объекта dw_form_account, параметр DataObject тоже dw_form_account. Заметьте, что объект dw_form_account объекта w_account_item, является указателем на объект DataWindow с именем dw_form_account, находящийся в библиотеке rad.
Разместите объект dw_form_account так, чтобы в нем помещались все поля объекта DataWindow, а под ним разместите объект dw_sheet.
Объявление переменных
Double id_account
Событие open
Скрипт события:
id_account = message.doubleparm dw_form_account.settransobject(sqlca)
Как ужу говорилось выше, объект message служит для передачи данных между объектами приложения. Свойство doubleparm является стандартным для данного объекта. В нем будет передан номер счета.
Т.к. объект dw_form_account отсутствует в родительском окне, для него необходимо вызвать метод settransobject.
Событие ue_retrieve_data
Скрипт события:
Dw_sheet.retrieve(id_account) Dw_form_account.retrieve(id_account)
Событие ue_edit
Скрипт события:
w_form_account lw_form_account long ll_row ll_row = dw_sheet.getrow() if ll_row = 0 then return id_account_item = dw_sheet.getitemnumber(ll_row, 'id_account_item') opensheetwithparm(lw_form_account, this, this)
Скрипт перекрывает скрипт родительского окна.
Событие ue_insert
Скрипт события:
w_form_account lw_form_account id_account_item = -1 opensheetwithparm(lw_form_account, this, this)
Скрипт перекрывает скрипт родительского окна.