|
15.01.2010, 12:42 | #1 |
Участник
|
Datasource временных таблиц
AX 3 SP3 KR3
Есть форма в которой есть временная таблица например SmthTrans. Создан класс, наследуемый от RunbaseBatch который должен обновлять значения этой временной таблицы. Для того, чтобы получить значения для обновения пишу следующий код в классе X++: main( Args _args) { Updater upd = new Updater(); ... upd.run(args) ... } void run(args _args) { SmthTrans trans; FormDataSource fds; QueryRun qr; ; ttsbegin; fds = _args.record.datasource(); qr = fds.queryrun(); while( qr.next) { trans = qr.get(tablenum(SmthTrans)); trans.price = 15; trans.update(); } ttscommit; } X++: trans = _args.record(); Кто то сталкивался с такой ситуацией. Может быть такую задачу нужно решать совсем другим путем? |
|
15.01.2010, 12:56 | #2 |
Участник
|
У меня не воспроизвелось. Т.е. fds оказался не NULL.
А как вызывается этот класс? Через MenuItemButton? |
|
15.01.2010, 13:02 | #3 |
Участник
|
Да. через MenuitemButton
|
|
15.01.2010, 13:42 | #4 |
Участник
|
А если таблицу временно сделать не временной, заработает?
|
|
15.01.2010, 14:18 | #5 |
Участник
|
Это происходит, если класс серверный (свойства класса и пункта меню)
Решения два: 1. Очевидное - сделать класс клиентским 2. Если для производительности необходимо выполнять класс на сервере, нужно на форме в методе clicked() выбрать нужные записи в отдельную временную таблицу и передать её классу |
|
|
За это сообщение автора поблагодарили: maze (1), tricky (1), S.Kuskov (2). |
15.01.2010, 14:30 | #6 |
Участник
|
Цитата:
СПАСИБО! Про зависимость с типом класса я не знал. Поэтому так и сделал... |
|
Теги |
formdatasource, временная таблица, датасорс (datasource) |
|
|