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