Имя: Пароль:
1C
 
Подскажите по конвертации
0 repin_mike
 
17.12.18
13:00
В базе-источнике имеется документ с реквизитом справочник Карты. Справочник Карты в принципе пустой, данных там нет, а есть данные в справочнике ВерсииКарт. Карты и версии карт связаны через регистр сведений, и получив СрезПоследних можно получить актуальную ВерсиюКарт для любой карты.

В базе-приёмнике версионирование не ведётся, в документе нужный реквизит сразу содержит все данные.

В правилах обмена я сделал ПКО КартыВспомогательный, где версии карт превращаются в сами карты. А в ПКО Карты, где Карты превращаются в Карты, ПередВыгрузкой поставил Отказ = истина и в коде получение среза последних из регистра и его ВыгрузитьПоПравилу(,,,,"КартыВспомогательный").

В итоге, когда выгружается документ, то он доходит до реквизита с картой, срабатывает ПКО, выгружает по правилу КартыВспомогательный и в базе-приёмнике появляется нужный объект. Но т.к. отказ =истина, то собственно реквизит документа не заполняется, а мне нужно чтобы он заполнился тем объектом, который образовался в результате выполнения ВыгрузитьПоПравилу. Подскажите как это можно сделать?
1 Ёпрст
 
17.12.18
13:14
Значение = ....
2 Ёпрст
 
17.12.18
13:16
делаешь одно ПКО, который выгружает твои карты, в самом ПКО, заполняешь атрибуты справочника значениями из своего рег сведений. Усё.
Никаких выгрузитьПоПравилу не надо
3 Ёпрст
 
17.12.18
13:17
и вспомогательных ПКО тоже
4 repin_mike
 
17.12.18
13:40
А ПередВыгрузкой Источник возможно подменить?
5 hhhh
 
17.12.18
14:04
(4) нет, подменять не надо. изначально ставь тот источник, который нужен.
6 repin_mike
 
17.12.18
14:18
(2) делаешь одно ПКО, который выгружает твои карты, в самом ПКО, заполняешь атрибуты справочника значениями из своего рег сведений. Усё.
Никаких выгрузитьПоПравилу не надо

----

Но так же не получится. В этом справочнике куча реквизитов, которые также являются ссылочными типами. И их тоже надо выгружать.
7 repin_mike
 
17.12.18
14:19
+(6) очень сложный справочник с четырьмя ТЧ и кучей реквизитов
8 KoZuB
 
17.12.18
14:43
В ПКО Карты ПередВыгрузкой получаешь СрезПоследних, передаешь во ВходящиеДанные, в каждом реквизите Значение=[Получаешь изВходящиеДанные нужное значение],выбираешь нужное правило конвертации реквизита (они у тебя уже созданы, т.к есть ПКО КартыВспомогательный). Удаляешь ПКО КартыВспомогательный.
Как-то так вижу реализацию (2).
9 Ёпрст
 
17.12.18
16:51
(6) и ?
10 Ёпрст
 
17.12.18
16:52
(7) да пофик, какое там количество таб частей.. :)
11 repin_mike
 
17.12.18
17:24
делаешь одно ПКО, который выгружает твои карты, в самом ПКО, заполняешь атрибуты справочника значениями из своего рег сведений

-----


Можно пример кода как это делается? Я в конвертации ни бум-бум к сожалению.
12 repin_mike
 
17.12.18
17:25
Вот я например запросом выдернул объект, который мне надо выгрузить. И в ПКО карты я хочу карте добавить реквизит Наименование (строка) и График(СправочникСсылка). Как это сделать?
13 repin_mike
 
17.12.18
17:28
В ПриВыгрузке ПКО у меня есть УзелСсылки, он выглядит так:
<Ссылка Нпп="7">
    <Свойство Имя="{УникальныйИдентификатор}" Тип="Строка">
        <Значение>ca5daf37-dc20-11e8-815e-001e67137431</Значение>
    </Свойство>
</Ссылка>
Уникальный идентификатор правильный,я уже его выучил наизусть.

Теперь мне в этот узелссылки надо добавить свои значения? Как?
14 Ёпрст
 
19.12.18
10:06
(11) добавляешь пкс. Наименование, источник любой реквизит, приемник наименование, в приввгрузке пишешь значение= бла бла бла..всё