новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума

Добавление кнопки на управляемую форму

  • Добавить свою публикацию
  • для этого требуется регистрация

Предисловие

Изменение форм объектов конфигурации является очень распостраненной задачей при доработке типовый конфигураций, создании отчетов и обработок и т.д. Да в абсолютном большинстве случаев разработчику приходится иметь дело с формами.

Изображение

Сегодня в статье рассмтрим сквозной пример добавления на управляемую форму кнопки.

Конструктор

Самый простой способ - это конечно же воспользоваться конструктором форм в конфигураторе. Тогда не нужно будет писать ни одной строчки кода. Все что нужно - это пара кликов:

Изображение

И кнопка уже добавлена!

Но не всегда такой вариант приемлем. Для некоторых задач нужно изменять форму программным образом, например, для формирования кнопок команд печати документов, где для каждой печатной формы создается собственная кнопка. Заранее знать состав всех печатных форм (включая внешние) мы не можем, поэтому добавление кнопок выполняется автоматичкески.

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

И так, то что мы сделали в 2 клика сделаем с помощью нескольких строк кода. Перед тем как добавлять команду формы, нам нужно определить процедуру-обработчик этой команды. Добавим в модуль формы следующую процедуру:

&НаКлиенте
Процедура Предупредить(Элемент)
	
	Предупреждение("Предупреждаю!");
	
КонецПроцедуры

 Теперь нам нужно добавить команду формы и присвоить в качестве обработчика процедуру выше. Добавлять команду нужно на стороне сервера, поэтому используем событие формы "ПриСозданиинаСервере":

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

 Отлично, осталось добавить элемент формы типа "Кнопка формы" для команды формы "Предупредить". Дополним обработчик события "ПриСозданииНаСервере":

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

 На этом все. Если мы откроем эту форму в режиме 1С:Предприятия, то увидим следующее:

Изображение

Пример небольшой и врятли даст ответы нв все вопросы по программной модификации форм. Он лишь может подсказать общий принцип.

 
0
Читайте также
Пример перевода конфигурации на управляемый интерфейс
Когда количество изменений на предприятии превышает критический уровень в сторону необновляемых конфигураций - 1С предлагает создание управляемого приложения
Управление видом отчета на СКД
Настройка отчета на СКД без кодирования
Разработки
Как свернуть все активные окна
Обработка - Как сворачивать активные окна
Табло для управляемого приложения, тонкий клиент
Обработка - табло управляемого приложения
Еще от автора
≡ к списку статей