КА-2.4 БСП Переопределяемые команды. Как добавить свою команду?
Есть задачка, в рамках которой нужно программно в каждый документ добавить кнопку (решено)
Кнопка использует Подключаемый_ВыполнитьКоманду в качестве действия.
Я, конечно, могу в расширении вписать вызов чего угодно по имени команды. Однако, подозреваю, что система позволяет подключать свои команды иным образом. Но я не смог найти как это делается (кроме печатных форм и отчетов).
Кто знает, подскажите вкратце, могу ли я и как добавить (или зарегистрировать) в качестве команды вызов либо команды обработки, либо процедуры из моего модуля, либо открытие общей формы?
Кнопка использует Подключаемый_ВыполнитьКоманду в качестве действия.
Я, конечно, могу в расширении вписать вызов чего угодно по имени команды. Однако, подозреваю, что система позволяет подключать свои команды иным образом. Но я не смог найти как это делается (кроме печатных форм и отчетов).
Кто знает, подскажите вкратце, могу ли я и как добавить (или зарегистрировать) в качестве команды вызов либо команды обработки, либо процедуры из моего модуля, либо открытие общей формы?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) самому интересно стало.
Если в расширении в ПодключаемыеКомандыПереопределяемый добавить такой код
то команда появится во всех формах документов и в обработчике Расш1_ОбщийМодуль1.ОбработчикКоманды в параметрах выполнения будет доступна форма из которой эту команду вызвали.
Если подправить, то и форму можно открыть вместо обработчика.
Если в расширении в ПодключаемыеКомандыПереопределяемый добавить такой код
&После("ПриОпределенииКомандПодключенныхКОбъекту")
Процедура Расш1_ПриОпределенииКомандПодключенныхКОбъекту(НастройкиФормы, Источники, ПодключенныеОтчетыИОбработки, Команды)
НоваяКоманда = Команды.Добавить();
НоваяКоманда.Вид = "КоманднаяПанель";
НоваяКоманда.Идентификатор = "Расш1_Команда1";
// Настройки внешнего вида:
НоваяКоманда.Представление = "Имя команды на форме";
НоваяКоманда.Подменю = "";
НоваяКоманда.Важность = "Важное";
НоваяКоманда.Порядок = 50;
//НоваяКоманда.Картинка = ; // Картинка.
//НоваяКоманда.СочетаниеКлавиш = ; // СочетаниеКлавиш.
//НоваяКоманда.ОтображениеКнопки = ;
// Настройки видимости и доступность:
//НоваяКоманда.ТипПараметра = ; // ОписаниеТипов.
НоваяКоманда.ВидимостьВФормах = "ФормаДокумента";
//НоваяКоманда.Назначение = ;
//НоваяКоманда.ФункциональныеОпции = ;
НоваяКоманда.УсловияВидимости = Новый Массив;
НоваяКоманда.ИзменяетВыбранныеОбъекты = Ложь; // Булево или Неопределено.
// Настройки процесса выполнения:
НоваяКоманда.МножественныйВыбор = Ложь; // Булево или Неопределено.
НоваяКоманда.РежимЗаписи = "Записывать"; // "Проводить", "ЗаписыватьТолькоНовые"
//НоваяКоманда.ТребуетсяРаботаСФайлами = ;
// Настройки обработчика:
//НоваяКоманда.Менеджер = ;
НоваяКоманда.Обработчик = "Расш1_ОбщийМодуль1.ОбработчикКоманды";
НоваяКоманда.ДополнительныеПараметры = Новый Структура;
//НоваяКоманда.ИмяФормы = ;
//НоваяКоманда.ПараметрыФормы = ; // Структура или Неопределено.
//НоваяКоманда.ИмяПараметраФормы = ;
// Служебные:
НоваяКоманда.ПорядокВажности = 3;
//НоваяКоманда.ИмяВФорме = ;
//НоваяКоманда.ЕстьУсловияВидимости = ;
КонецПроцедуры
Показатьто команда появится во всех формах документов и в обработчике Расш1_ОбщийМодуль1.ОбработчикКоманды в параметрах выполнения будет доступна форма из которой эту команду вызвали.
Если подправить, то и форму можно открыть вместо обработчика.
Прикрепленные файлы:
через бсп никак, если это не команда печати и что там еще бсп поддерживает
вот тут похожий вопрос решали
https://forum.infostart.ru/forum9/topic187447/
вот тут похожий вопрос решали
Обработкой заполнения, у меня есть что то похожее
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.*");
МассивНазначений.Добавить("Справочник.*");
ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Вызов журнала регистрации из любого объекта с отбором по нему");
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Информация", "Вызов журнала регистрации из справочников и документов с отбором по ним");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд,
"Открыть журнал регистрации с отбором по объекту",
"Открыть журнал регистрации с отбором по объекту",
ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовКлиентскогоМетода(),
Истина);
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот