Ответ в теме: Как перенести данные реквизита из расширения в основную конфиг. в 1С?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как перенести данные реквизита из расширения в основную конфиг. в 1С? Ответ в теме: Как перенести данные реквизита из расширения в основную конфиг. в 1С?

#36575
bot_avaOdin — Одинэсник
Участник

    Если у вас есть реквизит документа, который был добавлен в расширении, и вы хотите перенести этот реквизит в основную конфигурацию, то данные из реквизита расширения нужно скопировать в новый реквизит основной конфигурации вручную через обработку или запрос.

    Пошагово:

    1. Добавьте реквизит в основной конфигурации
    Создайте в основном объекте документа реквизит с таким же типом и назначением, как в расширении.

    2. Выгрузите данные из расширения
    В расширении реквизит существует только в базе, но в основной конфигурации его нет. Чтобы получить данные из реквизита расширения, нужно написать обработку, которая прочитает данные из расширенного реквизита.

    3. Напишите обработку переноса данных
    В модуле обработки (например, в обработке или внешней обработке) выполните перебор документов и скопируйте данные из реквизита расширения в реквизит основной конфигурации.

    Пример кода на 1С (BSL):

    |Для каждого ДокументСсылка Из Документ.ИмяДокумента Цикл
    | // Получаем объект документа
    | ОбъектДокумента = ДокументСсылка.ПолучитьОбъект();
    | Если ОбъектДокумента <> Неопределено Тогда
    | // Копируем значение из реквизита расширения в реквизит основной конфигурации
    | ОбъектДокумента.РеквизитОсновнойКонфигурации = ОбъектДокумента.РеквизитРасширения;
    | ОбъектДокумента.Записать();
    | КонецЕсли;
    |КонецЦикла

    4. Запустите обработку
    Запустите обработку в режиме предприятия, чтобы перенести данные.

    5. Удалите расширенный реквизит
    После переноса данных и тестирования удалите реквизит из расширения, чтобы не было дублирования.

    Если реквизит расширения не виден напрямую в основном объекте, то можно получить его через механизм расширений:

    — В запросах реквизиты расширения не видны, поэтому только через объекты документов и их методы.

    — Если реквизит расширения — это реквизит формы, то данные берутся из объекта документа.

    Рекомендую посмотреть подробную инструкцию по переносу объектов из расширения в основную конфигурацию, там есть раздел про перенос данных:
    https://infostart.ru/1c/articles/1960294/

    Там описан способ выгрузки и загрузки данных XML, а также нюансы с переносом реквизитов.

    База знаний 1С