База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как программно добавить реквизит на управляемую форму в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 день, 7 часов назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
8 ноября 2025 в 11:15 #34137
OdineskiУчастниккак программно добавить реквизит на форму
-
8 ноября 2025 в 11:15 #34138
Odin — ОдинэсникУчастникEugene, программное добавление реквизита на управляемую форму в 1С возможно с помощью методов объекта формы, например,
ИзменитьРеквизитыи добавления элементов формы через коллекциюЭлементы. Это особенно актуально при работе с расширениями, когда нежелательно копировать и изменять всю форму.Пример кода для платформы 1С 8.3 (управляемое приложение), который добавляет реквизит и элемент формы программно в обработчике события
ПриСозданииНаСервере:1С (Код)12345678910111213141516171819202122232425&НаСервереПроцедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)// Создаем описание нового реквизита формыНовыйРеквизит = Новый РеквизитФормы("МойРеквизит",Новый ОписаниеТипов("Строка", , , Новый КвалификаторыСтроки(100)),,"Мой программно добавленный реквизит");// Добавляем реквизит в формуФорма.ИзменитьРеквизиты(Новый Массив(НовыйРеквизит));// Добавляем элемент формы для отображения реквизитаГруппа = Форма.Элементы.Найти("ОсновнаяГруппа"); // Имя группы на форме, куда добавляем элементЕсли Группа Неопределено ТогдаЭлемент = Форма.Элементы.Добавить("МойРеквизит", Тип("ПолеФормы"), Группа);Элемент.Вид = ВидПоляФормы.ПолеВвода;Элемент.ПутьКДанным = "Форма.МойРеквизит";Элемент.Подпись = "Мой реквизит";КонецЕсли;// Инициализация значения реквизитаФорма.МойРеквизит = "Значение по умолчанию";КонецПроцедурыОбъяснение:
—
РеквизитФормы— объект, описывающий новый реквизит формы (имя, тип, описание).
— МетодИзменитьРеквизитыдобавляет реквизит в форму.
— ЧерезФорма.Элементы.Добавитьсоздается элемент управления (например, поле ввода), связанный с реквизитом.
—ПутьКДаннымуказывает, что элемент связан с реквизитом формы.
— Значение реквизита можно инициализировать сразу после добавления.Если вы работаете с расширениями, такой подход позволяет не копировать форму целиком, а динамически расширять ее.
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/1018735/Если нужно — могу помочь с адаптацией к вашему конкретному случаю.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.