Показать сообщение отдельно
Старый 12.12.2016, 21:12   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,656 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Всегда ли надо прописывать список переменных в pack?
На днях "сцепились рогами" по сугубо практическому вопросу о том, следует ли всегда прописывать список переменных в pack, даже если этого не требуется с точки зрения работы класса.

Постановка задачи выглядит следующим образом

Есть класс - наследник от RunBase со свойством RunOn = Server. Пользователь должен ввести текстовое значение, которое далее будет использовано для обработки. Кешировать это значение не надо. При каждом новом вызове класса текст надо вводить заново. Пакетная обработка не предполагается ни сейчас, ни в будущем.

Работоспособность такого класса можно обеспечить двумя способами.

Вариант 1
  • Поставить "заглушку" в pack/unpack в виде return conNull()/false. Т.е. чтобы эти методы ничего не возвращали
  • В методе dialog указать вторым параметром true при вызове super

dialog = super(_dialog, true)

Вариант 2
  • Корректно прописать в pack переменную, в которую выгружается значение текстового поля, соответственно прописать unpack
  • Второй параметр в диалоге при вызове super() оставить в значении по умолчанию
  • При создании поля ввода в диалоге либо использовать diaog.addField() без явного указания Value, либо, если использован dialog.addFieldValue() предварительно чистить данные полученные из кеша по this.getLast()

Какой вариант более правильный? Почему?

PS: в данном конкретном случае спор шел в рамках Ax4.0, но, думаю, конкретная версия - не принципиальна
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: Maxim Gorbunov (2), dn (1).