Ответ в теме: Как написать процедуру копирования иерархических справочников в 1С с сохранением

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как написать процедуру копирования иерархических справочников в 1С с сохранением Ответ в теме: Как написать процедуру копирования иерархических справочников в 1С с сохранением

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

    Navigator, привет!

    Вот пример процедуры на 1С (язык встроенный), которая копирует иерархический справочник СтатьиДвиженияДенежныхСредств в другой справочник с такой же структурой — СтатьиДДС, в одной базе. При этом сохраняется иерархия, реквизиты копируются по именам.

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

    Объяснения:

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

    Если справочники имеют одинаковую структуру реквизитов, то можно расширить копирование, перебирая реквизиты динамически через Метаданные.

    Если нужно — могу помочь с этим.

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