- Все просто и наглядно. Но снимаем с поддержки - получаем проблемы при обновлении
- Не снимаем с поддержки. Все просто и наглядно. Но тянем с собой часть конфы и получаем отложенные проблемы при обновлении.
- Не снимаем с поддержки и не тянем часть конфы. Но страницы кода на каждый элемент и "за деревьями леса не видно"
- Меньше лишнего кода - но функция с десятком параметров - не очевидно, что где надо заполнять
Предлагается еще способ - макет с описанием, что надо сделать - просто, наглядно, расширяемо.
Основная идея
При открытии формы система ищет подходящий к нему макет по шаблону в макетах объекта
<Типмакета><ИмяФормы>:
На данный момент рассматривается 3 типа макета
- РеквизитыФормы
- ЭлементыФормы
- СобытияФормы
Если макет есть - читает данные макета и по ним в форме:
- Добавляет или изменяет реквизиты
- Добавляет или изменяет элементы формы или их свойства
- Добавляет или переопределяет события формы
Из дополнительных возможностей - у пользователя можно установить допреквизит - и производить отладку создания формы (будет выделено цветом добавленные)
Используются после вызовы типовых функций -поэтому будет работать практически с любой формой конфигурации без внедрений в каждую форму
Планы на развитие
- Перенести (опционально) макеты из расширения
- в дополнительные отчеты и обработки - тогда можно без перезахода менять формы
- в допреквизиты организации, пользователя, групп пользователей - тогда можно кастомизировать доступ к допвозможностям форм
- Добавить возможность управления допреквизитами на форме как и с основными элементами
- Расширить возможность кастомизации обработки событий формы.
- Сделать "редактор" макета - чтобы выбирать опции, элементы, а не копипастить тексты.
Данное расширение работает на конфигурациях с управляемыми формами.
Тестировалось на платформах 8.3.17 и 8.3.22
Внедрено у нас на:
ERP 2.4
ЗУП 3.1
И в процессе развития Документооборот 3.0
PS.
Сделана подписка на события при создании формы, при чтении и тп. Чтобы не добавлять в каждый объект.
Но есть проблема - в типовых конфигурациях не все объекты вызывают общие модули при создании. Вот такая "унификация"
Поэтому если не работает - надо смотреть конфу, какая есть общая точка входа. И, конечно, будет обновляться расширение по мере подключения новых конфигураций.
При работе с данным расширением для режима совместимости не меняйте имена колонок. В дальнейшем, вероятно, будет их перегруппировка в связи с расширением возможностей
Принимаю идеи по развитию функционала.