Имя: Пароль:
1C
1С v8
Программное добавление кнопок в УФ
0 ParamPamPam
 
11.02.19
13:27
Добрый день!

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

Кнопки добавляю, обработки открываются.
При создании формы документа на сервере вызываю процедуру из общего модуля на сервере:

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


Можно ли обработчик команды сделать на клиенте в модуле?
1 Жан Пердежон
 
11.02.19
13:29
вообще-то, его кроме как в модуле на клиенте нигде не сделать
2 Жан Пердежон
 
11.02.19
13:32
с другой стороны, в задаче сказано только про кнопки.
3 ParamPamPam
 
12.02.19
14:07
(2) Я имею ввиду можно ли прописать действие при нажатии кнопки в том же общем модуле где и прописано создание этой кнопки?
4 singlych
 
12.02.19
14:10
Обработчик все равно в модуле формы придется писать.
5 ParamPamPam
 
12.02.19
14:11
(4) Теперь понял. Спасибо
6 singlych
 
12.02.19
14:14
БСП изобретаешь?
7 ParamPamPam
 
12.02.19
14:21
(6) Нет. Прохожу стажировку и дали задание перевести обычную форму документа ПоступлениеТоваровУслуг в управляемую. А тут куча дополнительных кнопок и процедур. Очень запутанно всё
8 Garykom
 
гуру
12.02.19
14:23
>кнопки обработок заполнения таб частей документа

Конфа какая?
Стандартного механизма подключения внешних обработок заполнения (как раз кнопки появляются на форме) документа нет?
9 singlych
 
12.02.19
14:28
(7) А кнопки для внешних обработок - это прям в задаче стоит, или твоя инициатива? Че-то сомневаюсь, что это для стажера задача.
10 ParamPamPam
 
12.02.19
14:33
(8) есть. В обычной фомре перед открытием вазывается такой код:

Процедура УстановитьКнопкиПодменюЗаполненияТЧ();
    
    мКнопкиЗаполненияТЧ = УниверсальныеМеханизмы.ПолучитьДеревоКнопокЗаполненияТабличныхЧастей(Ссылка,Новый Действие("НажатиеНаДополнительнуюКнопкуЗаполненияТЧ"));
    
    СоответствиеТЧ = Новый Соответствие;
    СоответствиеТЧ.Вставить(ЭлементыФормы.Товары,ЭлементыФормы.КоманднаяПанельТовары.Кнопки.ПодменюЗаполнить);
    СоответствиеТЧ.Вставить(ЭлементыФормы.ВозвратнаяТара,ЭлементыФормы.КоманднаяПанельВозвратнаяТара.Кнопки.ПодменюЗаполнить);
    СоответствиеТЧ.Вставить(ЭлементыФормы.Услуги,ЭлементыФормы.КоманднаяПанельУслуги.Кнопки.ПодменюЗаполнить);
    СоответствиеТЧ.Вставить(ЭлементыФормы.Оборудование,ЭлементыФормы.КоманднаяПанельОборудование.Кнопки.ПодменюЗаполнить);
    СоответствиеТЧ.Вставить(ЭлементыФормы.ОбъектыСтроительства,ЭлементыФормы.КоманднаяПанельОбъектыСтроительства);
    СоответствиеТЧ.Вставить(ЭлементыФормы.ДокументыРасчетовСКонтрагентом,ЭлементыФормы.КоманднаяПанельДокументыРасчетовСКонтрагентом.Кнопки.ПодменюЗаполнить);
    СоответствиеТЧ.Вставить(ЭлементыФормы.АктыВзвешивания,ЭлементыФормы.КоманднаяПанельАктыВзвешивания.Кнопки.ПодменюЗаполнить);
    
    УниверсальныеМеханизмы.СформироватьПодменюЗаполненияТЧПоДеревуКнопок(мКнопкиЗаполненияТЧ,СоответствиеТЧ);
    
КонецПроцедуры

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

(9) часть задачи
11 ParamPamPam
 
12.02.19
14:33
(8) УПП Мясокомбинат
12 Garykom
 
гуру
12.02.19
14:35
Напиши блин стандартную внешнюю обработку (образцы есть в т.ч. для УПП) для заполнения и подключи ее к базе.
13 singlych
 
12.02.19
14:38
(12) я так понял они уже есть, и их нужно отрисовать на УФ. Вот я не помню, уппшные механизмы рассчитаны на УФ? Там вроде же есть некоторые типовые управляемые формы.