8.х ОБМЕН Перенос дополнительных реквизитов объектов

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем Yury, 19 фев 2014.

  1. ToryV
    Offline

    ToryV

    Регистрация:
    23 июн 2015
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    мне сегодня ваши картинки помогли, спасибо!!!!
  2. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    8.123
    Симпатии:
    550
    Баллы:
    204
    В продолжении темы. Благодаря этому механизму прекрасно выгружаются только примитивные типы. Вот небольшая модификация чтобы ссылочные выгружались.

    В ПКС параметра "Типы" в процедуре ПриВыгрузке
    Код:
    ТипыСвойства = Источник.ТипЗначения.Типы();
    Если Справочники.ТипВсеСсылки().СодержитТип(ТипыСвойства[0]) Тогда
        Для каждого ОбъектМетаданных Из Метаданные.Справочники Цикл
            СтрокаТип = "СправочникСсылка." + Строка(ОбъектМетаданных.Имя);
            Если Тип(СтрокаТип) = ТипыСвойства[0] Тогда
                Значение = ЗначениеВСтрокуВнутр(СтрокаТип);
            КонецЕсли;
        КонецЦикла;
    ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(ТипыСвойства[0]) Тогда
        Для каждого ОбъектМетаданных Из Метаданные.Документы Цикл
            СтрокаТип = "ДокументСсылка." + Строка(ОбъектМетаданных.Имя);
            Если Тип(СтрокаТип) = ТипыСвойства[0] Тогда
                Значение = ЗначениеВСтрокуВнутр(СтрокаТип);
            КонецЕсли;
        КонецЦикла;
    Иначе
        Значение = ЗначениеВСтрокуВнутр(ТипыСвойства);
    КонецЕсли;
    В ПКО в процедуре ПослеЗагрузки
    Код:
    Типы = ЗначениеИзСтрокиВнутр(ПараметрыОбъекта.Получить("Типы"));
    Попытка
        Объект.ТипЗначения = Новый ОписаниеТипов(Типы);
    Исключение
        Объект.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.ЗначенияСвойствОбъектов");
    КонецПопытки;
    В этом случае будет осуществляться поиск по типу ровно так как. как название указано в источнике. Если названия разные. то придется прописывать соответствия типов.
    Пример:
    ДокументСсылка.ПоступлениеТоваровУслуг в БП
    и ДокументСсылка.приходнаяНакладная в УНФ.
    Последнее редактирование: 17 фев 2018
    Yury нравится это.
  3. Павел12345
    Offline

    Павел12345

    Регистрация:
    2 авг 2019
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Немного добавлю. Может быть для всех очевидно, но я лично полтора дня провозился. Вообщем есть маленький нюанс. При загрузке по стандартным правилам база 1С берет правила из загруженных в нее правил корреспондента (регистр Правила обмена данными), а не из входящего XML, где эти правила тоже есть. Поэтому полученный в результате описанных выше действий ExchangeRules.xml нужно переименовать в CorrespondentExchangeRules.xml и загрузить на базу, куда вы свои реквизиты отправляете.