Открыто

Генерация кода для программного создания формы из XML-файла формы [Инфостарт]

Тема в разделе "Бухгалтерия и финансы", создана пользователем egor1979, 29 дек 2025.

Цена: 1850р.-87%
Взнос: 227р.

Основной список: 12 участников

  1. 29 дек 2025
    #1
    egor1979
    egor1979 ЧКЧлен клуба

    Складчина: Генерация кода для программного создания формы из XML-файла формы [Инфостарт]

    Без имени.png

    Иногда при доработках без снятия с поддержки требуется создавать программно достаточно сложные формы. Данная обработка позволяет по форме, созданной в конфигураторе, получить код для ее динамического (программного) формирования.

    Внимание!
    Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

    Иногда при доработках без снятия с поддержки требуется создавать программно достаточно сложную форму (или ее часть). Программное создание вручную напрямую ("НовыйЭлемент = Форма.Элементы.Добавить(...)") достаточно трудоемко, но реализованы несколько решений, сильно упрощающих программное формирование (например, ОбщийМодуль ДинамическоеФормированиеИнтерфейса от Дмитрия Котова).

    Тем не менее, описывать программно сложные формы даже с применением таких инструментов достаточно долго и нудно. Как один из вариантов решения, предлагается данная обработка.

    Для подготовки дополнительной части интерфейса (формы) можно "нарисовать" форму в конфигураторе, а код для ее построения сформировать предлагаемой обработкой.

    Для генерации текста программы формирования необходимо сделать три шага:

    1.Выгрузить в файлы эту форму стандартным способом (можно выгрузить существующую нужную форму в составе обработки, отчета, даже конфигурации);

    2.Указать путь к xml-файлу формы;

    3.Нажать кнопку "Генерация".

    В результате в окне текстового документа получим исходный текст для программного формирования данной формы. В нем будут сформированы три основных функции: ГенерацияРеквизитовФормы, ГенерацияЭлементовФормы и ГенерацияКомандФормы; и необходимое количество пустых шаблонных процедур - действий команд формы и событий элементов формы. Копируем код из этого окна в свой модуль (либо в ПриСозданииНаСервере(), либо вызываем в каких-то событиях), и работаем.

    Код строится для генерации трех составляющих формы: реквизитов формы, элементов формы (с событиями элементов), и команд формы. Не реализованы генерация кода для условного оформления, и для командной панели.

    Для работы сформированного кода необходимо наличие (в конфигурации или расширении) общего модуля ДинамическоеФормированиеИнтерфейса (гитхаб) с именем ДФИ.

    Некоторые ограничения (например, отсутствие формирования кода для ТабличногоДокумента) обусловлены отсутствием такого функционала в модуле ДФИ. Картинки ограничены стандартной библиотекой, загруженные из файла не загружаются.

    Для использования в доработках, где возможно дублирование реквизитов формы (смешение наименований существующих реквизитов, и добавляемых реквизитов) можно указать префикс для добавления к именам реквизитов.

    Тестировалось на КомплекснойАвтоматизации 2.4, но функционал конфигурации и БСП не используется, поэтому теоретически работать должно в любой конфигурации.

    Обработка обновлена - с помощью советов starik-2005 добавлено извлечение имен прикрепленных к событиям процедур. Добавлено программное формирование УсловногоОформления.

    Проверено на следующих конфигурациях и релизах: 1С:Комплексная автоматизация 2, релизы 2.4.14.181

    Цена 1850 руб.
    Скрытая ссылка
     
    Последнее редактирование модератором: 30 дек 2025
    1 человеку нравится это.
  2. Последние события

    1. Рыбак
      Рыбак участвует.
      9 янв 2026
    2. billy_72
      billy_72 участвует.
      9 янв 2026
    3. bocrkz
      bocrkz участвует.
      9 янв 2026
    4. skladchik.com
      В складчине участвует 10 человек(а).
      9 янв 2026

    Последние важные события

    1. skladchik.com
      egor1979 организатор.
      29 дек 2025