helpf.pro
Регистрация
 0 
Распечатать

Кнопка ~ Программное добавление на управляемую форму поля или кнопки?

Код 1C v 8.2 УП
 &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

// Добавляем новый реквизит в форму
ДобавляемыеРеквизиты = Новый Массив;
Реквизит = Новый РеквизитФормы("Реквизит1", Новый ОписаниеТипов("Строка"), , "Введите строку", Истина);
ДобавляемыеРеквизиты.Добавить(Реквизит);
ИзменитьРеквизиты(ДобавляемыеРеквизиты);

//Добавляем новое поле ввода на форму
Элемент = ЭтаФорма.Элементы.Добавить("Поле", Тип("ПолеФормы"), ЭтаФорма);
Элемент.Вид = ВидПоляФормы.ПолеВвода;
Элемент.ПутьКДанным = "Реквизит1";

//Добавляем новую команду
Кмд = ЭтаФорма.Команды.Добавить("Команда1");
Кмд.Действие = "НажатиеКнопки";
Кмд.Заголовок = "Нажатие кнопки";

//Добавляем новую кнопку
Элемент2 = ЭтаФорма.Элементы.Добавить("Кнопка1", Тип("КнопкаФормы"), ЭтаФорма);
Элемент2.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
Элемент2.ИмяКоманды = "Команда1";

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

&НаКлиенте
Процедура НажатиеКнопки()
// Вставить содержимое обработчика.
ЭтаФорма.Реквизит1 = "Готово";

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


Программное добавление кнопок в управляемый интерфейс
Если упрощенно, то помог код следующего содержания:
Код 1C v 8.2 УП
 &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Для Каждого ТекИмяКнопки Из Параметры.МассивИменКнопок Цикл
КомандаФормы = Команды.Добавить(ТекИмяКнопки);
КомандаФормы.Действие = "ПроцедураОбработкиНажатия";
Элементы.Добавить(ТекИмяКнопки,Тип("КнопкаФормы"), Элементы.ПоПравилуОбработкиПодменю);
Элементы[ТекИмяКнопки].Заголовок = ТекИмяКнопки;
Элементы[ТекИмяКнопки].ИмяКоманды = ТекИмяКнопки;
КонецЦикла
КонецПроцедуры

Параметры.МассиИменКнопок – Массив, в котором содержаться имена создаваемых кнопок.
Элементы.ПоПравилуОбработкиПодменю – группа подменю, в которую добавляются кнопки.
«ПроцедураОбработкиНажатия» – имя процедуры, которая объявлена на стороне клиента. Именно ей будет передаваться управление в случае нажатия кнопки. Идентификацию того, какая именно кнопка была нажата проводил по имени команды.
Код 1C v 8.2 УП
 &НаКлиенте
Процедура ПроцедураОбработкиНажатия(Элемент)
Состояние("Выполняется нажатие кнопки с командой" + Элемент.Имя);
КонецПроцедуры

Следует отметить, что обязательно создание команд. Если кнопке не определить имя команды, то платформа такую кнопку не покажет.
Разместил:   Версии: | 8.2 УП |  Дата:   Прочитано: 17921
 0 
Распечатать
Возможно, вас также заинтересует
Google maps : вывод точек на карту и режим панорамы 2
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С...
База для Разработки или Рабочая? Как быстро определить? 1
Когда-то я работал консультантом SAP . В SAPe есть настройка изменения цвета главного окна программы и у нас было негласное правило: Рабочая программа - Красный фон , Тестовая - Зеленый , Разработка - Синий . Работая в 1С,...
Быстрый отбор в справочнике по первой букве 0
В статье описан способ быстрой организации отбора в списке справочника по первой букве наименования. Механизм легко дотачивается под собственные нужды. https://helpf.pro/uploads/img/_1-T4ZDj6uNPX.png // ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ ...
Вопрос/Сообщение пользователю. Интерфейс 0
Добрый день. Прошу помочь. надо вывести вопрос пользователю, при попытке изменить содержимое поля ввода. В синтакс-помощнике есть примерно такой вариант решения. Пробую при нажатии кнопки "отмена" или "нет" все равно...
Выбор периода, задать период 2

Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.