Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
22 Янв 2017, 02:43
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: 1C 8.3 Ошибка при обращении к функции модуля объекта внешней обработки  (Прочитано 844 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн LordElf

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-22
  • Сайт: 
  • Профессия: Программист 1С
Я уже убился, понять не могу проблему.
Имею: Общий модуль запускаемый на клиенте (обычное приложение), сервер 1С 8.3.8.1685
Там прописан текст:   
   ОтчетМакетИмяЭл = ПечОбъект.ПолучитьМакет(ИмяЭл);
   ИмяВременногоФайла = ПолучитьИмяВременногоФайла("epf");
        ОтчетМакетИмяЭл.Записать(ИмяВременногоФайла);
        ОбъектОтчетности = ВнешниеОбработки.Создать(ИмяВременногоФайла, ЛОЖЬ); //пробовал Создать(ИмяВременногоФайла);
        ТабДокумент = ОбъектОтчетности.Печать123(); //должен вернуться макет. Функция печать123() в модуле объекта Экспорт

        Так у меня, ОбъектОтчетности тип  ОбработкаОбъект
        вижу все реквизиты обработки в отладчике, могу программно даже форму открыть, она открывается, все в ней заполнено, единственное кнопка "Выполнить" на форме не активна, хотя закрыть -активна и работает...

        Но при ОбъектОтчетности.Печать123(); - вываливается ошибка - "Метод объекта не обнаружен (Печать23)"
        При этом код в 8.2 работает при тех-же условиях, запускаю на сервере 8.3 - не работает, на 8.2 - все отлично причем на 8.3 кроме этого никаких багов нет.
        Пробовал и профили безопасности на сервере делать, и в безопасном и привелегированном режиме запускать... всегда один и тот-же результат

Куда рыть??


Оффлайн LordElf

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-22
  • Сайт: 
  • Профессия: Программист 1С
При этом внешние печ. формы подключенные во внешних отчетах и обработках выше писанным способом печатаются в 8.3... :dfbsdfbsdf: тоесть гдето есть какаято обвязка которая устанавливает контекст выполнения... Может кто наступал на подобные грабли?

Оффлайн LexaK

  • *****
  • Сообщений: 1084
  • РЕПУТАЦИЯ: 284
  • КПД: 26%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
Объект с макетом где обработка, приложите, посмотрим.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн LordElf

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-22
  • Сайт: 
  • Профессия: Программист 1С
Вот пример. Выгрузил из макета. Не печатаются все формы, в 8.2 печатались. В 8.3 не печатается не одна. При этом внешние печатные формы из дополнительных отчетов и обработок печатаются на ура (КА 1.1). Но нужно свое, т.к. у нас распределенная БД со множеством узлов, они все простые, (собственная разработка) там делаются только определенные вещи (происходит отгрузка инертных материалов в автомобили со взвешиванием на весах, ну и управление всем этим хозяйством) все это сводится в центр, есть желание в центре перейти на новую типовую конфигурацию, но всплыла вот такая ерунда.... день голову ломаю к ответу не приблизился...

Оффлайн LexaK

  • *****
  • Сообщений: 1084
  • РЕПУТАЦИЯ: 284
  • КПД: 26%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
хм, ну вы блин даете!
в вашей обработке НЕТ процедуры Печать123()
зато есть просто Печать()

поменяйте на такой код
ОтчетМакетИмяЭл = ПечОбъект.ПолучитьМакет(ИмяЭл);
        ИмяВременногоФайла = ПолучитьИмяВременногоФайла("epf");
        ОтчетМакетИмяЭл.Записать(ИмяВременногоФайла);
        ОбъектОтчетности = ВнешниеОбработки.Создать(ИмяВременногоФайла, ЛОЖЬ); //пробовал Создать(ИмяВременногоФайла);

        //нет такой процедуры Печать123
        //ТабДокумент = ОбъектОтчетности.Печать123(); //должен вернуться макет. Функция печать123() в модуле объекта Экспорт

        ТабДокумент = ОбъектОтчетности.Печать(); //так все работает

Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн LordElf

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-22
  • Сайт: 
  • Профессия: Программист 1С
Ну да, это я пока разбирался поменял. Думал, может из-за имени печать() глюк.  Код из одного места, а обработку из другого места приложил. а так-то там ОбъектОтчетности.печать() вызывалась в оригинале...  И функция печать, я для отладки на печать123() и там и там менял....

В общем победил!
Это обычный полтергейст аля 1с. Глюк платформы 8.3
Магическое заклинание (лекарство):
   ОбъектОтчетности = Неопределено;
Это надо перед кодом:
   ОбъектОтчетности = ВнешниеОбработки.Создать(ИмяВременногоФайла);

И тогда все работает.
Вдруг кому пригодится.

Оффлайн LexaK

  • *****
  • Сообщений: 1084
  • РЕПУТАЦИЯ: 284
  • КПД: 26%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
только с таким вызовом, как в коде выше, у вас отчет не получится,
в обработке есть реквизит СсылкаНаОбъект, его необходимо заполнить.
тогда ваш код должен выглядеть примерно так,
    ОтчетМакетИмяЭл = ПечОбъект.ПолучитьМакет(ИмяЭл);
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла("epf");
    ОтчетМакетИмяЭл.Записать(ИмяВременногоФайла);
    ОбъектОтчетности = ВнешниеОбработки.Создать(ИмяВременногоФайла, ЛОЖЬ); //пробовал Создать(ИмяВременногоФайла);

    ОбъектОтчетности.СсылкаНаОбъект = ССЫЛКА_НА_НУЖНЫЙ_ДОКУМЕНТ;   

    //нет такой процедуры Печать123
    //ТабДокумент = ОбъектОтчетности.Печать123(); //должен вернуться макет. Функция печать123() в модуле объекта Экспорт

    ТабДокумент = ОбъектОтчетности.Печать(); //так все работает


Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн LordElf

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-22
  • Сайт: 
  • Профессия: Программист 1С
Ну да, это я пока разбирался поменял. Думал, может из-за имени печать() глюк.  Код из одного места, а обработку из другого места приложил. а так-то там ОбъектОтчетности.печать() вызывалась в оригинале...  И функция печать, я для отладки на печать123() и там и там менял.... Из-за такой ерунды я бы день не потерял :) Если бы вызывалась печать123()а в обработке такой функции бы не было, то в 8.2 бы тоже не работало :D

В общем победил!
Это обычный полтергейст аля 1с. Глюк платформы 8.3
Магическое заклинание (лекарство):
   ОбъектОтчетности = Неопределено;
Это надо перед кодом:
   ОбъектОтчетности = ВнешниеОбработки.Создать(ИмяВременногоФайла);

И тогда все работает.
Вдруг кому пригодится.

Оффлайн LexaK

  • *****
  • Сообщений: 1084
  • РЕПУТАЦИЯ: 284
  • КПД: 26%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
Вот и отлично, что все заработало! :zebzdr:

СПАСИБО - нажимать не забываем! :ooifh:


Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн LordElf

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-06-22
  • Сайт: 
  • Профессия: Программист 1С
В общем итог рабочий:

ОтчетМакетИмяЭл = ПечОбъект.ПолучитьМакет(ИмяЭл);
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("epf");
ОтчетМакетИмяЭл.Записать(ИмяВременногоФайла);

//Барабанная дробь, магическая строка, без нее не работает в 8.3
ОбъектОтчетности = Неопределено;
//Конец магической строки

ОбъектОтчетности = ВнешниеОбработки.Создать(ИмяВременногоФайла);
ОбъектОтчетности.СсылкаНаОбъект = ПечОбъект.Ссылка; //Это ссылка на печатаемый объект

ТабДокумент = ОбъектОтчетности.Печать();  //без магической строки выдававл ошибку. Что так мол и так: "{Модуль(НомерСтроки)}: Метод объекта не обнаружен (Печать)"


Всем спасибо за уделенное время. LexaK, спасибо ушло, хоть и не в этом проблема была, я сегодня добр и ласков ко всем :)


Теги:
 

При открытии обр-ки в "Предприятии" есть ошибка, а в "Отладке" нет

Автор proofetРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3660
Последний ответ 21 Сен 2011, 17:35
от proofet
ошибка "Невозможно обработать параметр "ПрофильПолномочийПользователя""

Автор lindeluРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 4815
Последний ответ 06 Июн 2012, 09:15
от lindelu
Синтаксическая ошибка "В" Номенклатура.Ссылка = <<?>> В ИЕРАРХИИ(&Ссылка)

Автор maskitoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 3235
Последний ответ 28 Апр 2014, 15:53
от maskito
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

Автор ppkmliteРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 5174
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Ошибка при загрузке данных через (Обработка "Выгрузка и загрузка данных XML")

Автор Сергей_87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 7016
Последний ответ 26 Апр 2012, 23:08
от Dethmontt

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
159 Сообщений
alex0402
63 Сообщений
MuI_I_Ika MuI_I_Ika
47 Сообщений
crow1983
35 Сообщений
LexaK
32 Сообщений
alexandr_ll
30 Сообщений
sertak sertak
25 Сообщений
Vzonder
22 Сообщений
дфтын дфтын
17 Сообщений
BuhRust
17 Сообщений

* Кто онлайн

  • Точка Гостей: 135
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal