Размещение обработки типа ЗаполнениеОбъекта в подсистеме

1. Hogyoku 23.11.23 10:34 Сейчас в теме
Всем добрый день.
При создании внешней обработки в функции СведенияОВнешнейОбработке() следует указать вид обработки ЗаполнениеОбъекта, чтобы появились кнопки "Заполнить" в формах списка и документа.
Но также необходимо, чтобы та же обработка содержалась в одной из подсистем в "Сервис" - "Дополнительные обработки", т.е. необходим вид обработки ДополнительнаяОбработка.

Вопрос: как можно разместить одну внешнюю обработку заполнения и в формах, и в подсистеме, если можно указать только один вид обработки?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. RustamZz 23.11.23 11:11 Сейчас в теме
(1) Все что угодно можно с одной обработкой сделать, разными командами.
Прикрепленные файлы:
8. Hogyoku 23.11.23 12:57 Сейчас в теме
(3) Реализовать разные команды в рамках одной обработки можно, а как разместить эту самую команду и в меню "Заполнить" нужного документа, и в меню "Сервис" - "Дополнительные обработки" нужной подсистемы?
9. RustamZz 23.11.23 13:01 Сейчас в теме
(8) Сделайте две, три разные команды и пусть работает один и тот же код
10. Hogyoku 23.11.23 13:05 Сейчас в теме
(9) Да, такой вариант может помочь, но хотелось бы узнать, если ли способ решить эту проблему в рамках одной обработки, ибо при ее использовании происходит загрузка/сохранение всяких настроек и прочее.
2. Captain_Pan 23.11.23 11:08 Сейчас в теме
Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
	ПараметрыРегистрации.Версия = "1.1.1.1";
	
	Команда = ПараметрыРегистрации.Команды.Добавить();
	Команда.Представление = НСтр("ru = 'Открыть обработку'");
	Команда.Идентификатор = "Открыть";
	Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	Команда.ПоказыватьОповещение = Ложь;
	
	Команда = ПараметрыРегистрации.Команды.Добавить();
	Команда.Представление = НСтр("ru = 'Заполнить'");
	Команда.Идентификатор = "Заполнить";
	Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыЗаполнениеФормы();
	Команда.ПоказыватьОповещение = Ложь;
	
	Возврат ПараметрыРегистрации;
	
КонецФункции
Показать
4. Hogyoku 23.11.23 12:19 Сейчас в теме
(2) Такой код позволяет вызвать обработку из нужных подсистем, но не позволяет выбрать ее из меню "Заполнить" нужного документа.
5. Captain_Pan 23.11.23 12:23 Сейчас в теме
(4)
Пример писал не проверяя)

Исправь строчку с видом обработки на
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта();
Должно заработать.

Тип команд заполнение формы не доступен, для вида дополнительные обработки.
А тип команды открытие формы, для всех доступен вроде.
6. Hogyoku 23.11.23 12:29 Сейчас в теме
(5) С таким видом обработка будет появляться в меню "Заполнить" нужного документа, но ее тогда нельзя вывести в "Сервис" - "Дополнительные обработки" нужных подсистем. А она нужна и там, и там.
Прикрепленные файлы:
7. Captain_Pan 23.11.23 12:53 Сейчас в теме
(6)
Проверил и правда не работает.
В сведениях прописать назначение тоже не удается.

Значит не работает такой способ, для вида обработки заполнение объекта.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот