|
Конвертация данных: Заполнение реквизитов приемника после загрузки | ☑ | ||
---|---|---|---|---|
0
Andrey_I
18.02.15
✎
09:49
|
Доброе утро. Есть две конфигурации торговли, сильно переписанные, в источнике есть документ накладная и заказ покупателя. Накладная делается на основании заказа покупателя. Документы источника не имеют реквизита контрагент. При переносе в приемник в обработчике после загрузки накладной (пробовал и при загрузке) заполняется реквизит контрагент, который в приемнике у заказа присутствует, выглядит, примерно, так:ТекЗаказПокупателя = Объект.ЗаказПокупателя.Ссылка;
Объект.Контрагент = ТекЗаказПокупателя.Контрагент.Ссылка; Если обмен делать через файл, то реквизит контрагент заполняется, если через сом подключение , то заполняется со второго раза. Понятно, что можно сделать нужные изменения в конфигурации приемника, но очень хочется понять что не так с правилами. |
|||
1
VladZ
18.02.15
✎
09:54
|
Делай после загрузки
|
|||
2
VladZ
18.02.15
✎
09:54
|
все должно работать.
|
|||
3
Godofsin
18.02.15
✎
09:55
|
(0) Слабо верится, что не работает. И .ссылка не нужна
|
|||
4
Stim
18.02.15
✎
09:55
|
Объект.ЗаказПокупателя.Ссылка - вернет тебе пустую ссылку, если заказ - новый и еще не записан.
Должно быть как-то так: Объект.Контрагент = Объект.ЗаказПокупателя.Контрагент; |
|||
5
Andrey_I
18.02.15
✎
10:01
|
(4) Заказ покупателя в приемнике есть всегда.
|
|||
6
kosts
18.02.15
✎
10:04
|
В конвертации посмотри на закладке On-line обмен есть галочки "Выгружать объект полностью только при наличии ссылки"
"Не замещать объект созданный в приемнике" может это как-то Отличий ком от файлового других вроде нету (но могут быть). Тут отладка может помочь, но муторно очень. |
|||
7
Stim
18.02.15
✎
10:05
|
(5) о чем мы еще должны догадаться?
|
|||
8
Stim
18.02.15
✎
10:06
|
(6) отличия в том, что при загрузке в приемнике обработка загрузки(уни обмен хмл) вызывается программно, соответственно, некоторые параметры могут не установиться, по сравнению с интерактивным запуском
|
|||
9
kosts
18.02.15
✎
10:12
|
(8) Обмен через файл может тоже программно вызываться, в задании.
ТС что-то не рассказал, как делает... Обработку руками открывает запускает или через задание... |
|||
10
Andrey_I
18.02.15
✎
10:19
|
(7)(9) упустил. Приемник в источник выгружает заказы. В источнике по заказу набирается накладная и через программную обработку обмена перегружается в приемник, при загрузке надо заполнить контрагента.
Вот параметры обработки : Обработка = Обработки.УниверсальныйОбменДаннымиXML.Создать(); Обработка.ИмяФайлаПравилОбмена= ИмяФайлаПравилВыгрузки; Обработка.РежимОбмена= "Выгрузка"; Обработка.ЗагружатьДанныеВРежимеОбмена = Истина; Обработка.ЗаписыватьРегистрыНаборамиЗаписей= Истина; Обработка.ЗапоминатьЗагруженныеОбъекты = Истина; Обработка.ИспользоватьОтборПоДатеДляВсехОбъектов= ЛОЖЬ; Обработка.ВыгружатьТолькоРазрешенные= Истина; Обработка.ЗаписыватьВИнформационнуюБазуТолькоИзмененныеОбъекты = Истина; |
|||
11
Stim
18.02.15
✎
10:31
|
>>Приемник в источник выгружает заказы
>>Заказ покупателя в приемнике есть всегда. Чувак, разберись пжл что у тебя куда выгружается, иначе тут сложно тебе помочь |
|||
12
Andrey_I
18.02.15
✎
10:47
|
Попробую сформулировать еще раз. При выгрузке в базу приемник документ накладная получает по правилу заказ покупателя, в обработчике "после загрузки" прописано заполнение реквизита накладной приемника из реквизитов документа заказ приемника. Это правило отрабатывает при загрузке / выгрузке через файл, при сом обмене, реквизит документа накладная, не заполняется.
|
|||
13
Stim
18.02.15
✎
10:53
|
(12) пробуй (4)
|
|||
14
Andrey_I
18.02.15
✎
10:57
|
(13) первоначально так и было: Объект.Контрагент = Объект.ЗаказПокупателя.Контрагент;
|
|||
15
Stim
18.02.15
✎
11:01
|
(14) попробуй что-нить типа
Сообщить( Объект.ЗаказПокупателя); Сообщить( Объект.ЗаказПокупателя.Контрагент); |
|||
16
Andrey_I
18.02.15
✎
11:49
|
Сделал ЗаписьЖурналаРегистрации("Отладка правил КД",
УровеньЖурналаРегистрации.Информация, , ,"Получили " +строка( Объект.ЗаказПокупателя.Контрагент)); ЗаписьЖурналаРегистрации("Отладка правил КД", УровеньЖурналаРегистрации.Информация, , ,"Установили " +строка( Объект.Контрагент)); В журнале контрагент определен, в документе - отсутствует. в модуле документа переопределение и перезаписи контрагента нет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |