|
Конвертация данных. Один документ в два документа разного вида и наоборот. Как? | ☑ | ||
---|---|---|---|---|
0
patria0muerte
03.04.15
✎
04:26
|
Доброго времени суток, коллеги!
Развлекаюсь с КД. И наткнулся на такую вот непонятку. Ситация: Есть две конфы, УПП и "Самописка на БСП 2.1" (далее "УНГ"). Из УПП в УНГ выгружается два вида документов, которые загружаются в УНГ как один вид. С этим все норм и вопросов нет. Но проблема наступает тогда, когда мне необходимо из УНГ в УПП передать изменения по данным документам. Т.е. выходит, что вид документа из УНГ должен выгрузиться в тот вид документа в УПП, из которого был выгружен. Надеюсь понятно обьяснил. И как быть? Впринципе можно было бы в УНГ определить какой то идентификатор вида документа в УПП и по нему уже задавать КлючВыгружаемыхДанных, но кажется мне, что если происходит поиск по внутреннему идентификатору (а для этих доков как раз таки он и стоит в обе стороны)- то в этом нет необходимости. Или есть? Чуется мне, что это все тривиально очень, но сам дойти не могу своей головой... |
|||
1
patria0muerte
03.04.15
✎
04:28
|
+(0) В xml файле, который выплевывает УНГ в УПП, указывается тип приемника всегда как "первый" (первый в списке документов в КД) документ из УПП...
|
|||
2
mehfk
03.04.15
✎
04:42
|
Что будешь делать, если из УНГ в УПП будешь выгружить документ, которого еще нет в УПП ?
|
|||
3
patria0muerte
03.04.15
✎
04:48
|
(2) Такого не будет.
В УНГ при выгрузке из УПП передается признак УчаствуетВОбмене и для обмена в УНГ регистрируются только документы с этим признаком. Да и галка вроде стоит для подстраховки в КД "НеЗагружатьЕслиНеНайден" Т.е. УПП как инициатор обмена. С УНГ летят только те доки, что созданы в УПП. "Свои" документы УНГ никуда не передает. |
|||
4
lxndr
03.04.15
✎
05:25
|
ПКО 2 штуки. Твоя задача определить по какому из них выгружать из УГ
|
|||
5
patria0muerte
03.04.15
✎
05:46
|
(4) Ну сейчас в Правилах обмена УНГ-УПП у меня 2 ПКО есть:
1) унгЗаявкаНаПоселение -> ПРС_Командировка 2) унгЗаявкаНаПоселение -> ПРС_ЗаявкаНаПоселение Для каждого ПВД заведено. Предполагал, что реально будет выгружать для обоих видов документов, а для нужный обработка сама найдет и загрузит. Но выгружает почему-то именно всегда для одного документа. Вот я и спрашиваю наше доблестное коммьюнити: заводить реквизит документу, с указанием типа источника, или как то КД сама может разрулить ситуацию, с учетом того, что документы по УИД синхронизируются? |
|||
6
Feunoir
03.04.15
✎
05:51
|
(5) Скорее всего оно у тебя не выгружает потому что по умолчанию КД не выгружает дважды один и тот-же объект. Либо вообще отключить контроль повторной выгрузки, либо для разных видов документов формировать разные ключи выгрузки.
|
|||
7
lxndr
03.04.15
✎
05:51
|
(5) так потому что определение ПКО, если он явно не задан, идет по типу источника. В твоем случае, вероятно берется первое попавшееся.
|
|||
8
lxndr
03.04.15
✎
05:53
|
>> или как то КД сама может разрулить ситуацию, с учетом того, что документы по УИД синхронизируются?
Сама не сможет. Сначала определяется ПКО, по нему уже способ поиска: УИДЫ/не уиды и т.д. |
|||
9
Feunoir
03.04.15
✎
05:55
|
+(6) Если у тебя всегда 1-в-2 выгружается, тогда в ПВД проще вручную написать
ВыгрузитьПоПравилу(ПКО_Командировка...) ВыгрузитьПоПравилу(ПКО_Заявка...) |
|||
10
patria0muerte
03.04.15
✎
06:04
|
(6)(7)(8) Спасибо ребята, понял вас...
(9) Попробую сейчас... |
|||
11
patria0muerte
03.04.15
✎
08:55
|
(9) Не взлетело почему то... но и не важно.
Сейчас завел ключ (перечисление с именами документов). При загрузке из УПП в УНГ проставляю значения, при выгрузке из УНГ в УПП в зависимости от значения ключа юзаю ВыгрузитьПоПравилу() Вроде работает, еще потестирую... |
|||
12
lxndr
03.04.15
✎
09:05
|
(11) можно просто в ПВД -> ПередВыгрузкой:
ИмяПКО = "ПКОВЗависимостиОтРеквизита"; |
|||
13
patria0muerte
03.04.15
✎
09:19
|
(12) Благодарю. Как раз таки ВыгрузитьПоПравилу выдавало странную ошибку.
Просто устанавливая имяПКО - ошибка ушла, все работает. Всем спасибо! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |