|
|
#15 |
|
Участник
|
тогда буду вопросы задавать, я еще жить хочу
. уважаемые эксперты и не очень вот такой первый вопрос знаю просто, но не могу сделать. Есть форма. Нужно, чтобы при создании новой записи, появлялась новая форма. По нажатию ок - данные сохранялись, при нажатии отмена - нет. Я делаю так:1. Перекрываю метод датасорса главной формы create(): X++: void create(boolean _append = false) { if (salesForm.create()) // в классе реализована super(_append); } // salesForm.create() X++: boolean create()
{
Args _args = new Args();
FormRun CreateSales;
;
_args.name(formstr(CreateSales));
_args.caller(this);
CreateSales = ClassFactory.formRunClass(_args);
CreateSales.init();
CreateSales.run();
CreateSales.wait();
if (CreateSales.closedOk())
return true;
else
return false;
}2. Перекрываю метод init() вызываемой формы: X++: public void init() { super(); if (!element.args().caller()) { throw error("@SYS22539"); } salesForm = element.args().caller(); } X++: public boolean validateWrite() { boolean ret; if (!element.closedOK()) return true; ret = super(); return ret; } public void write() { //super(); if (!element.closedOK()) return; try { ttsbegin; SalesTable.insert(); ttscommit; } catch(Exception::error) { SalesTable.recid = 0; element.close(); throw Exception::error; } SalesTable_ds.research(); SalesTable_ds.refresh(); salesForm.newSalesId(salesTable.salesId); } X++: boolean canClose()
{;
if (element.closedOk() && !salesTable_ds.validateWrite())
{
return false;
}
salesTable_ds.write();
if (!element.closedOk())
{
return true;
}
return super();
} не сохраняет данные
|
|
|
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|