Обмен данными между несвязанными базами

1. user2003788 14.11.23 13:54 Сейчас в теме
Всем доброго дня!
У меня есть две базы и между ними надо сделать обмен данными с выгрузкой XML.
В состав первой базы входит документ к2ЗаказКлиента
В состав второй базы входит тоже ЗаказКлиента, только с измененной структурой
Мне нужно выгружать реквизит Контрагента из первой базы, и табличную часть, номенклатура, количество, сумма, цена, суммандс
Написал код для выгрузки, подскажите что нужно исправить
Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    ЗаказКлиентаМЕС.Ссылка КАК Ссылка,
    |    ЗаказКлиентаМЕС.Код КАК Код
    |ИЗ
    |    ПланОбмена.ЗаказКлиентаМЕС КАК ЗаказКлиентаМЕС
    |ГДЕ
    |    НЕ ЗаказКлиентаМЕС.ЭтотУзел";
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    ЭтотУзел = ПланыОбмена.ЗаказКлиентаМЕС.ЭтотУзел();
    СтруктураНоменклатурыПолучателя = Новый Структура("Клиент, Date, Number");
    СтруктураТабличнойЧасти = Новый Структура("Номенклатура, Количество, Цена, СуммаНДС");
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        
        ТекУзел = ВыборкаДетальныеЗаписи.Ссылка;
        
        ЗаписьXML = Новый ЗаписьXML();
        ИмяФайла = "\\ts3\public\IT\!\бп\" + "zakaz.xml";
        ЗаписьXML.ОткрытьФайл(ИмяФайла);
        ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
        ЗаписьСообщения.НачатьЗапись(ЗаписьXML, ТекУзел);
        Выборка = ПланыОбмена.ВыбратьИзменения(ТекУзел, ЗаписьСообщения.НомерСообщения);
        
        Пока Выборка.Следующий() Цикл
            Данные = Выборка.Получить();
            Если ТипЗнч(Данные) = Тип("ДокументОбъект.к2ЗаказКлиента") Тогда
                ЗаполнитьЗначенияСвойств(СтруктураНоменклатурыПолучателя, Данные);
                СтруктураНоменклатурыПолучателя.Клиент = Данные.Контрагент;
                Мета = Метаданные.Документы.к2ЗаказКлиента.ТабличныеЧасти.Товары.Реквизиты;
                ЗаполнитьЗначенияСвойств(СтруктураТабличнойЧасти, Мета);
                СтруктураТабличнойЧасти.Номенклатура = Мета.Номенклатура;
                СтруктураТабличнойЧасти.Количество = Мета.Количество;
                СтруктураТабличнойЧасти.Цена = Мета.Цена;
                СтруктураТабличнойЧасти.СуммаНДС = Мета.СуммаНДС;
                СериализаторXDTO.ЗаписатьXML(ЗаписьXML, СтруктураНоменклатурыПолучателя);
            Иначе 
                СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Данные); 
            КонецЕсли;
        КонецЦикла;
        
        ЗаписьСообщения.ЗакончитьЗапись();
        
    КонецЦикла;
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 14.11.23 15:14 Сейчас в теме
(1) А для чего нужно исправлять?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот