|
Конвертация | ☑ | ||
---|---|---|---|---|
0
repin_mike
18.12.18
✎
09:15
|
В базе-источнике есть Документ, в ПВД описаны только эти документы без справочников.
У Документа один-единственный реквизит Справочник А с одним реквизитом, тип у этого реквизита - справочник Б. Справочник Б имеет много реквизитов, в том числе ссылочных, и много табличных частей. В базе-приёмнике есть такой же самый документ, и у него тоже один реквизит-справочник, который полностью повторяет справочник Б из источника. Задача: нужно чтобы перегрузились документы, и в документах базы-приёмника у всех элементов справочника Б был такой же гуид, как и у справочника А в документе из источника. Пожалуйста подскажите как бы вы решали такую задачу, на уровне детсада, я в КД не особо. Промучался вчера весь день. Если конвертировать из Б в Б, то всё замечательно, но я не нашёл способа подменить уникальный идентификатор на нужный из А. Если конвертировать из А в Б, то гуид правильный, но непонятно откуда взять данные. |
|||
1
Glup0sti
18.12.18
✎
11:20
|
Способ 1
В единственном ПКС (ПКО СправочникаБ - СправочникаБ) документа Перед выгрузкой: Значение = Источник.РеквизитСправочникаА.РеквизитСправочникаБ; В ПКО СправочникаБ - СправочникаБ снимаешь все поля поиска и поиск делаешь только по полям поиска:)(узел ссылки создаешь самостоятельно в обработчике Перед выгрузкой): УзелКоллекцииСвойств.ЗаписатьНачалоЭлемента("Свойство"); УстановитьАтрибут(УзелКоллекцииСвойств, "Имя", "{УникальныйИдентификатор}"); Если НЕ ВыполнитьОбменДаннымиВОптимизированномФормате Тогда УстановитьАтрибут(УзелКоллекцииСвойств, "Тип", "Строка"); КонецЕсли; одЗаписатьЭлемент(УзелКоллекцииСвойств, "Значение", ГУИД_А); УзелКоллекцииСвойств.ЗаписатьКонецЭлемента(); Способ 2: делаешь ПКО СправочникаА - СправочникаБ Добавляешь все нужные ПКС и в обработчик перед выгрузкой: Значение = Источник.РеквизитСправочникаБ[ИмяРеквизита]; |
|||
2
repin_mike
18.12.18
✎
11:43
|
(1) Спасибо
Я сейчас пытаюсь сделать по способу В ПКО справочникБ-СправочникБ добавил параметр, в него при выгрузке пишу уникальный идентификатор справочника А. А после загрузки соответственно пытаюсь у созданного Объект подменить уникальный идентификатор из параметра. Такая схема жизнеспособна? У меня как раз подмена гуида не получается пока. |
|||
3
Glup0sti
18.12.18
✎
11:43
|
Стоп, самый главный вопрос КД 2 или 3?
я написал для кд 2 |
|||
4
Glup0sti
18.12.18
✎
11:47
|
(2) подменять ты должен узел ссылки в xml, либо
способ 3: с параметром в обработчике "поля поиска" искать по гуид и после загрузки устанавливать гуид для новых |
|||
5
repin_mike
18.12.18
✎
11:50
|
(4) КД2
Метод в (2) нерабочий, у справочника Б уид подменился, но в самом документе ссылки стоят неправильные |
|||
6
Glup0sti
18.12.18
✎
11:58
|
(5) Прочитай внимательнее, какие действия нужно сделать, чтобы в ПКО СправочникБ - СправочникБ подменить ссылку на справочник А (способ 1)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |