Новый урок: программно создаём реквизиты, команды, элементы формы в… — НиколAI 1С: от джуна до мидла — TG.ME

НиколAI 1С: от джуна до мидла📚 Напоминаю: в эту субботу встречаемся в 13:00 по Москве. Будет два практических занятия: 🧩 1. Программное изменение форм в 1С ⚙️ 2. Динамическое изменение алгоритмов через Выполнить() Начинаем в субботу в 13:00 по Москве. Между двумя частями сделаем перерыв…
🎥 Новый урок: программно создаём реквизиты, команды, элементы формы в 🧑‍💻
В этом уроке форма перестаёт быть чем-то, что можно собирать только мышкой в конфигураторе.
Мы прямо из кода добавим:
➖новый реквизит формы
➖поле, связанное с этим реквизитом
➖команду формы
➖кнопку, которая запускает клиентский обработчик


Весь код пишем всегда в этом обработчике формы ПриСозданииНаСервере :

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

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


Например, программно создадим реквизит формы Комментарий:

ДобавляемыеРеквизиты = Новый Массив;

ДобавляемыеРеквизиты.Добавить(
Новый РеквизитФормы(
"Комментарий",
Новый ОписаниеТипов("Строка")));

ИзменитьРеквизиты(ДобавляемыеРеквизиты);

Здесь важно: в РеквизитФормы передаётся не просто тип, а именно ОписаниеТипов.
А сами реквизиты сначала складываются в массив, который затем передаётся в метод формы ИзменитьРеквизиты()

Теперь создадим ЭЛЕМЕНТ и свяжем с реквизитом:
ПолеКомментарий = Элементы.Добавить(
"ПолеКомментарий",
Тип("ПолеФормы"));

ПолеКомментарий.ПутьКДанным = "Комментарий";
ПолеКомментарий.Вид = ВидПоляФормы.ПолеВвода;

Элементы можно создавать через Элементы.Добавить() или Элементы.Вставить().
Но создать поле недостаточно, его обязательно нужно связать с реквизитом через свойство ПутьКДанным.

Добавим команду и кнопку:
НоваяКоманда = Команды.Добавить("ПоказатьКомментарий");
НоваяКоманда.Заголовок = "Показать комментарий";
НоваяКоманда.Действие = "ПоказатьКомментарий";

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

Кнопка.ИмяКоманды = "ПоказатьКомментарий";


И создадим клиентский обработчик команды:
&НаКлиенте
Процедура ПоказатьКомментарий(Команда)

Сообщить(ЭтотОбъект.Комментарий);

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

Обработчик обязательно создаём на клиенте, не забываем параметр Команда, а к программно добавленному реквизиту обращаемся через:
ЭтотОбъект.Комментарий

а не просто через Комментарий.

🥇 В результате прямо во время создания формы мы получаем новый реквизит, поле для его редактирования, команду, кнопку и полностью рабочий обработчик - всё программно и без ручного добавления элементов в редакторе формы.

⚠️Помним, реквизит объекта создавать программно нельзя⚠️

📺 Видео на ВК
📺 Видео на Рутуб
📺 Видео на Ютуб

🎯База с урока в комментариях

🔗 Запись на курс БЦО 1С
🔗 Тренажер 1С
VK Видео
Программное создание элементов, реквизитов и команд формы в 1С
В этом уроке подробно разбираем программную работу с управляемой формой в 1С. Вы узнаете, как с помощью кода создавать элементы формы, добавлять новые реквизиты формы и формировать команды. Отдельно рассматриваем, какие типы элементов формы существуют, чем…
👍22❤7⚡5❤‍🔥4🤝2
August 29, 2026 846 1 18