Вызов функции внешней обработки из другой обработки
Здравствуйте, есть обработка запускаю как внешнюю она должна с помощью этой функции:
должна вызвать функцию встроенной уже встроенной как доп другой внешней обработки, вот функция:
В результате дает ошибку в строке ЗначениеИзОбработки = Обработка.ПроверкаСообщений();
"Выбранный файл не является внешней обработкой,
|поврежден, либо функция вызвана неверно."
Срабатывает исключение, хотя функция экспорт как положено, обр отладка показывает есть объект, не пойму что не так делаю.
Функция ВызватьВнешнююОбработку(ПараметрыВызова=неопределено) Экспорт
СсылкаНаОбъект = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Отладка телеграмм");
Если не ЗначениеЗаполнено(СсылкаНаОбъект) Тогда
Сообщить("Обработка не найдена");
Возврат неопределено;
КонецЕсли;
//ЭтоОбработка = ?(СсылкаНаОбъект.Вид = Перечисления.ВидыДополнительныхВнешнихОбработок., Истина, Ложь);
//
//Если НЕ ЭтоОбработка Тогда
// Возврат неопределено;
//КонецЕсли;
ИмяФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = СсылкаНаОбъект.ХранилищеОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
Попытка
Обработка = ВнешниеОбработки.Создать(ИмяФайла);
ЗначениеИзОбработки = Обработка.ПроверкаСообщений();
Исключение
Сообщить ("Выбранный файл не является внешней обработкой,
|поврежден, либо функция вызвана неверно.");
КонецПопытки;
УдалитьФайлы(ИмяФайла);
Возврат ЗначениеИзОбработки;
КонецФункции
Показатьдолжна вызвать функцию встроенной уже встроенной как доп другой внешней обработки, вот функция:
Функция ПроверкаСообщений() Экспорт
//Адрес = "C:\Users\GusevVV\Desktop\ОтладкаТелеграмм.epf";
//Обр = ВнешниеОбработки.Создать(Адрес, БезопасныйРежим());
//Обр.ПроверкаСообщений();
//Возврат;
Настройки = Справочники.Макс_TelegramНастройки.ОсновнойБот;
ПРокси = Новый ИнтернетПрокси;
ПРокси.Установить("https", Настройки.Адрес, Настройки.Порт);
ПРокси.Установить("http", Настройки.Адрес, Настройки.Порт);
ПоказатьВ результате дает ошибку в строке ЗначениеИзОбработки = Обработка.ПроверкаСообщений();
"Выбранный файл не является внешней обработкой,
|поврежден, либо функция вызвана неверно."
Срабатывает исключение, хотя функция экспорт как положено, обр отладка показывает есть объект, не пойму что не так делаю.
По теме из базы знаний
- Пример обработки загрузки данных из XML-файла в облаке 1С:Fresh
- Асинхронное программирование в 1с77 без внешних компонент. Обратные вызовы.
- Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке
- Консоль кода с поддержкой объявления процедур и функций, с дополнительными функциями отслеживания и вывода значений
- Индикатор прогресса фонового выполнения дополнительной обработки БСП
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) Попробуйте для начала узнать информацию об ошибке:
Попытка
Обработка = ВнешниеОбработки.Создать(ИмяФайла);
ЗначениеИзОбработки = Обработка.ПроверкаСообщений();
Исключение
Сообщить ("Выбранный файл не является внешней обработкой,
|поврежден, либо функция вызвана неверно." +
ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()) );
КонецПопытки;
Показать
Про БСП:
ПроверкаСообщений должэы быть объявлена в модуле обработки с Экспорт
ПараметрыКоманды = Новый Структура("ДополнительнаяОбработкаСсылка, ИдентификаторКоманды", Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Отладка телеграмм"), "ПроверкаСообщений");
ДополнительныеОтчетыИОбработки.ВыполнитьКоманду(ПараметрыКоманды);
ПроверкаСообщений должэы быть объявлена в модуле обработки с Экспорт
(7)
Сделал так
Ошибку дает:
Команда ПроверкаСообщений не обнаружена.
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2515)}: ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Команда %1 не обнаружена.'"), ИдентификаторКоманды);
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(341)}: РезультатВыполнения = ВыполнитьКомандуВнешнегоОбъекта(ВнешнийОбъект, ИдентификаторКоманды, ПараметрыКоманды, АдресРезультата);
{ВнешняяОбработка.ЗагрузкаСообщенийТелеграм.МодульОбъекта(80)}: ДополнительныеОтчетыИОбработки.ВыполнитьКоманду(ПараметрыКоманды);
{ВнешняяОбработка.ЗагрузкаСообщенийТелеграм.Форма.Форма.Форма(5)}: ДокументОбъект.ВызватьВнешнююОбработку();
{ВнешняяОбработка.ЗагрузкаСообщенийТелеграм.Форма.Форма.Форма(10)}: ЗагрузитьНаСервере();
ПараметрыКоманды = Новый Структура("ДополнительнаяОбработкаСсылка, ИдентификаторКоманды", Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Отладка телеграмм"), "ПроверкаСообщений");
ДополнительныеОтчетыИОбработки.ВыполнитьКоманду(ПараметрыКоманды);
ДополнительныеОтчетыИОбработки.ВыполнитьКоманду(ПараметрыКоманды);
Сделал так
Функция ВызватьВнешнююОбработку(ПараметрыВызова=неопределено) Экспорт
СсылкаНаОбъект = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Отладка телеграмм");
ПараметрыКоманды = Новый Структура("ДополнительнаяОбработкаСсылка, ИдентификаторКоманды", Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Отладка телеграмм"), "ПроверкаСообщений");
ДополнительныеОтчетыИОбработки.ВыполнитьКоманду(ПараметрыКоманды);
КонецФункции
Ошибку дает:
Команда ПроверкаСообщений не обнаружена.
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2515)}: ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Команда %1 не обнаружена.'"), ИдентификаторКоманды);
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(341)}: РезультатВыполнения = ВыполнитьКомандуВнешнегоОбъекта(ВнешнийОбъект, ИдентификаторКоманды, ПараметрыКоманды, АдресРезультата);
{ВнешняяОбработка.ЗагрузкаСообщенийТелеграм.МодульОбъекта(80)}: ДополнительныеОтчетыИОбработки.ВыполнитьКоманду(ПараметрыКоманды);
{ВнешняяОбработка.ЗагрузкаСообщенийТелеграм.Форма.Форма.Форма(5)}: ДокументОбъект.ВызватьВнешнююОбработку();
{ВнешняяОбработка.ЗагрузкаСообщенийТелеграм.Форма.Форма.Форма(10)}: ЗагрузитьНаСервере();
(17) Тогда следующий вопрос - Обработка отладка телеграмм в дополнительных отчетах и обработках зарегистрирована? БСП не работает с файлом на диске, она работает со своим справочником (конечнео, если глубоко порыться - там видно, что по ссылке из справочника создается там временный файл и он выполняется. кстати там вызов из файла можно подсмотреть)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот