Ошибка метод объекта не обнаружен сведенияовнешнейобработке

0

Dns012

24.01.23

10:37

Здравствуйте, ввдает ошибку мне при добавлении внешнего отчета.

Невозможно подключить дополнительный отчет из файла.

Возможно, он не подходит для этой версии программы.

Техническая информация:

Метод объекта не обнаружен (СведенияОВнешнейОбработке)

Я модуль прописал но все равно пишет что метод объекта не обнаружен, не знаете в чем может быть причина?

1

mikecool

24.01.23

10:40

нет такого метода в области видимости ,ваш кеп

2

Мультук

24.01.23

10:55

(0)

Сейчас придут телепаты, выяснят, что у тебя за конфа, что ты написал модуле обработки и назовут причины.

Нужно просто подождать.

3

Dns012

24.01.23

11:14

Функция СведенияОВнешнейОбработке() Экспорт

      Версия = «13.01.2023»;

    ПараметрыРегистрации = Новый Структура;

    ПараметрыРегистрации.Вставить(«Вид», «ДополнительныйОтчет»);

    ПараметрыРегистрации.Вставить(«Назначение», «»);

    ПараметрыРегистрации.Вставить(«Наименование», «ОтчетПоПоступлениям » + Версия);

    ПараметрыРегистрации.Вставить(«Версия», Версия);

    ПараметрыРегистрации.Вставить(«БезопасныйРежим», Ложь);

    ПараметрыРегистрации.Вставить(«Информация», «Отчет по поступлениям» + Версия);

    
    ТаблицаКоманд = ПолучитьТаблицуКоманд();

    ДобавитьКоманду(ТаблицаКоманд, «Отчет по поступлениям (в формате EXCEL)» + Версия,, «ОткрытиеФормы», Истина);

    ПараметрыРегистрации.Вставить(«Команды», ТаблицаКоманд);

    
    Возврат ПараметрыРегистрации;

    
КонецФункции

Функция ПолучитьТаблицуКоманд()

    
     Команды = Новый ТаблицаЗначений;

Команды.Колонки.Добавить(«Представление», Новый ОписаниеТипов(«Строка»));

Команды.Колонки.Добавить(«Идентификатор», Новый ОписаниеТипов(«Строка»));

Команды.Колонки.Добавить(«Использование», Новый ОписаниеТипов(«Строка»));

Команды.Колонки.Добавить(«ПоказыватьОповещение», Новый ОписаниеТипов(«Булево»));

Команды.Колонки.Добавить(«Модификатор», Новый ОписаниеТипов(«Строка»));

Возврат Команды;    

КонецФункции

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

    
    НоваяКоманда = ТаблицаКоманд.Добавить();

НоваяКоманда.Представление = Представление;

НоваяКоманда.Идентификатор = Идентификатор;

НоваяКоманда.Использование = Использование;

НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;

НоваяКоманда.Модификатор = Модификатор;    

КонецПроцедуры

7

Мультук

24.01.23

13:17

(4)

1) Я создал новый внешний отчет

2) Скопипастил код из (3) в модуль отчёта

3) Сохранил

УТ 11.5.10.73 на движке 8.3.22.1709 согласилась, что внешний отчёт таки кошерный и добавила его во внешние отчёты.

Что у тебя за конфа и на каком движке — я хз

8

riy

17.05.23

10:11

(7)

Мультук Подскажите во 2 пункте «Скопипастил код из (3) в модуль отчёта»,

Вы скопировали код в модуль отчета т.е модуль объекта отчет? тут загвоздка появилась что если открыть внешний отчет то модуль объекта не доступен

Или создали общий модуль СведенияОВнешнейОбработке ?

9

Мультук

17.05.23

10:31

(8)

Создал новый внешний отчёт

Действия — открыть модуль объекта

Открылся модуль отчета.

Скопировал туда текст из (3)

Отчет сохранил.

Во внешнем отчете недоступен менеджер объекта/отчета.

При попытке создать дополнительный внешний отчет через пользовательскую часть в erp, получили ошибку «Метод объекта не обнаружен (СведенияОВнешнейОбработке)»

После создания отчета через СКД в Конфигурации, необходимо добавить через кнопку «Действия» — «Открыть модуль объекта», функцию:

Добавить:

Функция СведенияОВнешнейОбработке() Экспорт
	
    ИмяОтчета = ЭтотОбъект.Метаданные().Имя; 
    Синоним = ЭтотОбъект.Метаданные().Синоним; 
    Синоним = ?(ЗначениеЗаполнено(Синоним),Синоним, ИмяОтчета);         	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
    ПараметрыРегистрации.Версия = "2.0.0.0";
    ПараметрыРегистрации.Наименование = Синоним; //имя под которым обработка будет зарегистрирована в справочнике внешних обработок
    ПараметрыРегистрации.Информация = "Отчет :" + Синоним; //так будет выглядеть описание вн.отчета для пользователя
	Возврат ПараметрыРегистрации; 
	                                  
КонецФункции

Данная функция добавит из отчета сведения, которые заполняются при создании отчета СКД. После этого не будет ошибки «Метод объекта не обнаружен (СведенияОВнешнейОбработке)»:

Сохраняем отчет в *.erf

Перейдем к добавлению отчета в 1С в режиме работы Предприятие:

01 «НСИ и администрирование» — «Дополнительные отчеты и обработки» — кнопка «Добавить из файла»:

После предупреждения безопасности:

«Продолжить» выбираем на диске сохраненный отчет с расширением *.erf

02 После выбора и добавления файла отчета, его наименование будет взято из поля Синоним. Остается выбрать «Используется» и «Записать» внешний отчет:

03 Внешний отчет, можно разместить в списке всех отчетов. Для этого необходимо перейти на вкладку «Варианты отчета» — кнопка «Разместить в разделах…»:

Выбрать нужный раздел:

04 После кнопки «Разместить», отчет можно найти в списке всех отчетов: «Главное» — «Все отчеты»:

На чтение 7 мин. Просмотров 1k. Опубликовано 15.12.2019

СведенияОВнешнейОбработке — экспортная функция в 1С 8.3, необходимая для подключения внешней обработки в конфигурации 1С на управляемых формах. Пример функции приведен ниже (ее необходимо добавить в модуль внешней обработки).

Функция СведенияОВнешнейОбработке () Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить(«Вид», «ДополнительнаяОбработка»);
ПараметрыРегистрации.Вставить(«Наименование», НСтр(«ru = ‘Ваше наименование’»));
ПараметрыРегистрации.Вставить(«Версия», «1.0»);
ПараметрыРегистрации.Вставить(«БезопасныйРежим», Истина );
ПараметрыРегистрации.Вставить(«Информация», НСтр(«ru = ‘Ваша информация’»));

ДобавитьКоманду(ТаблицаКоманд,
НСтр(«ru = ‘Ваше наименование’»),
«ВашеНаименование»,
«ОткрытиеФормы»,
Истина ,
«»);

Возврат ПараметрыРегистрации;
КонецФункции

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

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

Часто на работе нужно оперативно разработать какой либо отчет и отправить его на тестирование сразу в боевую базу, причем нескольким пользователям одновременно. Рассылать его как внешний отчет каждому пользователю, выдавать права на открытие внешних отчетов и обработок, объяснять как его открыть долго и не удобно. Поэтом всегда пользуюсь справочником “Дополнительные отчеты и обработки”.

И каждый раз написав отчет и прикрепляя его в этот справочник у меня возникает одна и та же ошибка “Метод объекта не обнаружен (СведенияОВнешнейОбработке)”.


Метод объекта не обнаружен

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

Содержание

  1. Михаил Сайко
  2. Создаем внешнюю обработку в 1С 8.3
  3. Подключение внешней обработки в 1С

Михаил Сайко

Внешние обработки – очень удобный инструмент для компаний, использующих типовые конфигурации на 1С:Предприятие 8.3. Они позволяют не тратить силы и средства на обновления 1С, давая возможность обновлять базы одной кнопкой в режиме простого пользователя. Используя механизм библиотеки стандартных подсистем, можно добавить различные кнопки в документы и справочники, не изменяя типовую конфигурацию. Рассмотрим пример создания и подключения внешней обработки в одной из конфигураций 1С.

Создаем внешнюю обработку в 1С 8.3

Чтобы создать новую внешнюю обработку, используем конфигуратор. Через меню «Файл» выбираем команду создания «Новый…» и определяемся, что мы будем создавать внешнюю обработку. В открывшемся окне задаем имя, и при нажатии «Enter» оно заполняется автоматически. Также это имя вам предложит система в качестве названия файла при сохранении.

Добавим форму обработки, нажав на кнопку с изображением лупы в соответствующем окне. Для примера создадим обработку, показывающую, в каких заказах клиента используется определенная номенклатура. Для этого нам необходимо разместить на форме:

  • Реквизит – поле для установки номенклатуры;
  • Кнопку, которая выполнит вызов кода.

Добавляем реквизит «Номенклатура» с типом данных «СправочникСсылка.Номенклатура» в соответствующем разделе и кнопку «Показать» в меню «Команды» -> «Команды формы».

Чтобы на форме отразились добавленные данные, их необходимо перетащить в элементы формы, расположенные в левой верхней части. Есть возможность поменять местами элементы с помощью синих стрелок. Чтобы созданная нами кнопка выполняла задуманное, ей нужно назначить процедуру. Через контекстное меню выберем «Действие команды», и на вопрос, где нужен обработчик, ответим: «Создать на клиенте и процедуру на сервере».

Мы выбрали создание процедуры на сервере, так как хотим в качестве результата получить выборку из базы данных. На клиенте у нас нет такой возможности, поэтому потребуется подключение к серверу, который и обменивается с БД данными. Теперь нам необходимо написать код, который реализует задуманное нами. Будет использоваться запрос и вывод всех документов через функцию «Сообщить()».

На текущем этапе мы можем в запущенной базе 1С осуществить открытие внешней обработки как обыкновенного файла, и она уже будет работоспособна. Но если у нас много пользователей, нам придется разослать им всем этот файл, снабдив при этом его инструкцией о том, как его, собственно, открывать в 1С, что крайне неудобно. Чтобы этого избежать, наша обработка должна располагаться внутри одного из разделов 1С. Для этого нам необходимо еще немного ее доработать через конфигуратор, указав определенные настройки.

Чтобы разместить внешнюю обработку в разделе 1С, необходимо ей в модуле объекта прописать процедуру «СведенияОВнешнейОбработке». В основном меню обработки нажмите «Действия» и выберите «Модуль объекта». Здесь необходимо прописать все нужные для 1С настройки, чтобы система поняла, что от нее требуется и что за файл перед ней. На скриншоте изображен код функции «СведенияОВнешнейОбработке».

Подключение внешней обработки в 1С

Перед тем, как подключать внешнюю обработку к типовой конфигурации, необходимо включить использование этого инструмента. В «Администрировании» в подпункте «Печатные формы, отчеты и обработки» устанавливаем флаг напротив нужного нам механизма. Нам становится доступна кнопка перехода к справочнику дополнительных обработок и отчетов.

При переходе к списку создадим новую строчку в нем, и система предложит выбрать файл. Выбираем сделанную нами и сохраненную обработку, и конфигурация 1С самостоятельно заполняет большинство полей. Через кнопку «Выполнить» мы уже можем проверить работоспособность нашей обработки, но это не слишком удобно для остальных пользователей. Чтобы у пользователей появилась наша команда, и они могли сделать вызов, нам необходимо:

  • Указать размещение объекта. Нажатием на «Не определено» мы открываем окно разделов и укажем, в каких разделах будет доступна операция;
  • Выбрать пользователей, у которых данная команда появится в меню «Дополнительные обработки» выбранных разделов без лишних настроек. Для этого в табличной части нужно выбрать пункт «Быстрый доступ» и добавить в правую половину ответственных пользователей;
  • На вкладке «Дополнительная информация» вы можете указать папку, в которой будет находиться загруженная обработка;
  • После нажатия клавиши «Записать» в выбранном разделе в меню «Дополнительные обработки» пользователи обнаружат нашу команду и смогут ею воспользоваться.

Если мы хотим внести изменения в нашу обработку, необходимо сначала выгрузить ее из базы. Для этого в справочнике «Дополнительные обработки и отчеты» найдите нужную строчку и воспользуйтесь командой «Выгрузить в файл…». Внесите изменения, сохраните обработку и через клавишу «Загрузить из файла…» найдите измененный файл epf, не меняя параметры. После записи все пользователи увидят внесенные изменения.

Если вы используете не типовую или снятую с поддержки базу 1С, то воспользуйтесь возможностью загрузить обработку через конфигуратор. В дереве объектов в разделе «Обработки» создайте новую обработку и через контекстное меню выберите «Заменить на внешнюю обработку, отчет…». Останется лишь настроить запуск внешней обработки из нужного раздела, включив добавленную обработку в нужную подсистему.

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

Перейти к контенту

Для открытия внешних отчетов и/или обработок в 1С 8.3 есть несколько способов. Самый быстрый способ открыть внешнюю обработку или отчет – это перетащить мышкой файл в окно 1С Предприятие. Однако этот способ не всегда удобен.

Самый простой способ это открытие через Меню->Файл->Открыть. Как это сделать:

Запуск файла *.epf/*.erf в режиме 1С Предприятие 8.3.15 и выше:

Стартуем 1С Предприятие 8.3 по желто-красному ярлыку и выбираем нужную базу данных:


Авторизируемся (если нужно), выбираем пользователя и вводим пароль:


В меню программы (сверху-справа) жмем на кнопку меню и находим пункт «Файл». Нажимаем «Файл» –> «открыть»:


Выбираем нужный нам файл с расширением *.erf или *.epf (например: ВнешнийОтчетРезультат.erf) с жёсткого диска или сетевой папки и нажимаем кнопку открыть:


Если платформа не обнаружит синтаксических ошибок или, например недостающих компонент, то внешняя обработка/отчет запустится в окне 1С Предприятия для выполнения своего предназначения.


Эффективной Вам работы с Вашей внешней(-им) обработкой (отчетом)!

Если предполагается использование отчета (обработки) для определённого документа, то можно подключить его в меню конфигурации:

В меню начальной страницы выбираем «Администрирование» и открываем «Дополнительные отчеты и обработки»:


Нажимаем кнопку «Добавить из файла на диске»:

Система безопасности выдаст следующее предупреждение. Если уверены в происхождении отчета, жмем «Продолжить»:

В конфигурации подключена БСП и при отсутствии функции СведенияОВнешнейОбработке, появится следующая ошибка: «Невозможно подключить дополнительный отчет из файла. Возможно, он не подходит для этой версии программы. Техническая информация: Метод объекта не обнаружен (СведенияОВнешнейОбработке)». Для решения этой проблемы нужно создать соответствующую функцию в модуле объекта. См.пример кода!


Когда функция СведенияОВнешнейОбработке в отчете будет определена, программа зарегистрирует отчет в системе и запомнит, для какого документа предназначен отчет (корректно заполнит настройки).

Можно открыть любой документ (для которого подключен отчет) и проверить его наличие в меню.  

Copyright©, «Программист 1С в г.Минске», 19.12.2021

Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник

Раньше ничего специального делать было не надо, можно было просто добавить свою обработку в справочник обработок и все, теперь же надо обязательно надо описать функцию СведенияОВнешнейОбработке() иначе получите ошибку:

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

Техническая информация:
Метод объекта не обнаружен (СведенияОВнешнейОбработке)

Если вы увидели эту ошибку, то можете просто вставить этот текст в модуль своей обработки.

Пример функции СведенияОВнешнейОбработке()

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

Понравилась статья? Поделить с друзьями:
  • Ошибка мерседес актрос fr5754
  • Ошибка меткого стрелка это
  • Ошибка митсубиси b1411
  • Ошибка мид 128 рено премиум
  • Ошибка мерседес актрос bs 4240