7 февр. 2021 г.

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

 Есть форма (УФ) на которой размещено две группы 

"Справочники", "Документы"

нужно вывести все справочники и документы из конфигурации в виде кнопок на эту форму в подходящую группу

Результат должен быть таким


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

Соответственно, нужно в ручном режиме добавить процедуры нажатия по примеру

&НаКлиенте
Процедура Действие_Контрагенты(Команда)
    
    ОткрытьФорму("Справочник.Контрагенты.ФормаСписка");
    
КонецПроцедуры

&НаКлиенте
Процедура Действие_Номенклатура(Команда)
    
    ОткрытьФорму("Справочник.Номенклатура.ФормаСписка");
    
КонецПроцедуры


Комментариев нет:

Отправить комментарий

 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07