При начале работы с разработкой дополнительных модулей для 1С у многих специалистов возникает закономерный вопрос: нужно ли каждый раз создавать новый шаблон обработки под конкретный релиз или конфигурацию? Давайте разберемся в архитектуре Библиотеки стандартных подсистем (БСП) и выясним, как правильно организовывать внешние дополнительные отчеты и обработки (ДВиО).
Важно понимать, что в современных конфигурациях, работающих на управляемых формах, основным стандартом является БСП. Если ваша конфигурация поддерживает эту подсистему, то вопрос «один ли это шаблон для УТ и БП» решается однозначно: шаблон универсален.
Универсальность обеспечивается тем, что система регистрации обработки не «зашита» в структуру метаданных конкретной конфигурации, а опирается на программную реализацию функции СведенияОВнешнейОбработке. Пока в конфигурации есть стандартный механизм «Дополнительные отчеты и обработки», ваша внешняя обработка будет корректно распознана системой независимо от того, для каких целей она была написана изначально.
Функция СведенияОВнешнейОбработке — это «паспорт» вашего модуля. Именно она сообщает платформе, как именно нужно отображать вашу обработку в интерфейсе и какие права ей требуются для работы. Без этой функции «1С» просто не увидит вашу обработку в списке доступных расширений.
Разберем структуру этой функции, которая является обязательной для любой внешней обработки:
Функция СведенияОВнешнейОбработке Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить(\"Вид\", \"ДополнительнаяОбработка\");
ПараметрыРегистрации.Вставить(\"Наименование\", \"Выгрузка и загрузка данных XML\");
ПараметрыРегистрации.Вставить(\"Версия\", \"1.1\");
ПараметрыРегистрации.Вставить(\"БезопасныйРежим\", ЛОЖЬ);
ПараметрыРегистрации.Вставить(\"Информация\", \"Дополнительная обработка\");
ТаблицаКоманд = Новый ТаблицаЗначений;
ТаблицаКоманд.Колонки.Добавить(\"Представление\");
ТаблицаКоманд.Колонки.Добавить(\"Идентификатор\");
ТаблицаКоманд.Колонки.Добавить(\"Использование\");
ТаблицаКоманд.Колонки.Добавить(\"ПоказыватьОповещение\");
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = \"Выгрузка и загрузка данных XML\";
НоваяКоманда.Идентификатор = \"ВыгрузкаЗагрузкаДанныхXML\";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
НоваяКоманда.ПоказыватьОповещение = Истина;
ПараметрыРегистрации.Вставить(\"Команды\", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
При разработке и настройке обработки обратите внимание на следующие параметры:
ДополнительнаяОбработка, ЗаполнениеОбъекта, ПечатнаяФорма и т.д.). От этого значения зависит, в каком разделе программы появится ваша разработка.Документ.РеализацияТоваровУслуг), обязательно заполните массив назначений.Истина, обработка будет ограничена в доступе к файловой системе и COM-объектам. Если ваша задача — работа с внешними файлами, безопасный режим необходимо отключить при загрузке обработки в справочник.ОткрытиеФормы (для визуального взаимодействия) и серверными методами (для фоновых процессов). Если ваша команда предполагает работу с данными объекта, используйте серверный вызов.Таким образом, использование одного и того же шаблона для различных конфигураций 1С — это нормальная практика, при условии, что вы грамотно управляете параметрами регистрации и учитываете особенности структуры объектов в целевой конфигурации.