Показать сообщение отдельно
Старый 27.12.2011, 08:44   #16  
alexkrut is offline
alexkrut
Участник
 
20 / 33 (2) +++
Регистрация: 19.12.2011
По просьбам трудящихся
Про задачу.

На работе автоматизируем один из отделов предприятия. Отдел занимается документами. Документы эти на 70-80 процентов похожи. Формы уже есть. Создавались в AOT. В формах соответственно 70-80 процентов повторяющегося кода. Если кто-то вдруг не понимает зачем нужно избавляться от повторения кода - книжка по рефакторингу вам в помощь.

Про ответы.

Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Понятно, что ситуации бывают разные. Однако очевидно, что в Axapta форма - это не класс. Следовательно субклассирование невозможно, а все "обходные маневры" - это уже крайний случай, когда по другому не обойтись.
А никто и не предлагал считать форму классом. Нужен класс, который рисует форму. И наследование уже от него, а не от созданной им формы.

Цитата:
Сообщение от lev Посмотреть сообщение
2. Все методы датасорса формы, можно перекрыть на самой таблице (например, write, update, insert, delete, validateWrite, validateDelete, изменения по полям можно отлавливать в методе modifiedField()). И уже на таблице выполнять какие либо бизнес требования. Если эти требования специфичны для Вашей форме, добавьте параметр на входе.
Далеко не все. Нам нужен полноценный датасорс, у которого перекрыты нужные нам методы.

Цитата:
Сообщение от gl00mie Посмотреть сообщение
Используйте одну форму и семейство классов для управления ею, посмотрите, как работают формы шапок журналов, посмотрите, как работает форма итогов по закупкам в 2009-й (там датасорс в дизайне формы - по таблице Common).
Спасибо, ваши ответы пока самые вменяемые здесь!
За это сообщение автора поблагодарили: blokva (-2).