Имя: Пароль:
1C
1С v8
Ошибка "Метод объекта не обнаружен" при вызове экспортной процедуры модуля документа из мо
, , ,
0 kvant_ltd
 
02.11.17
11:57
Из модуля обработки идет вызов экспортной процедуры ЗаполнитьУсловияПродажПоCоглашению() модуля документа АктВыполненыхРабот.
При этом возникает ошибка "Метод объекта не обнаружен". Процедура ЗаполнитьУсловияПродажПоCоглашению() с "волшебным" словом Экспорт в модуле документа АктВыполненыхРабот есть. Оба модуля (модуль обработки и модуль документа) выполняются на сервере. Смотрите вложенные файлы. Тогда почему возникла ошибка? Это я что-то неправильно написал или чего-то не понимаю? Или это ошибка платформы 1С? Какие есть идеи как исправить или обойти?

Ошибка возникает как в файловой, так и в серверной версиях. Ошибка возникла после перехода в июле 2017 года на версию платформы 8.3.10. До этого код обработки функционировал без сбоя почти год. Вернуться на предыдущую версию платформы - уже нельзя. На тестовой версии 8.3.11 ошибка также имеет место быть.

Какие есть идеи как исправить или обойти?
1 Ёпрст
 
02.11.17
12:00
кеш продуй, для начала
2 DrShad
 
02.11.17
12:02
ошибка в коде и никак не зависит от платформы
3 h-sp
 
02.11.17
12:31
(0) всё-таки в модуле менеджера документа должно быть. а не в модуле документа.
4 FIXXXL
 
02.11.17
12:48
(0) как вызываешь и где? УФ-ОФ?
5 Cyberhawk
 
02.11.17
12:50
"Какие есть идеи как исправить или обойти?" // Сколько платят за решение вопроса?
6 lodger
 
02.11.17
13:08
вложенные файлы где?
7 lodger
 
02.11.17
13:08
"модуля документа АктВыполненыхРабот." - это модуль объекта или менеджера?
8 Рэйв
 
02.11.17
13:10
(0)Может ты пытаешься добиться ответа от ссылки, а не от объекта?
9 kvant_ltd
 
02.11.17
13:55
(3) Почему именно в модуле менеджера, а не модуля документа? Чем модуль документа плох, тем более что вызываю стандартную функцию написанную разработчиками конфигурации, которая находится в модуле документа? Поясните, плиз...
10 kvant_ltd
 
02.11.17
13:57
(6) Где и как цеплять файлы для этого форума? Не нашел, подскажите...
11 kvant_ltd
 
02.11.17
13:57
(7) "модуля документа АктВыполненыхРабот." - конечно речь и идет про модуль объекта
12 Гипервизор
 
02.11.17
13:58
Нет такого модуля - модуль документа. Есть модуль объекта. Вас уже спрашивали в (8), не пытаетесь ли вы вызвать процедуру модуля объекта из ссылки?
13 kvant_ltd
 
02.11.17
14:01
(8) Нет, переменная Акт имеет тип ДокументОбъект.АктВыполненныхРабот. В отладчике на скрине это видно. К сожалению, непонятно, как подцепить скриншот к форуму?
14 Гипервизор
 
02.11.17
14:06
Воспользуйтесь каким-либо ресурсом для скриншотов и укажите ссылку.
15 kvant_ltd
 
02.11.17
14:16
(14) Загрузил скриншоты на яндекс-диск

https://yadi.sk/i/vfqGl0dx3PLZb6
https://yadi.sk/i/rNHa91at3PLZjM
https://yadi.sk/i/lxZwphQq3PLZoF
16 DrShad
 
02.11.17
14:17
(15) эх, а он не у всех работает )))
17 Гипервизор
 
02.11.17
14:19
(15) А вы уверены что в обработке у вас действительно выполняется условие "Если Сервер Или ТолстыйКлиентОбычноеПриложение..."?
18 kvant_ltd
 
02.11.17
14:24
(17) Не уверен. Как можно проверить так это или нет?
И потом мне всегда казалось что модуль обработки всегда выполняется на сервере? Разве не так?
И наконец, из модуля документа я убирал условие "#Если Сервер Или ТолстыйКлиентОбычноеПриложение..." - никакой разницы.
19 kvant_ltd
 
02.11.17
14:25
(16) А какой сервис скриншотов работает у всех?
20 1dvd
 
02.11.17
14:34
(18)>> И потом мне всегда казалось что модуль обработки всегда выполняется на сервере? Разве не так?

не так
21 kvant_ltd
 
02.11.17
14:36
(20) В каких случаях "не так"? Поясните, пожалуйста.
22 Cyberhawk
 
02.11.17
15:46
(21) В режиме обычного приложения почти все выполняется на клиенте, если только специально ты не предпринимал действия по вынесению кода на сервер
23 kvant_ltd
 
02.11.17
16:45
Просто перенести ЗаполнитьУсловияПродажПоCоглашению() в менеджер Документы.АктВыполненыхРабот - нельзя. Это стандартная процедура написанная разработчиками конфигурации "1С:Комплексная автоматизация 2". Но идея для обхода ошибки - правильная. Поэтому сделал так.

В модуле менеджера Документ.АктВыполненыхРабот добавил:

// Квант ***
Процедура Квант_ЗаполнитьУсловияПродажПоСоглашению(Объект) Экспорт
Объект.ЗаполнитьУсловияПродажПоСоглашению();
КонецПроцедуры
// *** Квант

В модуле обработки заменил строку
// Акт.ЗаполнитьУсловияПродажПоCоглашению();
на
Документы.АктВыполненныхРабот.Квант_ЗаполнитьУсловияПродажПоСоглашению(Акт);

На тестовой базе пока работает. Сейчас проверяю на рабочей... Проверил вроде работает.

P.S. Это уже наверно моя четвертая попытка переписать модуль обработки, так чтобы обойти ошибку "Модуль объекта не обнаружен". Все-таки Акт.ЗаполнитьУсловияПродажПоCоглашению() - должно работать в данном контексте и работало почти год(!) до перехода на платформу 8.3.10
24 kvant_ltd
 
02.11.17
16:45
Всем спасибо!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.