Конструктор управляемых форм
Обработка для программного изменения форм с редактором элементов.
- Описание
- Подробнее
Описание
Введение
Данная разработка является наследником публикации Евгении Карук Декомпиляция управляемых форм и моих дополнений в Декомпилятор управляемых форм.
Здесь я добавил возможность добавления элементов и редактирования их свойств, как это делается в конфигураторе. Изменения пришлось делать настолько объемные, что я выделил обработку в отдельную публикацию.
Цель разработки
- Быстрое и автоматическое создание кода программного добавления элементов форм. А также, реквизитов, команд и элементов условного оформления.
- Редактирование свойств элементов и реквизитов через палитру свойств как в конфигураторе.
Порядок работы
1. Выбрать нужную форму в дереве метаданных слева*
Нужно учесть, что некоторые формы не предназначены для непосредственного открытия и будут выдавать ошибку при попытке получить форму. После дополнения конфигурации такую форму нужно открыть самостоятельно.

2. Справа выбираем закладку Элементы, Реквизиты, Команды или Условное оформление
3. Указываем нужный элемент и код сразу отобразится в центре
4. Если нужно сразу несколько элементов, выделяем их пометками и нажимаем Сформировать код.
* Сразу откроется форма для добавления необходимого кода в ПриСозданииНаСервере модуля формы:
Требуемая модификация конфигурации
Вариантов теперь несколько:
Автоматическое создание расширения:
Генерируется расширение, производится запуск дополнительного сеанса с этим расширением.
Такое решение принято в связи с тем, что перезапускать Предприятие когда открыто несколько форм очень неохота. Проще когда запустится дополнительный сеанс с Конструктором, в нем уже будут изменения из расширения.
Для программного создания нового расширения нужны идентификаторы метаданных формы. Их можно добыть из выгрузки конфигурации в файлы XML или нажать в конфигураторе на форме Ctrl-C. Обработка расшифрует содержимое и извлечет метаданные. Антивирус может ругаться на компоненту DynWrapX 2.2, но вирусов там нет, можно добавлять в исключения.

