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

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

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

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

Оффлайн LordElf

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

Оффлайн LexaK

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

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

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

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

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

Оффлайн LordElf

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

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

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

Оффлайн LexaK

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

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

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

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


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

Оффлайн LordElf

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

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

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

Оффлайн LexaK

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

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


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

Оффлайн LordElf

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

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

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

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

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


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


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

alex0402
95 Сообщений
oleg-x
93 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
68 Сообщений
Golickoff Golickoff
51 Сообщений
ilyay ilyay
45 Сообщений
AIFrame
42 Сообщений
wise wise
31 Сообщений
Амал
30 Сообщений
ab30ru
24 Сообщений
lansy
22 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal