Вызов процедуры внешней обработки? #744413


#0 by Demetres
Добрый день! Столкнулся с бидэ, пытаюсь открыть внешнюю обработку из двоичных данных и вызвать экспортную процедуру модуля объекта этой обработки, выдает ошибку нет такого метода. Все в обычном приложении. Код: текст ошибки: {ОбщийМодуль.УниверсальныеМеханизмы.Модуль(3528)}: Метод объекта не обнаружен (ВыполнитьДействияОбработки) Если кто знает в чем проблема подскажите
#1 by Волшебник
сделай её экспортной
#2 by Demetres
Ой
#3 by ДенисЧ
Я знаю только один способ столкнуться с бидэ....
#4 by Demetres
Вроде дошло
#5 by Demetres
Ложная тревога, вопрос актуален
#6 by Demetres
вот она из модуля объекта обработки: как сделать её ещё экспортней, не знаю :(
#7 by EugeniaK
Смотри, что в объекте "Обработка"
#8 by Demetres
Там: ИспользуемоеИмяФайла    "e1cib empstorage7aa5283c-673f-4a56-bf0d-8d8b99be5046"    Строка ЭтотОбъект    ВнешняяОбработкаОбъект.ВнешняяОбработка    ВнешняяОбработкаОбъект.ВнешняяОбработка
#9 by asady
код у тебя где выполняется?
#10 by Demetres
на сервере
#11 by Demetres
Похоже так не получиться вызвать процедуру модуля объекта этой внеш. обработки, в СП написано что можно только к реквизитам обращаться. ВнешняяОбработка (ExternalDataProcessor) Свойства: <Имя реквизита> (<Attribute name>) <Имя табличной части> (<Tabular section name>) Методы: Метаданные (Metadata) События: ОбработкаПроверкиЗаполнения (FillCheckProcessing)
#12 by Demetres
Может есть другой способ, запустить её и вызвать процедуру модуля объекта?
#13 by Demetres
Ребята, может у кого есть умная идея? Очень бы пригодилось.
#14 by shpioleg
Все там можно обращаться. Напутал ты просто где-то.
#15 by shpioleg
+ Попробуй без второго параметра, просто Обработка        = ВнешниеОбработки.Создать(АдресОбработки);
#16 by Demetres
Спасибо за поддержку, пробовал без создания, все равно пишет что "Метод объекта не обнаружен (ВыполнитьДействияОбработки)". Нашел код похожий, тоже вызывается процедура Модуля объекта обработки, почему у меня не срабатывает не пойму???
#17 by shpioleg
Ну у меня прекрасно работает
#18 by shpioleg
Вариант синтаксиса: По имени обработки Синтаксис: Создать(<Имя>) Параметры: Тип: Строка. Имя внешней обработки, полученное после подключения. Описание варианта метода: Предварительно обработка должна быть подключена методом Подключить. Возвращаемое значение: Тип: ВнешняяОбработка.
#19 by Demetres
Блин, в чем же дело, почему у меня тогда не работает, вроде все тоже самое
#20 by Demetres
Да вроде же и подключение есть, надо разбираться дальше, главное что теперь точно известно что так можно
#21 by shpioleg
Так ты поменял Обработка        = ВнешниеОбработки.Создать(АдресОбработки, Ложь); вот на это ? Ты используешь синтаксис по пути к файлу Вариант синтаксиса: По имени файла Синтаксис: Создать(<ПолноеИмяФайла>, <БезопасныйРежим>)
#22 by Михаил Козлов
В типовых так работают внешние печатные формы и обработки таб. частей (через экспортные процедуры модулей объектов).
#23 by Demetres
Сейчас как раз пробую
#24 by Demetres
Тоже самое {ОбщийМодуль.УправлениеПечатьюВызовСервера.Модуль}: Метод объекта не обнаружен (ВыполнитьДействияОбработки) Прописал: АдресОбработки  = ВнешниеОбработки.Подключить(АдресВХД);
#25 by НЕА123
может обработка не та, или все-таки процедура в форме.
#26 by shpioleg
А причем здесь метод Подключить? Я как бы про Создать писал. Создай просто экспортную переменную в модуле обработки. Ее должно быть видно в отладчике в твоей переменной Обработка.
#27 by Demetres
Точно модуль объекта, уже 100 раз это проверил А реквизиты должны быть видны после создания или нет?
#28 by shpioleg
После создания. Ты отладчик запускал, смотрел что у тебя в переменных?
#29 by Demetres
у меня там только то что в реквизитов нет почему-то? наверное создание неправильно сделал?
#30 by shpioleg
А я о чем? :) У метода Создать 2 варианта синтаксиса. Тебе нужен второй, по имени обработки(то что вернул метод Подключить), а не по имени файла, как у тебя.
#31 by Demetres
Ясно. Сейчас буду пробовать, только пока база мертвая нужно подождать немного
#32 by Demetres
не пойму что с х...
#33 by Demetres
А как у вас получается реквизит АдресХранилища?
#34 by Demetres
Нужно использовать не "ВнешниеОбработки.Создать(" а "ВнешниеОтчеты.Создать(". Всем спасибо!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С