Вызов функции внешней обработки из другой обработки

1. VoVo 16.12.22 10:30 Сейчас в теме
Здравствуйте, есть обработка запускаю как внешнюю она должна с помощью этой функции:
Функция ВызватьВнешнююОбработку(ПараметрыВызова=неопределено) Экспорт
	
	СсылкаНаОбъект = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Отладка телеграмм");
	
	Если не ЗначениеЗаполнено(СсылкаНаОбъект) Тогда
		Сообщить("Обработка не найдена");
		Возврат неопределено;
	КонецЕсли;
	
	//ЭтоОбработка = ?(СсылкаНаОбъект.Вид = Перечисления.ВидыДополнительныхВнешнихОбработок., Истина, Ложь);
	//
	//Если НЕ ЭтоОбработка Тогда
	//	Возврат неопределено;
	//КонецЕсли;
	
	ИмяФайла = ПолучитьИмяВременногоФайла();
	ДвоичныеДанные = СсылкаНаОбъект.ХранилищеОбработки.Получить();
	ДвоичныеДанные.Записать(ИмяФайла);
	
	Попытка
		Обработка = ВнешниеОбработки.Создать(ИмяФайла);
		ЗначениеИзОбработки = Обработка.ПроверкаСообщений();
	Исключение
		Сообщить ("Выбранный файл не является внешней обработкой,
		|поврежден, либо функция вызвана неверно.");
	КонецПопытки;
	
	УдалитьФайлы(ИмяФайла);
	Возврат ЗначениеИзОбработки;
	
КонецФункции
Показать


должна вызвать функцию встроенной уже встроенной как доп другой внешней обработки, вот функция:
Функция ПроверкаСообщений() Экспорт
	
	//Адрес = "C:\Users\GusevVV\Desktop\ОтладкаТелеграмм.epf";
	//Обр = ВнешниеОбработки.Создать(Адрес, БезопасныйРежим());
	//Обр.ПроверкаСообщений();
	//Возврат;
	
	Настройки = Справочники.Макс_TelegramНастройки.ОсновнойБот;
	ПРокси = Новый ИнтернетПрокси;
	ПРокси.Установить("https", Настройки.Адрес, Настройки.Порт);
	ПРокси.Установить("http", Настройки.Адрес, Настройки.Порт);
Показать


В результате дает ошибку в строке ЗначениеИзОбработки = Обработка.ПроверкаСообщений();
"Выбранный файл не является внешней обработкой,
|поврежден, либо функция вызвана неверно."
Срабатывает исключение, хотя функция экспорт как положено, обр отладка показывает есть объект, не пойму что не так делаю.
По теме из базы знаний
Найденные решения
22. Alex_E 2374 16.12.22 13:39 Сейчас в теме
(21) 1. Если нажать на кнопку Выполнить со второго скрина - она работает?
2. При нажатии на Выполнить что вызывается?
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. glek 120 16.12.22 10:33 Сейчас в теме
(1) А если попробовать ПолучитьИмяВременногоФайла("epf")?
А вообще копайте в сторону блока ДополнительныеОтчетыИОбработки из БСП (если есть) - там корректно подключаются доп. обработки из справочника.
3. VoVo 16.12.22 11:00 Сейчас в теме
(2) epf не помогает, копаюсь в бсп
4. user5300 1063 16.12.22 11:20 Сейчас в теме
(3) Попробуйте для начала узнать информацию об ошибке:

Попытка
        Обработка = ВнешниеОбработки.Создать(ИмяФайла);
        ЗначениеИзОбработки = Обработка.ПроверкаСообщений();
    Исключение
        Сообщить ("Выбранный файл не является внешней обработкой,
        |поврежден, либо функция вызвана неверно." + 
         ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) );
    КонецПопытки;
Показать
8. VoVo 16.12.22 11:44 Сейчас в теме
(4)Узнал, скрин. Но режим менял при регистрации обработки при перезагрузки на ложь и истину(безопасный режим), ошибка в обоих случаях одна
5. lefthander 16.12.22 11:23 Сейчас в теме
(1)Я бы не Обработка -назвал переменную, а ка нибудь- ТестоваяВнешняяОбработка
9. VoVo 16.12.22 11:44 Сейчас в теме
(1)Узнал, скрин. Но режим менял при регистрации обработки при перезагрузки на ложь и истину(безопасный режим), ошибка в обоих случаях одна
23. DBV 16.12.22 14:30 Сейчас в теме
(1) Сделал как у Вас, функция выполняется без проблем

PS Функция в модуле объекта же? В сохраненной в базе обработке такая функция присутствует?
Попробуйте вызвать функцию обработки СведенияОВнешнейОбработке
Прикрепленные файлы:
6. Alex_E 2374 16.12.22 11:31 Сейчас в теме
Уберите Попытку - увидите ошибку...
7. Alex_E 2374 16.12.22 11:35 Сейчас в теме
Про БСП:
	ПараметрыКоманды = Новый Структура("ДополнительнаяОбработкаСсылка, ИдентификаторКоманды", Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Отладка телеграмм"), "ПроверкаСообщений");
	ДополнительныеОтчетыИОбработки.ВыполнитьКоманду(ПараметрыКоманды);


ПроверкаСообщений должэы быть объявлена в модуле обработки с Экспорт
10. VoVo 16.12.22 12:10 Сейчас в теме
(7)
ПараметрыКоманды = Новый Структура("ДополнительнаяОбработкаСсылка, ИдентификаторКоманды", Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Отладка телеграмм"), "ПроверкаСообщений");
ДополнительныеОтчетыИОбработки.ВыполнитьКоманду(ПараметрыКоманды);

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

Ошибку дает:
Команда ПроверкаСообщений не обнаружена.
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2515)}: ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Команда %1 не обнаружена.'"), ИдентификаторКоманды);
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(341)}: РезультатВыполнения = ВыполнитьКомандуВнешнегоОбъекта(ВнешнийОбъект, ИдентификаторКоманды, ПараметрыКоманды, АдресРезультата);
{ВнешняяОбработка.ЗагрузкаСообщенийТелеграм.МодульОбъекта(80)}: ДополнительныеОтчетыИОбработки.ВыполнитьКоманду(ПараметрыКоманды);
{ВнешняяОбработка.ЗагрузкаСообщенийТелеграм.Форма.Форма.Форма(5)}: ДокументОбъект.ВызватьВнешнююОбработку();
{ВнешняяОбработка.ЗагрузкаСообщенийТелеграм.Форма.Форма.Форма(10)}: ЗагрузитьНаСервере();
11. VoVo 16.12.22 12:10 Сейчас в теме
(10)Ссылканаобъектлишнее
12. VoVo 16.12.22 12:29 Сейчас в теме
(11)Но все равно не идет, не пойму что я не так делаю
13. Alex_E 2374 16.12.22 12:31 Сейчас в теме
(12) Команда не обнаружена - значит процедура или функция внешней обработки скорее всего, не экспортная...
14. VoVo 16.12.22 12:39 Сейчас в теме
(13)И прочитатьСообщение() Экспорт и ВызватьВнешнююОбработку(ПараметрыВызова=неопределено) Экспорт(хотя не важно думаю тоже экспорт)
15. VoVo 16.12.22 13:04 Сейчас в теме
(14)Экспорт стоит везде, дело в чем то другом
(14)
16. Alex_E 2374 16.12.22 13:04 Сейчас в теме
(14) Это функция из первого поста....я так понял, тут вызов второй обработки, а вот там как объявлена функция ПроверкаСообщений я не вижу...
17. VoVo 16.12.22 13:07 Сейчас в теме
(16)я на всякий случай вообще все связанные хоть как-то экпорт сделал
Прикрепленные файлы:
18. independ 1551 16.12.22 13:10 Сейчас в теме
(17) скопипастить название функции, имя обработки, вставить, может символы (рус/лат) подменены и проч.
20. VoVo 16.12.22 13:16 Сейчас в теме
(18)Перекопипастил все, попробовал опять та же ошибка
19. Alex_E 2374 16.12.22 13:12 Сейчас в теме
(17) Тогда следующий вопрос - Обработка отладка телеграмм в дополнительных отчетах и обработках зарегистрирована? БСП не работает с файлом на диске, она работает со своим справочником (конечнео, если глубоко порыться - там видно, что по ссылке из справочника создается там временный файл и он выполняется. кстати там вызов из файла можно подсмотреть)
21. VoVo 16.12.22 13:19 Сейчас в теме
(19)Встроена, на скринах
Прикрепленные файлы:
22. Alex_E 2374 16.12.22 13:39 Сейчас в теме
(21) 1. Если нажать на кнопку Выполнить со второго скрина - она работает?
2. При нажатии на Выполнить что вызывается?
24. VoVo 16.12.22 15:00 Сейчас в теме
(22)Да спасибо навели на мысль, разобрался, заодно освоил не много как работает сведенияоВнешнейОбработке и вызов серверных клиентских методов да открытие формы.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот