|
|
|
|
#1 |
|
Участник
|
ты хочешь сказать что надо написать:void clicked(){ReportRun.QueryRun().Prompt();}
|
|
|
|
|
#2 |
|
Участник
|
м да, вот это Вы все меня ободрили, можно сразу идти вешаться?
|
|
|
|
|
#3 |
|
Участник
|
тогда буду вопросы задавать, я еще жить хочу
. уважаемые эксперты и не очень вот такой первый вопрос знаю просто, но не могу сделать. Есть форма. Нужно, чтобы при создании новой записи, появлялась новая форма. По нажатию ок - данные сохранялись, при нажатии отмена - нет. Я делаю так: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();
} не сохраняет данные
|
|
|
|
|
#4 |
|
Участник
|
Иногда бывает полезно перекрыть метолы insert, update, write на интересующей таблице и поставить точки останова. А вообще за один трэйс в Axapte разработчикам системы надо по медали дать. Великая вещь.
|
|
|
|
| За это сообщение автора поблагодарили: Red Stranger (1). | |
|
|
#5 |
|
Участник
|
Andrux рекомендую сформулировать вопрос в терминах человеко-ориентированной логики и задать его в новой ветке. Вряд ли кто-то будет за Вас отлаживать часть Вашего кода
![]() p.s. Если я правильно понял, речь идет о форме SalesTable. Так вот, там уже реализован вызов диалога перед созданием новой записи. Посмотрите как это работает в стандарте. |
|
|
|
|
#6 |
|
Участник
|
|
|
|
|
|
#7 |
|
Участник
|
Неее. я сдаваться не собираюсь. Буду разбираться.
Так что, все написано правильно? а че не работает тогда
|
|
|
|
|
#8 |
|
Участник
|
да, да, именно та. Там SalesTable и SalesCreateOrder. но у меня ума не хватает еще понять все
. вроде все так делаю а не работает
|
|
|
|
|
#9 |
|
Участник
|
не получается
|
|
|