Конвертация данных. Один документ в два документа разного вида и наоборот. Как? #738854


#0 by patria0muerte
Доброго времени суток, коллеги! Развлекаюсь с КД. И наткнулся на такую вот непонятку. Ситация: Есть две конфы, УПП и "Самописка на БСП 2.1" (далее "УНГ"). Из УПП в УНГ выгружается два вида документов, которые загружаются в УНГ как один вид. С этим все норм и вопросов нет. Но проблема наступает тогда, когда мне необходимо из УНГ в УПП передать изменения по данным документам. Т.е. выходит, что вид документа из УНГ должен выгрузиться в тот вид документа в УПП, из которого был выгружен. Надеюсь понятно обьяснил. И как быть? Впринципе можно было бы в УНГ определить какой то идентификатор вида документа в УПП и по нему уже задавать КлючВыгружаемыхДанных, но кажется мне, что если происходит поиск по внутреннему идентификатору (а для этих доков как раз таки он и стоит в обе стороны)- то в этом нет необходимости. Или есть? Чуется мне, что это все тривиально очень, но сам дойти не могу своей головой...
#1 by patria0muerte
+ В xml файле, который выплевывает УНГ в УПП, указывается тип приемника всегда как "первый" (первый в списке документов в КД) документ из УПП...
#2 by mehfk
Что будешь делать, если из УНГ в УПП будешь выгружить документ, которого еще нет в УПП ?
#3 by patria0muerte
Такого не будет. В УНГ при выгрузке из УПП передается признак УчаствуетВОбмене и для обмена в УНГ регистрируются только документы с этим признаком. Да и галка вроде стоит для подстраховки в КД "НеЗагружатьЕслиНеНайден" Т.е. УПП как инициатор обмена. С УНГ летят только те доки, что созданы в УПП. "Свои" документы УНГ никуда не передает.
#4 by lxndr
ПКО 2 штуки. Твоя задача определить по какому из них выгружать из УГ
#5 by patria0muerte
Ну сейчас в Правилах обмена УНГ-УПП у меня 2 ПКО есть: Для каждого ПВД заведено. Предполагал, что реально будет выгружать для обоих видов документов, а для нужный обработка сама найдет и загрузит. Но выгружает почему-то именно всегда для одного документа. Вот я и спрашиваю наше доблестное коммьюнити: заводить реквизит документу, с указанием типа источника, или как то КД сама может разрулить ситуацию, с учетом того, что документы по УИД синхронизируются?
#6 by Feunoir
Скорее всего оно у тебя не выгружает потому что по умолчанию КД не выгружает дважды один и тот-же объект. Либо вообще отключить контроль повторной выгрузки, либо для разных видов документов формировать разные ключи выгрузки.
#7 by lxndr
так потому что определение ПКО, если он явно не задан, идет по типу источника. В твоем случае, вероятно берется первое попавшееся.
#8 by lxndr
>> или как то КД сама может разрулить ситуацию, с учетом того, что документы по УИД синхронизируются? Сама не сможет. Сначала определяется ПКО, по нему уже способ поиска: УИДЫ/не уиды и т.д.
#9 by Feunoir
+ Если у тебя всегда 1-в-2 выгружается, тогда в ПВД проще вручную написать ВыгрузитьПоПравилу(ПКО_Командировка...) ВыгрузитьПоПравилу(ПКО_Заявка...)
#10 by patria0muerte
Спасибо ребята, понял вас... Попробую сейчас...
#11 by patria0muerte
Не взлетело почему то... но и не важно. Сейчас завел ключ (перечисление с именами документов). При загрузке из УПП в УНГ проставляю значения, при выгрузке из УНГ в УПП в зависимости от значения ключа юзаю ВыгрузитьПоПравилу Вроде работает, еще потестирую...
#12 by lxndr
можно просто в ПВД -> ПередВыгрузкой:
#13 by patria0muerte
Благодарю. Как раз таки ВыгрузитьПоПравилу выдавало странную ошибку. Просто устанавливая имяПКО - ошибка ушла, все работает. Всем спасибо!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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