При попытке создать дополнительный внешний отчет через пользовательскую часть в erp, получили ошибку «Метод объекта не обнаружен (СведенияОВнешнейОбработке)»
После создания отчета через СКД в Конфигурации, необходимо добавить через кнопку «Действия» — «Открыть модуль объекта», функцию:
Добавить:
Функция СведенияОВнешнейОбработке() Экспорт ИмяОтчета = ЭтотОбъект.Метаданные().Имя; Синоним = ЭтотОбъект.Метаданные().Синоним; Синоним = ?(ЗначениеЗаполнено(Синоним),Синоним, ИмяОтчета); ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1"); ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет(); ПараметрыРегистрации.Версия = "2.0.0.0"; ПараметрыРегистрации.Наименование = Синоним; //имя под которым обработка будет зарегистрирована в справочнике внешних обработок ПараметрыРегистрации.Информация = "Отчет :" + Синоним; //так будет выглядеть описание вн.отчета для пользователя Возврат ПараметрыРегистрации; КонецФункции
Данная функция добавит из отчета сведения, которые заполняются при создании отчета СКД. После этого не будет ошибки «Метод объекта не обнаружен (СведенияОВнешнейОбработке)»:
Сохраняем отчет в *.erf
Перейдем к добавлению отчета в 1С в режиме работы Предприятие:
01 «НСИ и администрирование» — «Дополнительные отчеты и обработки» — кнопка «Добавить из файла»:
После предупреждения безопасности:
«Продолжить» выбираем на диске сохраненный отчет с расширением *.erf
02 После выбора и добавления файла отчета, его наименование будет взято из поля Синоним. Остается выбрать «Используется» и «Записать» внешний отчет:
03 Внешний отчет, можно разместить в списке всех отчетов. Для этого необходимо перейти на вкладку «Варианты отчета» — кнопка «Разместить в разделах…»:
Выбрать нужный раздел:
04 После кнопки «Разместить», отчет можно найти в списке всех отчетов: «Главное» — «Все отчеты»:
3 — 24.01.23 — 11:14
Функция СведенияОВнешнейОбработке() Экспорт
Версия = «13.01.2023»;
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить(«Вид», «ДополнительныйОтчет»);
ПараметрыРегистрации.Вставить(«Назначение», «»);
ПараметрыРегистрации.Вставить(«Наименование», «ОтчетПоПоступлениям » + Версия);
ПараметрыРегистрации.Вставить(«Версия», Версия);
ПараметрыРегистрации.Вставить(«БезопасныйРежим», Ложь);
ПараметрыРегистрации.Вставить(«Информация», «Отчет по поступлениям» + Версия);
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, «Отчет по поступлениям (в формате EXCEL)» + Версия,, «ОткрытиеФормы», Истина);
ПараметрыРегистрации.Вставить(«Команды», ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить(«Представление», Новый ОписаниеТипов(«Строка»));
Команды.Колонки.Добавить(«Идентификатор», Новый ОписаниеТипов(«Строка»));
Команды.Колонки.Добавить(«Использование», Новый ОписаниеТипов(«Строка»));
Команды.Колонки.Добавить(«ПоказыватьОповещение», Новый ОписаниеТипов(«Булево»));
Команды.Колонки.Добавить(«Модификатор», Новый ОписаниеТипов(«Строка»));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = «»)
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
вот примерный код, взятый из одной из обработок —
// Возвращает структуру параметров регистрации внешней(его)
// обработки / отчета в ИБ конфигурации УТ 11.0.
//
// Параметры;
//
// ВозвращаемоеЗначение;
// ПараметрыРегистрации — структура, содержащая инструкцию
// по регистрации и использованию обработки / отчета.
//
Функция СведенияОВнешнейОбработке() Экспорт
// Для начала работы с внешней(им) обработкой / отчетом (далее: обработка),
// конфигурация запрашивает структуру параметров регистрации.
// 1. Перед ее (структуры «ПараметрыРегистрации») созданием необходимо подготовить
// коллекцию (массив) назначений обработки: объекты, для которых создана данная обработка.
// Параметры:
// элемент массива — строка, полный путь к объекту метаданных, для которого предназначена обработка.
//
МассивНазначений = Новый Массив;
// 2. Создадим таблицу значений, содержащую свойства команд, используемых для выполнения обработки.
//
ОписаниеТиповСтрока = Новый ОписаниеТипов(«Строка»);
ТаблицаКоманд = Новый ТаблицаЗначений;
ТаблицаКоманд.Колонки.Добавить(«Представление», ОписаниеТиповСтрока);
ТаблицаКоманд.Колонки.Добавить(«Идентификатор», ОписаниеТиповСтрока);
ТаблицаКоманд.Колонки.Добавить(«Использование», ОписаниеТиповСтрока);
ТаблицаКоманд.Колонки.Добавить(«ПоказыватьОповещение», Новый ОписаниеТипов(«Булево»));
ТаблицаКоманд.Колонки.Добавить(«Модификатор», ОписаниеТиповСтрока);
// Указывается следующий состав свойств команды:
// — Представление — строка, которая будет выведена пользователю в форме
// дополнительной обработки, как идентификатор команды.
// — Идентификатор — строка, идентификатор участка программного кода,
// который предназначен для выполнения текущего функционала.
// — Использование — строка, вариант использования обработки:
// — ОткрытиеФормы — имя формы, которую необходимо открыть;
// — ВызовКлиентскогоМетода — экспортный метод из модуля формы обработки, который нужно выполнить;
// — ВызовСерверногоМетода — экспортный метод из модуля объекта обработки, который нужно выполнить.
// — ПоказыватьОповещение — признак, нужно ли выводить оповещение о начале и завершении обработки.
// — Модификатор — необходим для обработки печати, содержит строку «ПечатьMXL».
//
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = «Консоль запросов»;
НоваяКоманда.Идентификатор = «КонсольЗапросов»;
НоваяКоманда.Использование = «ОткрытиеФормы»;
НоваяКоманда.ПоказыватьОповещение = Истина;
НоваяКоманда.Модификатор = «Консоль запросов»;
// Создадим парметров регистрации обработки:
// — Вид — вариант обработки, который может быть одним из следующих вариантов:
// — ДополнительнаяОбработка;
// — ДополнительныйОтчет;
// — ЗаполнениеОбъекта;
// — Отчет
// — ПечатнаяФорма
// — СозданиеСвязанныхОбъектов
// — Назначение — массив, созданный предварительно.
// — Наименование — строка, представление обработки в элементе справочника, в котором она хранятся в бинарном значении.
// — Безопасный режим — признак использования обработки с учетом прав.
// — Версия — номер версии обработки.
// — Информация — краткое описание обработки.
// — Команды — таблица значений содержащая команды и их свойства.
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить(«Вид», «ДополнительнаяОбработка»);
ПараметрыРегистрации.Вставить(«Назначение», МассивНазначений);
ПараметрыРегистрации.Вставить(«Наименование», «Консоль запросов»);
ПараметрыРегистрации.Вставить(«БезопасныйРежим», Ложь);
ПараметрыРегистрации.Вставить(«Версия», «1.00»);
ПараметрыРегистрации.Вставить(«Информация», «Консоль запросов для 1С:Предприятие (Управляемое приложение).»);
ПараметрыРегистрации.Вставить(«Команды», ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции // СведенияОВнешнейОбработке()
Перейти к контенту
Для открытия внешних отчетов и/или обработок в 1С 8.3 есть несколько способов. Самый быстрый способ открыть внешнюю обработку или отчет – это перетащить мышкой файл в окно 1С Предприятие. Однако этот способ не всегда удобен.
Самый простой способ это открытие через Меню->Файл->Открыть. Как это сделать:
Запуск файла *.epf/*.erf в режиме 1С Предприятие 8.3.15 и выше:
Стартуем 1С Предприятие 8.3 по желто-красному ярлыку и выбираем нужную базу данных:
Авторизируемся (если нужно), выбираем пользователя и вводим пароль:
В меню программы (сверху-справа) жмем на кнопку меню и находим пункт «Файл». Нажимаем «Файл» –> «открыть»:
Выбираем нужный нам файл с расширением *.erf или *.epf (например: ВнешнийОтчетРезультат.erf) с жёсткого диска или сетевой папки и нажимаем кнопку открыть:
Если платформа не обнаружит синтаксических ошибок или, например недостающих компонент, то внешняя обработка/отчет запустится в окне 1С Предприятия для выполнения своего предназначения.
Эффективной Вам работы с Вашей внешней(-им) обработкой (отчетом)!
Если предполагается использование отчета (обработки) для определённого документа, то можно подключить его в меню конфигурации:
В меню начальной страницы выбираем «Администрирование» и открываем «Дополнительные отчеты и обработки»:
Нажимаем кнопку «Добавить из файла на диске»:
Система безопасности выдаст следующее предупреждение. Если уверены в происхождении отчета, жмем «Продолжить»:
В конфигурации подключена БСП и при отсутствии функции СведенияОВнешнейОбработке, появится следующая ошибка: «Невозможно подключить дополнительный отчет из файла. Возможно, он не подходит для этой версии программы. Техническая информация: Метод объекта не обнаружен (СведенияОВнешнейОбработке)». Для решения этой проблемы нужно создать соответствующую функцию в модуле объекта. См.пример кода!
Когда функция СведенияОВнешнейОбработке в отчете будет определена, программа зарегистрирует отчет в системе и запомнит, для какого документа предназначен отчет (корректно заполнит настройки).
Можно открыть любой документ (для которого подключен отчет) и проверить его наличие в меню.
Copyright©, «Программист 1С в г.Минске», 19.12.2021
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
добрый день
пытаюсь подключить внешнюю обработку для подключения зарплатного проекта.
(Администрирование, дополнительные обработки, создать, выбираю файл который мне выдал банк)
получаю ответ:
Невозможно подключить дополнительную обработку из файла.
Возможно, она не подходит для этой версии программы.
{ВнешняяОбработка.ОбменКаминПСБ.МодульОбъекта(175,80)}: Переменная не определена (РабочаяДата)
может быть я что то не так делаю?
Тема закрыта.