Джокер
Администратор
- Регистрация
- 1 Янв 2015
- Сообщения
- 133.548
- Реакции
- 76.323
Генерация кода для программного создания формы из XML-файла формы [Инфостарт]
Иногда при доработках без снятия с поддержки требуется создавать программно достаточно сложные формы. Данная обработка позволяет по форме, созданной в конфигураторе, получить код для ее динамического (программного) формирования.
Иногда при доработках без снятия с поддержки требуется создавать программно достаточно сложную форму (или ее часть). Программное создание вручную напрямую ("НовыйЭлемент = Форма.Элементы.Добавить(...)") достаточно трудоемко, но реализованы несколько решений, сильно упрощающих программное формирование (например, ОбщийМодуль ДинамическоеФормированиеИнтерфейса от Дмитрия Котова).
Тем не менее, описывать программно сложные формы даже с применением таких инструментов достаточно долго и нудно. Как один из вариантов решения, предлагается данная обработка.
Для подготовки дополнительной части интерфейса (формы) можно "нарисовать" форму в конфигураторе, а код для ее построения сформировать предлагаемой обработкой.
Для генерации текста программы формирования необходимо сделать три шага:
1.Выгрузить в файлы эту форму стандартным способом (можно выгрузить существующую нужную форму в составе обработки, отчета, даже конфигурации);
2.Указать путь к xml-файлу формы;
3.Нажать кнопку "Генерация".
В результате в окне текстового документа получим исходный текст для программного формирования данной формы. В нем будут сформированы три основных функции: ГенерацияРеквизитовФормы, ГенерацияЭлементовФормы и ГенерацияКомандФормы; и необходимое количество пустых шаблонных процедур - действий команд формы и событий элементов формы. Копируем код из этого окна в свой модуль (либо в ПриСозданииНаСервере(), либо вызываем в каких-то событиях), и работаем.
Код строится для генерации трех составляющих формы: реквизитов формы, элементов формы (с событиями элементов), и команд формы. Не реализованы генерация кода для условного оформления, и для командной панели.
Для работы сформированного кода необходимо наличие (в конфигурации или расширении) общего модуля ДинамическоеФормированиеИнтерфейса (гитхаб) с именем ДФИ.
Некоторые ограничения (например, отсутствие формирования кода для ТабличногоДокумента) обусловлены отсутствием такого функционала в модуле ДФИ. Картинки ограничены стандартной библиотекой, загруженные из файла не загружаются.
Для использования в доработках, где возможно дублирование реквизитов формы (смешение наименований существующих реквизитов, и добавляемых реквизитов) можно указать префикс для добавления к именам реквизитов.
СКАЧАТЬ СЛИВЫ КУРСОВ
Иногда при доработках без снятия с поддержки требуется создавать программно достаточно сложные формы. Данная обработка позволяет по форме, созданной в конфигураторе, получить код для ее динамического (программного) формирования.
Иногда при доработках без снятия с поддержки требуется создавать программно достаточно сложную форму (или ее часть). Программное создание вручную напрямую ("НовыйЭлемент = Форма.Элементы.Добавить(...)") достаточно трудоемко, но реализованы несколько решений, сильно упрощающих программное формирование (например, ОбщийМодуль ДинамическоеФормированиеИнтерфейса от Дмитрия Котова).
Тем не менее, описывать программно сложные формы даже с применением таких инструментов достаточно долго и нудно. Как один из вариантов решения, предлагается данная обработка.
Для подготовки дополнительной части интерфейса (формы) можно "нарисовать" форму в конфигураторе, а код для ее построения сформировать предлагаемой обработкой.
Для генерации текста программы формирования необходимо сделать три шага:
1.Выгрузить в файлы эту форму стандартным способом (можно выгрузить существующую нужную форму в составе обработки, отчета, даже конфигурации);
2.Указать путь к xml-файлу формы;
3.Нажать кнопку "Генерация".
В результате в окне текстового документа получим исходный текст для программного формирования данной формы. В нем будут сформированы три основных функции: ГенерацияРеквизитовФормы, ГенерацияЭлементовФормы и ГенерацияКомандФормы; и необходимое количество пустых шаблонных процедур - действий команд формы и событий элементов формы. Копируем код из этого окна в свой модуль (либо в ПриСозданииНаСервере(), либо вызываем в каких-то событиях), и работаем.
Код строится для генерации трех составляющих формы: реквизитов формы, элементов формы (с событиями элементов), и команд формы. Не реализованы генерация кода для условного оформления, и для командной панели.
Для работы сформированного кода необходимо наличие (в конфигурации или расширении) общего модуля ДинамическоеФормированиеИнтерфейса (гитхаб) с именем ДФИ.
Некоторые ограничения (например, отсутствие формирования кода для ТабличногоДокумента) обусловлены отсутствием такого функционала в модуле ДФИ. Картинки ограничены стандартной библиотекой, загруженные из файла не загружаются.
Для использования в доработках, где возможно дублирование реквизитов формы (смешение наименований существующих реквизитов, и добавляемых реквизитов) можно указать префикс для добавления к именам реквизитов.
СКАЧАТЬ СЛИВЫ КУРСОВ
Для возможности скачивать складчины и сливы курсов нужно зарегистрироваться
Возможно, Вас ещё заинтересует:
- [Вязание] Вязаный спицами базовый повседневный свитер Suzie [Вяжи.ру] [Susanne Müller]
- [Вязание] Вязаный спицами шарф-капюшон Islet [Вяжи.ру] [Jenny Williams]
- Инновационный интеллект. Как находить идеи прорывных продуктов и стратегий с Innovation Intelligence+ [Алексей Кузьмин]
- [Вязание] Вязаный спицами кардиган в резинку с большими косами Largo cardi [Вяжи.ру] [aegyoknit]
- Ботаника антрополога. Как растения создали человека. Цветочки-ягодки [Станислав Дробышевский]
- Рецепты для аэрогриля [Георгий Латария] + Проснись и худей [Павел Кантур]
- Аутичное выгорание. Системный гайд по восстановлению [Yana Dzhumka]
- Sense me club [март] [Sense me dance]
- Практикум по статистическому анализу данных. Теория вероятностей [Ирина Гурьянова, Варвара Газарян]
- Ось мира. Ловушки дьявола [Раэль Гросс]