06.02.2026 Олег Штода 16
Программное создание элементов на форме документа

Содержание:

1.    Динамическое программное создание элементов и реквизитов форм в управляемых приложениях 1С


В управляемом приложении, так же, как и в обычном, предусмотрена возможность программного создания элементов формы. Однако между ними есть существенные различия. В обычных формах программное добавление ограничивается только элементами формы, тогда как в управляемых формах можно создавать не только элементы, но и реквизиты формы. Как правило, элементы и реквизиты задаются статически в конфигураторе, но в ряде случаев требуется их динамическое программное создание. Для решения этой задачи в языке программирования предусмотрены специальные методы и свойства, которые позволяют гибко управлять интерфейсом.


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


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


Изменения элементов формы выполняются на сервере, что дает возможность использовать как предопределённые обработчики событий (например, &ПриСозданииНаСервере), так и любые другие методы с директивой &НаСервере.


Для выполнения различных действий с формой — таких как добавление, перемещение, удаление и поиск элементов — используется коллекция "Элементы" с типом "ВсеЭлементыФормы". Поскольку каждый элемент формы должен быть связан с соответствующим реквизитом, возможно либо привязать новый элемент формы к уже существующему реквизиту, либо создать необходимый реквизит программно. Такая связь обеспечивает корректное отображение и обработку данных в интерфейсе.  


Таким образом, использование программных методов создания и управления элементами и реквизитами в управляемых формах является мощным инструментом для гибкой настройки и модернизации приложения с минимальными усилиями для поддержки и обновления.


2.    Пример программного создания реквизитов и элементов формы документа в 1С


Ниже приведен пример кода, демонстрирующий создание реквизитов и элементов формы документа

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

// добавленине реквизитов     

          МоиРеквизиты = Новый Массив;

    ТипСтрока = Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки());

    МоиРеквизиты.Добавить(Новый РеквизитФормы("РеквизитПрограммноСтрока", ТипСтрока, "", "Реквизит строка", Ложь));

          ТипДата = Новый ОписаниеТипов("Дата", , Новый КвалификаторыДаты());

    МоиРеквизиты.Добавить(Новый РеквизитФормы("РеквизитПрограммноДата", ТипДата, "", "Реквизит дата", Ложь));  

          ИзменитьРеквизиты(МоиРеквизиты);      

                   

          //Создадим группу

          // третий параметр зависит от места на форме в которое непобходимо добавить группу

          ГруппаСтрокаДата = Элементы.Добавить("ГруппаСтрокаДата", Тип("ГруппаФормы"),Элементы.ГруппаШапкаПравая);

          ГруппаСтрокаДата.Вид = ВидГруппыФормы.ОбычнаяГруппа;

          ГруппаСтрокаДата.Отображение = ОтображениеОбычнойГруппы.Нет;

          ГруппаСтрокаДата.ОтображатьЗаголовок = Ложь;

          ГруппаСтрокаДата.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяЕслиВозможно;

         

          // добавленине элементов ПолеФормы

          ПолеСтрока = Элементы.Добавить("ПолеСтрока", Тип("ПолеФормы"), Элементы.ГруппаСтрокаДата);

    ПолеСтрока.Вид = ВидПоляФормы.ПолеВвода;

    ПолеСтрока.ПутьКДанным = "РеквизитПрограммноСтрока";

         

          ПолеДата = Элементы.Добавить("ПолеДата", Тип("ПолеФормы"), Элементы.ГруппаСтрокаДата);

    ПолеДата.Вид = ВидПоляФормы.ПолеВвода;

    ПолеДата.ПутьКДанным = "РеквизитПрограммноДата";

КонецПроцедуры


Специалист компании ООО "Кодерлайн"

Олег Штода

Наши проекты

Компания IBS
Компания IBS

Отрасль:
Системный интегратор

Внедренное типовое решение:
1С:Управление производственным предприятием

- Интеграция систем – АСУП и «1С:Управление производственным предприятием»...

ООО "Смена"
ООО "Смена"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Комплексная автоматизация

Банк и касса
Расчеты с контрагентами
Торговые операции
Взаиморасчеты с...

ООО "ЛИКАРД" (Лукойл)
ООО "ЛИКАРД" (Лукойл)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Делопроизводство
• Учет и контроль исполнения поручений
Учет и хранение...

Группа компаний АО «Киномакс»
Группа компаний АО «Киномакс»

Отрасль:
Культура, шоу-бизнес

Внедренное типовое решение:
БИТ.Финанс

- Разработка Положения о Казначействе группы компаний
- Разработка Положе...

Внедрение ПП «1С:Предприятие 8. Аренда и управление недвижимостью на базе "1С:Бухгалтерия 8"» в компании «Бутово Молл»
ООО «Бутово Молл»

Отрасль:
Недвижимость

Внедренное типовое решение:
1С:Аренда и управление недвижимостью на базе «1С:Бухгалтерия 8»

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Оформление зак...

Автоматизация производственного планирования нефтесервисной компании на базе 1С:ЕРП 2.0
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Блок планирования проектов (процессы объемно-календарного планирования пр...

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

Внедренное типовое решение:
1С:Управление торговлей

Оформление заказов поставщикам Оформление заказов покупателей Управление ...

АО «Аэроклуб»
АО «Аэроклуб»

Отрасль:
Услуги в области делового туризма

Внедренное типовое решение:
1С:Бухгалтерия 8 КОРП

Проведение серии интервью с руководством и ключевыми специалистами Разраб...

Внедрение ПП "1С:CRM ПРОФ" в ООО «Торговый Дом Факел»
ООО «Торговый Дом Факел»

Отрасль:
Производство

Внедренное типовое решение:
1С:CRM ПРОФ

- Управление отношениями с клиентами (CRM) ...

ООО “РТИТС”
ООО “РТИТС”

Отрасль:
Транспортные системы

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Блок регламентированного кадрового учета и расчета заработной платы в 1С:ERP;...

Фирма 1С
Фирма 1С

Отрасль:

Внедренное типовое решение:
1С:Документооборот

- Подготовка функциональной модели прикладного решения «1С:Документооборот...

Установка программного продукта БИТ.Финанс для 1С:Бухгалтерия 8
ООО «Джи Эй Си Шиппинг энд Лоджистикс»

Отрасль:
Транспорт

Внедренное типовое решение:
БИТ.Финанс

Построение единого информационного пространства финансовой службы;
Учет ...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение