Вход | Регистрация
 

Конвертация

Конвертация
Я
   repin_mike
 
18.12.18 - 09:15
В базе-источнике есть Документ, в ПВД описаны только эти документы без справочников.

У Документа один-единственный реквизит Справочник А с одним реквизитом, тип у этого реквизита - справочник Б.
Справочник Б имеет много реквизитов, в том числе ссылочных, и много табличных частей.


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

Задача: нужно чтобы перегрузились документы, и в документах базы-приёмника у всех элементов справочника Б был такой же гуид, как и у справочника А в документе из источника.


Пожалуйста подскажите как бы вы решали такую задачу, на уровне детсада, я в КД не особо. Промучался вчера весь день. Если конвертировать из Б в Б, то всё замечательно, но я не нашёл способа подменить уникальный идентификатор на нужный из А. Если конвертировать из А в Б, то гуид правильный, но непонятно откуда взять данные.
 
 
   Glup0sti
 
1 - 18.12.18 - 11:20
Способ 1
В единственном ПКС (ПКО СправочникаБ - СправочникаБ) документа Перед выгрузкой:
Значение = Источник.РеквизитСправочникаА.РеквизитСправочникаБ;

В ПКО СправочникаБ - СправочникаБ снимаешь все поля поиска и поиск делаешь только по полям поиска:)(узел ссылки создаешь самостоятельно в обработчике Перед выгрузкой):

УзелКоллекцииСвойств.ЗаписатьНачалоЭлемента("Свойство");
        УстановитьАтрибут(УзелКоллекцииСвойств, "Имя", "{УникальныйИдентификатор}");
                    
        Если НЕ ВыполнитьОбменДаннымиВОптимизированномФормате Тогда
            УстановитьАтрибут(УзелКоллекцииСвойств, "Тип", "Строка");
        КонецЕсли;
                    
        одЗаписатьЭлемент(УзелКоллекцииСвойств, "Значение", ГУИД_А);
        УзелКоллекцииСвойств.ЗаписатьКонецЭлемента();

Способ 2:
делаешь ПКО СправочникаА - СправочникаБ
Добавляешь все нужные ПКС и в обработчик перед выгрузкой:
Значение = Источник.РеквизитСправочникаБ[ИмяРеквизита];
   repin_mike
 
2 - 18.12.18 - 11:43
(1) Спасибо
Я сейчас пытаюсь сделать по способу
В ПКО справочникБ-СправочникБ добавил параметр, в него при выгрузке пишу уникальный идентификатор справочника А. А после загрузки соответственно пытаюсь у созданного Объект подменить уникальный идентификатор из параметра. Такая схема жизнеспособна? У меня как раз подмена гуида не получается пока.
   Glup0sti
 
3 - 18.12.18 - 11:43
Стоп, самый главный вопрос КД 2 или 3?
я написал для кд 2
   Glup0sti
 
4 - 18.12.18 - 11:47
(2) подменять ты должен узел ссылки в xml, либо
способ 3:
с параметром в обработчике "поля поиска" искать по гуид и после загрузки устанавливать гуид для новых
   repin_mike
 
5 - 18.12.18 - 11:50
(4) КД2
Метод в (2) нерабочий, у справочника Б уид подменился, но в самом документе ссылки стоят неправильные
   Glup0sti
 
6 - 18.12.18 - 11:58
(5) Прочитай внимательнее, какие действия нужно сделать, чтобы в ПКО СправочникБ - СправочникБ  подменить ссылку на справочник А (способ 1)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует