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

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

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #35528
      Фото аватараOdineski
      Участник

        Напиши процедуру копирования двух иерархических справочников одинаковой структуры в одной информационной базе. Справочник СтатьиДвиженияДенежныхСредств в СтатьиДДС

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

          Navigator, привет!

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

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

          Объяснения:

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С