Сведения о внешней обработке. Шаблоны и примеры написания сведений для подключаемых внешних обработок

06.02.26

Разработка - Универсальные функции

Когда появляется необходимость сделать подключаемую внешнюю обработку, будь это печатная форма или отчет - нам всегда приходится прописывать сведения о внешней обработке для подключения их в соответствующий справочник. И это занимает некоторое время, что не очень удобно. Как для себя, так и для вас - я подготовил ряд примеров использования этой функции, можете выбрать один из них, чтобы в дальнейшем использовать их в шаблонах текста. Комментарии по дополнению и исправлению статьи - приветствуются.

Шаблон 1

Рекомендуется к использованию. В нем используются методы из программного интерфейса БСП. Методов может и не быть - всё зависит от вашей версии БСП (пример ниже использует БСП 3.1.11).
Версию БСП можно посмотреть в РС "Версии подсистем" или вызвать метод ВерсияБиблиотеки из общего модуля ДополнительныеОтчетыИОбработки как в примере ниже.

 
 БСП 3.1.11
Функция СведенияОВнешнейОбработке() Экспорт
	
	МетаданныеОбъекта = Метаданные();
	Синоним = МетаданныеОбъекта.Синоним;
	ВерсияОбработки = МетаданныеОбъекта.Комментарий;

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

Как вы успели заметить в примере выше, некоторые данные берутся из метаданных внешней обработки, что очень удобно по моему мнению.

Более подробно расписано в статье:
Разбираемся с механизмом Дополнительные отчеты и обработки в БСП
 


Доступные функции

Расположены в общем модуле ДополнительныеОтчетыИОбработкиКлиентСервер и вызываются из него:

 

Вид обработки

ВидОбработкиПечатнаяФорма(); // Печатная форма.
ВидОбработкиЗаполнениеОбъекта(); // Заполнение объекта.
ВидОбработкиСозданиеСвязанныхОбъектов(); // Создание связанных объектов.
ВидОбработкиОтчет(); // Назначаемый отчет.
ВидОбработкиШаблонСообщения(); // Создание связанных объектов.
ВидОбработкиДополнительнаяОбработка(); // Дополнительная обработка.
ВидОбработкиДополнительныйОтчет(); // Дополнительный отчет.

 

Тип команды

ТипКомандыВызовСерверногоМетода(); // Вызов серверного метода.
ТипКомандыВызовКлиентскогоМетода(); // Вызов клиентского метода.
ТипКомандыОткрытиеФормы(); // Открытие формы.
ТипКомандыЗаполнениеФормы(); // Заполнение формы.
ТипКомандыЗагрузкаДанныхИзФайла(); // Загрузка данных из файла.

 

Шаблон 2

Это на тот случай, если необходимых методов как в примере выше - не нашлось из-за различий в версиях БСП.

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

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

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор,
	Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
	НоваяКоманда = ТаблицаКоманд.Добавить();
	НоваяКоманда.Представление = Представление;
	НоваяКоманда.Идентификатор = Идентификатор;
	НоваяКоманда.Использование = Использование;
	НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
	НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры

 

Вид обработки

"ПечатнаяФорма", "ЗаполнениеОбъекта", "СозданиеСвязанныхОбъектов", 
"Отчет", "ШаблонСообщения", "ДополнительнаяОбработка" или "ДополнительныйОтчет".

 

Тип команды

"ВызовКлиентскогоМетода", "ВызовСерверногоМетода", 
"ЗаполнениеФормы", "ОткрытиеФормы" или "СценарийВБезопасномРежиме".

 

Примеры

 
Внешняя печатная форма (Модуль объекта БСП 3.1.11)

 

Заключение

Надеюсь, статья была полезной! В качестве бонуса написал пример написания сведений для внешней печатной формы.

Ссылки:

Вступайте в нашу телеграмм-группу Инфостарт

Шаблоны текста Сведения о внешней обработке СведенияОВнешнейОбработке Внешняя печатная форма Печатная форма БСП Разработка Дополнительные отчеты и обработки ДополнительныеОтчетыИОбработки

См. также

БСП (Библиотека стандартных подсистем) Программист Платные (руб)

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

3254 руб.

21.11.2024    11865    45    24    

51

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

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

21.05.2024    52109    dimanich70    84    

174

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    66281    atdonya    31    

71

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист Стажер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бесплатно (free)

Используются для создания новых объектов в конфигурации, чтобы не забыть, что нужно сделать. Сделано на примере 1С:Бухгалтерия предприятия, в других конфигурациях могут быть другие, а могут быть и похожие объекты.

28.12.2023    11697    mrXoxot    11    

118
Отзывы
4. EvgeniyOlxovskiy 100 09.02.26 07:35 Сейчас в теме
Есть статья которая лучше раскрывает тему на мой взгляд:
https://infostart.ru/1c/articles/558559/
TimkoNzt; Matveev_VS; 116hrus; mistervoron; manul1c; ixijixi; +6 Ответить
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. manul1c 17 06.02.26 21:50 Сейчас в теме
(1) Спасибо за дополнение!
3. SergMuravev 878 07.02.26 13:29 Сейчас в теме
(1) Этот код уже устарел
4. EvgeniyOlxovskiy 100 09.02.26 07:35 Сейчас в теме
Есть статья которая лучше раскрывает тему на мой взгляд:
https://infostart.ru/1c/articles/558559/
TimkoNzt; Matveev_VS; 116hrus; mistervoron; manul1c; ixijixi; +6 Ответить
5. manul1c 17 09.02.26 10:24 Сейчас в теме
(4) Благодарю! Вставлю в статью
EvgeniyOlxovskiy; +1 Ответить
Для отправки сообщения требуется регистрация/авторизация