1C добавление команд

Автор: | 10.01.2022

1С 8.3 Как добавить команду на форму программно

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

Программное добавление команд

Для примера я создам простой документ «Поступление» в котором будет только два стандартных реквизита это «Номер» и «Дата» а также три стандартные команды «Провести и закрыть», «Записать» и «Провести». В качестве примера давайте добавим еще одну команду на форму программно, которая например, будет выводить нам какое то сообщение.

1C добавление команды

Для этого в конфигураторе создаем обработчик события «При создании на сервере». Если кто не знает как его создать то для этого выделяем всю форму одинарным кликом, после чего в открывшемся меню справа ищем раздел «События» и напротив «При создании на сервере» нажимаем на значок лупы.

1С 8.3 Как добавить команду на форму программно

Далее пишем следующий код.


&НаКлиенте
Процедура КомандаПоказатьСообщение(Команда)
	
	ПоказатьПредупреждение(, "Команда добавленна программно на форму");
	
	
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	
	Команда = Команды.Добавить(
		"ПоказатьСообщение"); //Имя команды
	Команда.Заголовок = "Показать сообщение";
	Команда.Действие  = "КомандаПоказатьСообщение"; //Имя связанной процедуры
	 	
	//Добавление кнопки формы
	КнопкаФормы = Элементы.Добавить(
		"КнопкаПоказатьПредупреждение", //Имя кнопки
		Тип("КнопкаФормы"),             //Тип, всегда КнопкаФормы
		ЭтаФорма);                      //Контейнер для кнопки 
		
	КнопкаФормы.ИмяКоманды = "ПоказатьСообщение"; //Связь с командой по имени
	
	КнопкаФормы.Вид = ВидКнопкиФормы.ОбычнаяКнопка; 
КонецПроцедуры

Обязательно пишите комментарии к своему коду.

Как добавить команду на форму программно

Сохраняем и проверяем что получилось, в результате Вы должны увидеть кнопку «Показать сообщение», после нажатия на которую должно отобразиться само сообщение.

1С Как добавить команду программно

Можно изменить внешний вид кнопки сделать её например ссылкой для этого в коде в процедуре на сервере меняем «ОбычнаяКнопка» на «Гиперссылка».

КнопкаФормы.Вид = ВидКнопкиФормы.Гиперссылка; // Вот тут
Как создать команду  программно

Вариантов настройки внешнего вида и расположения очень много более подробно об этом можно почитать в синтаксис помощнике.

В большинстве случаев все не стандартные реквизите добавляются именно программно. Если мы откроем команды и саму форму в конфигураторе то увидим что их нет.

1С 8.3 Как добавить команду программно

Это основа которую должен знать каждый.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *