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

Содержание:

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


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


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


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


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


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


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


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


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

&НаСервере

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

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

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

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

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

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

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

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

                   

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

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

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

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

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

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

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

         

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

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

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

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

         

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

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

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

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


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

Олег Штода

Наши проекты

АО «РЭП Холдинг»
АО «РЭП Холдинг»

Отрасль:
Энергомашиностроительный холдинг

Внедренное типовое решение:
«1С: Управление производственным предприятием» и «1С:Консолидация ПРОФ»

- Функциональный блок «Консолидированная отчетность РСБУ» - разработка час...

ООО «ЛИГА-ТРАНС»
ООО «ЛИГА-ТРАНС»

Отрасль:
Профессиональные услуги, бытовое обслуживание

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

- Сделано ТЗ по автоматизации учета МСФО: - Разработана карта бюджета доходо...

Автоматизация кадрового учета на базе «1С:ERP Управление предприятием 2.0»
Автопредприятие ПАО «Газпром»

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

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

- Настройка подсистемы кадрового учета;
- Перенос персональных данных;
- З...

ООО "АСК ИНЖИНИРИНГ"
ООО "АСК ИНЖИНИРИНГ"

Отрасль:
Машиностроение, приборостроение

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

Делопроизводство
Учет и хранение документов
Ведение номенклатуры дел
...

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

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

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

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

ООО "ОМЗ"
ООО "ОМЗ"

Отрасль:
Металлургическая промышленность, металлообработка

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

Автоматизация бизнес-процессов...

АО "Нижегородский водоканал"
АО "Нижегородский водоканал"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

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

ООО «Мир Аксиомы»
ООО «Мир Аксиомы»

Отрасль:
Аудиторские и консалтинговые услуги

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

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные ...

МИР ХОББИ
МИР ХОББИ

Отрасль:
Торговля. Интернет магазин

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

Оформление заказов поставщикам
Взаиморасчеты с покупателями
Оформление...

Внедрение блока расчета себестоимости РАУЗ в 1С:УПП 8
ООО «Пелигрин Матен»

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

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

– Оформление заказов покупателей;
– Взаиморасчеты с покупателями;
– О...

ООО "РУКАРД-АУРА"
ООО "РУКАРД-АУРА"

Отрасль:
Профессиональные услуги

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

- Налоговый учет;...

СТС-Медиа
СТС-Медиа

Отрасль:
Медиаиндустрия

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

- Бухгалтерский учет;
- Налоговый учет;
- МСФО (GAAP/управленческий учет);
- ...

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

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

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

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