Конвертация данных: Заполнение реквизитов приемника после загрузки #734448


#0 by Andrey_I
Доброе утро. Есть две конфигурации торговли, сильно переписанные, в источнике есть документ накладная и заказ покупателя. Накладная делается на основании заказа покупателя. Документы источника не имеют реквизита контрагент. При переносе в приемник в обработчике после загрузки накладной (пробовал и при загрузке) заполняется реквизит контрагент, который в приемнике у заказа присутствует, выглядит, примерно, так:ТекЗаказПокупателя = Объект.ЗаказПокупателя.Ссылка;         Объект.Контрагент = ТекЗаказПокупателя.Контрагент.Ссылка; Если обмен делать через файл, то реквизит контрагент заполняется, если через сом подключение , то заполняется со второго раза. Понятно, что можно сделать нужные изменения в конфигурации приемника, но очень хочется понять что не так с правилами.
#1 by VladZ
Делай после загрузки
#2 by VladZ
все должно работать.
#3 by Godofsin
Слабо верится, что не работает. И .ссылка не нужна
#4 by Stim
Объект.ЗаказПокупателя.Ссылка - вернет тебе пустую ссылку, если заказ - новый и еще не записан. Должно быть как-то так:
#5 by Andrey_I
Заказ покупателя в приемнике есть всегда.
#6 by kosts
В конвертации посмотри на закладке On-line обмен есть галочки "Выгружать объект полностью только при наличии ссылки" "Не замещать объект  созданный  в приемнике" может это как-то Отличий ком от файлового других вроде нету (но могут быть). Тут отладка может помочь, но муторно очень.
#7 by Stim
о чем мы еще должны догадаться?
#8 by Stim
отличия в том, что при загрузке в приемнике обработка загрузки(уни обмен хмл) вызывается программно, соответственно, некоторые параметры могут не установиться, по сравнению с интерактивным запуском
#9 by kosts
Обмен через файл может тоже программно вызываться, в задании. ТС что-то не рассказал, как делает... Обработку руками открывает запускает или через задание...
#10 by Andrey_I
упустил. Приемник в источник выгружает заказы. В источнике по заказу набирается накладная и через программную обработку обмена перегружается в приемник, при загрузке надо заполнить контрагента. Вот параметры обработки :
#11 by Stim
>>Приемник в источник выгружает заказы >>Заказ покупателя в приемнике есть всегда. Чувак, разберись пжл что у тебя куда выгружается, иначе тут сложно тебе помочь
#12 by Andrey_I
Попробую сформулировать еще раз. При выгрузке в базу приемник документ накладная получает по правилу заказ покупателя, в обработчике "после загрузки" прописано заполнение реквизита накладной приемника из реквизитов документа заказ приемника. Это правило отрабатывает при загрузке / выгрузке через файл, при сом обмене, реквизит документа накладная, не заполняется.
#13 by Stim
пробуй
#14 by Andrey_I
первоначально так и было: Объект.Контрагент = Объект.ЗаказПокупателя.Контрагент;
#15 by Stim
попробуй что-нить типа Сообщить( Объект.ЗаказПокупателя);
#16 by Andrey_I
Сделал ЗаписьЖурналаРегистрации("Отладка правил КД", УровеньЖурналаРегистрации.Информация, , ,"Получили " +строка( Объект.ЗаказПокупателя.Контрагент)); ЗаписьЖурналаРегистрации("Отладка правил КД", УровеньЖурналаРегистрации.Информация, , ,"Установили " +строка( Объект.Контрагент)); В журнале контрагент определен, в документе - отсутствует. в модуле документа переопределение и перезаписи контрагента нет.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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