Имя: Пароль:
1C
1С v8
Конвертация данных 2.1
0 jamesgold
 
16.11.22
14:32
Добрый день, прошу помочь!

Обработчиком "после выгрузки" принудительно устанавливаю документ партии:
https://ibb.co/S6g3Xvp

После обмена реквизит ДокументПартии не заполнен. На точке останова, во время обмена, в событии перед записью у выгружаемого документа видно что реквизит уже пустой, значит по идее он получился пустым еще в обмене? Но у меня ДокументПартии заполняется в событии "после выгрузки", после этого в правилах конвертации ничего с этим реквизитом не происходит, в чем может быть проблема?

Код обработчика "после выгрузки" из правил конвертации, поместил во внешнюю обработку и в ней нормально заполнился ДокументПартии.
1 Dmitry1c
 
16.11.22
14:33
(0) а у тебя получитьссылку возвращает что?
2 jamesgold
 
16.11.22
14:34
(1) Да, в обработке заполняется ДокументПартии
3 mistеr
 
16.11.22
14:41
(0) Так после выгрузки или после загрузки?
4 jamesgold
 
16.11.22
14:42
(3) После загрузки, на скрине видно обработчик
5 jamesgold
 
16.11.22
14:42
(3) Не правильно написал, имел ввиду обработчик "После загрузки"
6 mistеr
 
16.11.22
14:45
Тогда откуда он возьмется в обмене и в источнике? Конечно он будет пустой.
7 jamesgold
 
16.11.22
14:47
(6) "После загрузки" отрабатывает уже приемнике, и там эта ссылка есть.
8 mistеr
 
16.11.22
14:50
Еще раз объясни, в чем проблема. Документ в приемнике записывается не заполненным?
Ну выведи Сообщить() в обработчике и в ПриЗаписи, сравни. Отладчик не нужен для этого.
9 jamesgold
 
16.11.22
14:52
Документ в приемнике записывается не заполненным? - Да, не заполнен реквизит ДокументПартии.
10 boozin
 
16.11.22
15:04
Смотри код дальше. Возможно, что он где-то очищается уже, например, в процедурах модуля документа
11 jamesgold
 
16.11.22
15:11
(8) Сделал так:
https://ibb.co/31M9QCz

Странно но сообщения при обмене не было.
12 jamesgold
 
16.11.22
15:12
Этот файлик "ExchangeRules" как положено загрузил в источник
13 jamesgold
 
16.11.22
15:13
(10) когда гружу этот документ обработкой ничего нигде не очищается, только в обмене ерунда какая то.
14 boozin
 
16.11.22
15:16
(13) Процедуры правил обмена: "После загрузки данных", "После загрузки объекта" есть ?
15 boozin
 
16.11.22
15:17
В любом случае отладка тебе в помощь... Чудес не бывает.
16 boozin
 
16.11.22
15:20
Или ссылка по дороге где-то теряется. Попробуй явно прописать ссылку, не через получитьСсылку(), а найти, например по наименованию, присвоить переменной, а потом уже непосредственно документу партии
17 jamesgold
 
16.11.22
15:23
(16) Так явно ссылку и присваиваю через уид
18 jamesgold
 
16.11.22
15:24
(14) Больше нет обращений к документу партии в правилах
19 jamesgold
 
16.11.22
15:26
Появился такой вопрос, почему после этого:
https://ibb.co/31M9QCz

Не было сообщения в базе приемнике во время обмена?
20 boozin
 
16.11.22
15:27
(17) Попробуй ее сначала в переменную
21 boozin
 
16.11.22
15:30
И один раз над циклом. Зачем ее каждый раз получать, если она одна и та же?
22 mistеr
 
16.11.22
15:37
(21) Кстати, может ТЧ пустая?
23 jamesgold
 
16.11.22
15:53
(22) нет
24 scanduta
 
16.11.22
15:57
Добавь Объект.Записать()
25 scanduta
 
16.11.22
16:01
А хотя вроде и так должно работать, может ты несуществующую ссылку поставляешь
26 scanduta
 
16.11.22
16:04
(19) Ты похоже на приемнике не обновил правилаКорресспондента
27 scanduta
 
16.11.22
16:05
если через механизмы БСП грузишь
28 jamesgold
 
16.11.22
16:06
Всем спасибо, проблема решена. На решение косвенно натолкнул mistеr, за что ему и всем кто помогал огромное спасибо!

После установки метода Сообщить() сообщения при обмене не было, значит до строки с сообщением обработчик не дошел, ошибка была в строках выше, после устранения, появился документ партии и сообщение.

Спасибо!
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn