# Подготовка внешних обработок и отчетов для подключения к базе 1С 8.3
# Введение
Внешние обработки (Отчеты) представляют собой обработки (Отчеты), которые не входят в состав прикладного решения и хранятся в отдельных файлах с расширением .epf (.erf).
Основное их преимущество заключается в том, что такие обработки можно использовать в различных прикладных решениях без изменения структуры самих решений. Кроме того, важным преимуществом внешних обработок является возможность проектировать и отлаживать их в процессе работы прикладного решения, без необходимости сохранения каждый раз конфигурации прикладного решения.
# Подключение внешних обработок (отчетов) в базу
С помощью "Библиотеки стандартных подсистем" существует возможность подключения внешних внешних обработок (отчетов) прямо в базу. Запуск подключенных обработок (отчетов) осуществляется прямо из базы. В этом случае нам не придется хранить файл самой обработки.
Чтобы подключить уже подготовленную внешнюю обработку (отчет) в базу, необходимо прописать в модуль обработки (отчета) функцию регистрации. В модуль объекта можно зайти нажав "Действия" -> "Открыть модуль объекта"
Функция регистрации для печатной формы выглядит следующим образом:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("3.1.2.445"); //в качестве параметра ставится версия Библиотеки стандартных подсистем
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма(); //У казывается вид обработки. (Печатная форма, дополнительная обработка, дополнительный отчет)
ПараметрыРегистрации.Версия = "1.1"; //Версия обработки (отчета)
ПараметрыРегистрации.Информация = НСтр("ru = 'Перемещение запасов с розничными ценами'"); // Краткое описание обработки
ПараметрыРегистрации.Назначение.Добавить("Документ.ПеремещениеЗапасов"); // Определение объектов, к которым подключается эта обработка.
// Добавление разрешений при необходимости
// Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса("HTTPS","test.ru",443,"Доступ к API интернет-магазина для выгрузки товаров.");
// ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
// Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина, Истина, "Обработка изпользует временное хранилище для картинок.");
// ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
// Добавление команды печати.
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = НСтр("ru = 'Перемещение запасов с розничными ценами'"); //Указывается представление команды
НоваяКоманда.Идентификатор = "ПеремещениеЗапасовСРозничнымиЦенами"; //Указывается некий идентификатор
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода(); // Тут указывается тип команды (открытие формы, вызов серверного метода и т.д.)
НоваяКоманда.Модификатор = "Макет";
Возврат ПараметрыРегистрации;
КонецФункции
Функция регистрации для внешнего отчета выглядит следующим образом:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.4.45");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
ПараметрыРегистрации.Версия = "0.2";
ПараметрыРегистрации.БезопасныйРежим = Истина;
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = НСтр("ru = 'Пример дополнительного отчета'");
НоваяКоманда.Идентификатор = "ПримерДополнительногоОтчета";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
НоваяКоманда.ПоказыватьОповещение = Истина;
Возврат ПараметрыРегистрации;
КонецФункции
Функция регистрации для внешней обработки для регламентного выполнения выглядит следующим образом:
#Область ПрограммныйИнтерфейс
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
ПараметрыРегистрации.Версия = "22.09.05";
Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина, Истина, "Обработка использует временное хранилище.");
ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = НСтр("ru = 'Загрузка данных'");
НоваяКоманда.Идентификатор = "ЗагрузкаДанных";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
НоваяКоманда.ПоказыватьОповещение = Истина;
Возврат ПараметрыРегистрации;
КонецФункции
Функция ВыполнитьКоманду(Идентификатор, ПараметрыКоманды) Экспорт
Если Идентификатор = "ЗагрузкаДанных" Тогда
ЗагрузкаДанных(); // здесь код обработки
КонецЕсли;
КонецФункции
#КонецОбласти
Функция регистрации для внешней обработки с формой выглядит следующим образом:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.4.45");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
ПараметрыРегистрации.Версия = "23.02.19";
ПараметрыРегистрации.БезопасныйРежим = Истина;
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = НСтр("ru = 'Mxik сheck'");
НоваяКоманда.Идентификатор = "MxikCheck";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
НоваяКоманда.ПоказыватьОповещение = Истина;
Возврат ПараметрыРегистрации;
КонецФункции
Версию библиотеки стандартных подсистем можно в регистре сведений "Версии подсистем".
После того как добавили функцию регистрации, обработку (отчет) можно добавить в информационную базу.
# Добавление обработки (отчета) в информационную базу
Для того чтобы добавить внешнюю обработку (отчет) в информационную базу необходимо зайти в "Настройки" -> "Администрирование" -> "Печатные формы, отчеты и обработки".
Далее нажимаем "Дополнительные обработки, отчеты"
Нажимаем "Добавить из файла"
Откроется окно, в этом окне откроется окно предупреждения о безопасности, нажимаем "Продолжить", откроется окно выбора файла обработки. Выбираем файл и нажимаем "Открыть".
Далее все поля заполнятся и функции регистрации, останется только записать эту обработку.
Ярослав Панасик, 09.12.2021