08.04.2013, 12:58 | #1 |
Участник
|
Баг SysInfoAction_MenuItemRun_RU
Сегодня нашел баг в классе SysInfoAction_MenuItemRun_RU. Воспроизводится в версиях 3, 4 2009. За 2012 сказать не могу. Смысл в следующем:
Хочется сделать так, чтобы по двойному клику в инфологе пользователь переходил к конкретной записи в нужной форме. Класс, как я понимаю, для этого и задумывался. Но в нем не пакуется args. Соответственно работает только запуск нужного MenuItem, а все параметры, переданные в args - теряются. Лечится добавлением параметров для сериализации данных из args в методы pack и unpack класса SysInfoAction_MenuItemRun_RU. Например: X++: public container pack() { return [#CurrentVersion,#CurrentList, args.lookupField(), args.lookupValue(), args.record(), super()]; } public boolean unpack(container _packedClass, Object _object = null) { Integer version = RunBase::getVersion(_packedClass); Container con; FieldId loockupField; str lookupValue; Common common; ; switch (version) { case #CurrentVersion: [version, #CurrentList, loockupField, lookupValue, common, con] = _packedClass; args.lookupField(loockupField); args.lookupValue(lookupValue); args.record(common); super(con, _object); break; default: return false; } return true; } |
|
|
За это сообщение автора поблагодарили: Logger (5), IvanS (1), alex55 (3), S.Kuskov (2). |