11.11.2022, 17:27 | #1 |
Участник
|
AX2009 не сохраняются значения формы на пакетнике
Добрый день.
DAX 2009 Была задача по доработке расчета спецификации. На форму BOMCalcDialog добавил пару checkBox. При обычном запуске значения сохраняются при повторном открытии формы, но при запуске на пакетнике сохраняются только последнее состояние при обычном запуске (значение сохранялось только после обработки пакетника). Подскажите пожалуйста возможности решения данной проблемы. |
|
11.11.2022, 18:15 | #2 |
Участник
|
Из очевидного: в BomCalcJob галки пармятся и есть в CurrentList?
|
|
13.11.2022, 19:06 | #3 |
Участник
|
Вопрос в том, как именно Вы добавили этот самый checkBox.Точнее, что является источником данных для этого объекта и как (по какому событию) Вы организовали запись значения из формы в переменные класса (ту переменную, которая в списке переменных метод pack())
Посмотрите другие объекты формы BomCalDialog - там у всех объектов источник данных - это edit-методы, которые напрямую читают/пишут значение в переменные памяти класса-родителя. Это свойство DataMethod у объекта. Там прописано имя метода формы BomCalDialog Теоретически, также должно сработать и присвоение значение переменных памяти в методе getFromDialog() как штатное событие для любых наследников от RunBase. Но конкретно у классов-наследников от BOMCalcJob этот метод не используется. А у Вас в какой момент происходит запись текущего значения галки на форме в переменную класса? Похоже, что после того, как будет создано пакетное задание Да, надеюсь, при добавлении переменных в список CurrentList Вы также увеличили значение CurrentVersion? Ну, или почистили SysLastValue от кеша предыдущих запусков (без новых переменных)
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
13.11.2022, 19:50 | #4 |
Участник
|
Да, конечно. Они пармятся и есть в CurrentList. Калькуляция отрабатывает как надо
|
|
13.11.2022, 19:58 | #5 |
Участник
|
CheckBox отрабатывают по edit методу. В классе указано две булевских переменных, которые передаются дальше BocCalcJob и т.д. Пробовал сохранять значения в safeLast(), но это не помогло. Попробую через getFromDialog дополнительно сохранять значения.
CurrentList уже 16 стоит) SysLastValue чистил. |
|
14.11.2022, 08:46 | #6 |
Участник
|
А в каком режиме запускается расчет?
Имею ввиду из одной номенклатуры или из общего списка расчетов? Если из общего списка, то попробуйте запустить из одной номенклатуры в пакете. Если там отработает нормально, то проблема не в сохранении параметров а в особенностях работы расчета из общего списка в пакете - там есть отличия от обычного запуска. Хотя вроде новый параметр не должен приводить к каким-то проблемам там (там тоже обычный pack/unpack для конкретной задачи), но кто его знает. |
|
14.11.2022, 10:04 | #7 |
Участник
|
Отчет запускается из общего списка. УЗ/версия цены/цены номенклатуры. Я попробовал вызывать метод safeLast по методу closeOk. Первый раз отрабатывает как надо. Но потом этот же метод вызывается в prompt со старыми значениями.
|
|