|
Программно кнопку в командной панели без самого документа PLUT, takefive, Волшебник, СвинТуз, Lazy Stranger, Мультук, SleepyHead, picom, vbus, Amra, АЛьФ, yurikmellon2, Гипервизор, ads55
| ☑ | ||
|---|---|---|---|---|
|
0
picom
20.06.25
✎
08:31
|
Задача
Сделать кнопку в командной панели всех документов (или конкретного списка). На примере УНФ. Кнопка должна выполнять и клиентский и серверный код. Форму не нужно расширять, т.к. затянет гору реквизитов под расширение. Текущая ситуация в ОМ.ПодключаемыеКоманды &После("ПриСозданииНаСервере")
Процедура пм_ПриСозданииНаСервере(Форма, Знач ПараметрыРазмещения)
Если Форма.ИмяФормы = "Документ.ЗаказПокупателя.Форма.ФормаДокумента" Тогда
ДокументЗаказКлиентаФормаДокумента(Форма);
КонецЕсли;
КонецПроцедуры
Процедура ДокументЗаказКлиентаФормаДокумента (Форма)
НовКоманда=Форма.Команды.Добавить("Команда1");
НовКоманда.Действие="Подключаемый_ВыполнитьНазначаемуюКоманду";
НовКоманда.Подсказка="Команда11";
НоваяКнопка = Форма.Элементы.Добавить("Команда1", Тип("КнопкаФормы"), Форма.КоманднаяПанель);
НоваяКнопка.Заголовок = "Открыть мисту";
КонецПроцедуры
Процедура Подключаемый_ВыполнитьНазначаемуюКоманду()
ЗапуститьПриложение("https://forum.mista.ru/");
КонецПроцедуры
Проблема Кнопка не появилась, видимо команда ожидается в модуле формы, а ее не нужно захватывать. Т.е. надо где-то описать кодом в другом месте, где и как? В общей команде? |
|||
|
1
Мультук
гуру
20.06.25
✎
09:10
|
(0)
По-моему, нужно идти по пути использования типовой процедуры из модуля формы // СтандартныеПодсистемы.ПодключаемыеКоманды &НаКлиенте Процедура Подключаемый_ВыполнитьКоманду(Команда) ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект); КонецПроцедуры Т.е. в вашем случае будет Процедура ДокументЗаказКлиентаФормаДокумента (Форма)
НовКоманда=Форма.Команды.Добавить("Команда1");
НовКоманда.Действие="Подключаемый_ВыполнитьКоманду"; //<------------------------------------------
НовКоманда.Подсказка="Команда11";
НоваяКнопка = Форма.Элементы.Добавить("Команда1", Тип("КнопкаФормы"), Форма.КоманднаяПанель);
НоваяКнопка.Заголовок = "Открыть мисту";
КонецПроцедуры
Ну и дальше в нужном модуле нужно сделать еще один inject P.S. Имхо только за последний месяц было несколько таких тем. Чем там дело решилось - не помню, не интересовался |
|||
|
2
picom
20.06.25
✎
08:40
|
(1) Надо без расширения формы
|
|||
|
3
Мультук
гуру
20.06.25
✎
09:16
|
(2)
Где я написал про расширение формы ? == Цитата == По-моему нужно идти по пути использования типовой процедуры из модуля формы == Конец цитаты == Я не знаю, что там в БСП УНФ. Возможно так "такого" нет. |
|||
|
4
picom
20.06.25
✎
08:47
|
(3) В первой версии вашего сообщения этого не было...
Изучаю... В УНФ действительно такого нет, ищу обход |
|||
|
5
Мультук
гуру
20.06.25
✎
08:59
|
(4)
Поищите по Подключаемый_ВыполнитьКоманду по форуму, может быть найдете "те" темы, возможно в них уже есть решение. Одна тема от "Maniac" (надеюсь я правильно помню ник) P.S. УНФ я в глаза не видел, увы. Точнее видел, но... |
| Форум | Правила | Описание | Секции | Поиск |