Про задачу.
На работе автоматизируем один из отделов предприятия. Отдел занимается документами. Документы эти на 70-80 процентов похожи. Формы уже есть. Создавались в AOT. В формах соответственно 70-80 процентов повторяющегося кода. Если кто-то вдруг не понимает зачем нужно избавляться от повторения кода - книжка по рефакторингу вам в помощь.
Про ответы.
Цитата:
Сообщение от
Владимир Максимов
Понятно, что ситуации бывают разные. Однако очевидно, что в Axapta форма - это не класс. Следовательно субклассирование невозможно, а все "обходные маневры" - это уже крайний случай, когда по другому не обойтись.
А никто и не предлагал считать форму классом. Нужен класс, который рисует форму. И наследование уже от него, а не от созданной им формы.
Цитата:
Сообщение от
lev
2. Все методы датасорса формы, можно перекрыть на самой таблице (например, write, update, insert, delete, validateWrite, validateDelete, изменения по полям можно отлавливать в методе modifiedField()). И уже на таблице выполнять какие либо бизнес требования. Если эти требования специфичны для Вашей форме, добавьте параметр на входе.
Далеко не все. Нам нужен полноценный датасорс, у которого перекрыты нужные нам методы.
Цитата:
Сообщение от
gl00mie
Используйте одну форму и семейство классов для управления ею, посмотрите, как работают формы шапок журналов, посмотрите, как работает форма итогов по закупкам в 2009-й (там датасорс в дизайне формы - по таблице Common).
Спасибо, ваши ответы пока самые вменяемые здесь!