helpf.pro
Регистрация

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

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

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


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

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

Следует отметить, что обязательно создание команд. Если кнопке не определить имя команды, то платформа такую кнопку не покажет.
Разместил:   Версии: | 8.2 УП |  Дата:   Прочитано: 60609
 +1 
Распечатать
Возможно, вас также заинтересует
Google maps : вывод точек на карту и режим панорамы 9
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора
Быстрый отбор в справочнике по первой букве 0
В статье описан способ быстрой организации отбора в списке справочника по первой букве наименования. Механизм легко дотачивается под собственные нужды. https://helpf.pro/uploads/img/_1-T4ZDj6uNPX.png // ПРОЦЕДУРЫ И ФУНКЦИИ МОДУЛЯ НаКлиенте
Где список открытых окон (документов, справочников) в такси? 2
В текущей работе пользователь обычно открывает несколько объектов. Это может быть документ, справочник, отчет и т.д. В предыдущем интерфейсе не было проблем быстро найти открытый объект и актуализировать его для дальнейшей работы используя окна или
Горячие клавиши 1С Пользователю [ Предприятие] 7
Основные команды: Интерфейс: F6 - переключение между формами рабочего стола F10 - переход в главное меню окна Alt+1 - переход на панель Разделов Alt+2 - переход на панель Навигации Alt+3 - переход на панель Действий Alt+9 - переход
Горячие клавиши 1С Разработчику [ Конфигуратор ] 158
Основные команды: Кодирование: Ctrl+Пробел - вызов подсказки Ctrl+Q - вызов шаблона Ctrl+F1 - поиск в синтакс-помощнике Ctrl + L - удалить текущую строку Alt+Shift+F - отформатировать код Исследование: F12 - ставим курсор на про
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Загрузка... Дождитесь завершения!