К статье
Практический материал

Справочники и Данные · 12 мин

Как скопировать справочник в 1С 8: инструкция для пользователей

Как скопировать элементы справочника в 1С 8: копирование одного элемента, групповое копирование, перенос между базами через обработку и выгрузку XML.

Справочники в 1С 8 хранят нормативно-справочную информацию: номенклатуру, контрагентов, сотрудников, склады, договоры. Задача скопировать справочник возникает в трёх типовых ситуациях: нужно быстро создать похожий элемент, перенести часть данных в другую папку или базу, либо полностью продублировать справочник при настройке новой информационной базы. Для каждого сценария есть свой инструмент, и выбор зависит от объёма данных и того, работаете ли вы в одной базе или переносите данные между разными.

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

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

Копирование одного элемента справочника

Самый частый сценарий — создать новый элемент на основе существующего. Например, добавить номенклатуру, которая отличается от уже введённой только артикулом и ценой, или нового контрагента с реквизитами, совпадающими с другим подразделением той же компании.

Порядок действий в типовых конфигурациях (Управление торговлей, Бухгалтерия предприятия, ERP): откройте список справочника, найдите нужный элемент, выделите его и нажмите клавишу F9 либо кнопку «Скопировать» в меню «Ещё» или на панели инструментов. Откроется форма нового элемента, в которой уже заполнены все реквизиты исходного, включая табличные части. Измените наименование и отличающиеся поля, затем нажмите «Записать и закрыть».

Порядок действий
  1. 1
    Откройте список справочника и найдите исходный элемент
  2. 2
    Выделите его и нажмите F9 или команду «Скопировать»
  3. 3
    В открывшейся форме измените наименование и код, если он не автонумеруется
  4. 4
    Проверьте заполнение реквизитов — скопируются все значения исходника
  5. 5
    Нажмите «Записать и закрыть» и убедитесь, что новый элемент появился в списке

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

Также помните: копируются только данные самого элемента. Связанная информация из регистров сведений — например, цены номенклатуры или адреса контрагентов, если они хранятся в отдельных регистрах, — при копировании элемента не переносится. Их нужно вводить заново или копировать отдельными средствами.

Копирование нескольких элементов и групп

Когда нужно скопировать не один элемент, а несколько, встроенная команда F9 уже неудобна — она работает только с одной записью. Для групповых операций в типовых конфигурациях есть обработка «Групповое изменение реквизитов», но она изменяет существующие элементы, а не копирует их. Поэтому для массового копирования применяют другие приёмы.

Первый вариант — последовательное копирование через F9 с включённым отбором. Отфильтруйте список по нужному признаку (группе, владельцу, реквизиту), затем копируйте элементы по одному. При десятке-двух позиций это быстрее, чем искать специальный инструмент.

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

Третий вариант — использование табличного документа и буфера обмена. В некоторых конфигурациях список справочника можно выделить, скопировать в буфер (Ctrl+C) и вставить в Excel для анализа, но обратная вставка в справочник напрямую не работает. Для загрузки данных из таблиц существует отдельная обработка «Загрузка данных из табличного документа», которая входит в состав Библиотеки стандартных подсистем и доступна во многих типовых решениях.

Перенос справочника между базами через выгрузку XML

Если справочник нужно скопировать из одной информационной базы в другую — например, перенести номенклатуру из старой базы во вновь созданную, — стандартным инструментом является обработка «Выгрузка и загрузка данных XML». Она входит в комплект поставки типовых конфигураций и доступна на диске ИТС, а также часто встроена в раздел «Администрирование».

Обработка работает по принципу: в базе-источнике вы выбираете объекты для выгрузки, программа формирует XML-файл, а в базе-приёмнике этот файл загружается. Важное условие — конфигурации обеих баз должны быть идентичны по структуре переносимых объектов, иначе часть реквизитов не сопоставится.

Порядок действий
  1. 1
    В базе-источнике откройте обработку «Выгрузка и загрузка данных XML»
  2. 2
    На вкладке «Выгрузка» отметьте нужный справочник флажком
  3. 3
    При необходимости задайте отбор по элементам, чтобы не выгружать всё
  4. 4
    Укажите имя файла и нажмите «Выгрузить данные»
  5. 5
    В базе-приёмнике откройте ту же обработку, перейдите на вкладку «Загрузка»
  6. 6
    Выберите файл и выполните загрузку, затем проверьте результат

При выгрузке справочника обращайте внимание на связанные объекты. Например, у номенклатуры есть ссылки на единицы измерения, ставки НДС, группы. Обработка умеет выгружать объекты «по ссылкам» — то есть автоматически подтягивать связанные элементы, чтобы в базе-приёмнике не осталось битых ссылок. Соответствующий флажок обычно называется «При необходимости выгружать объекты, на которые есть ссылки».

После загрузки обязательно проверьте результат: откройте справочник в новой базе, сравните количество элементов с исходным, убедитесь, что группы и иерархия сохранились, а ссылочные реквизиты заполнены, а не показывают «Объект не найден».

Контрольные точки

Как проверить результат

Количество элементов
Норма

Совпадает с количеством в базе-источнике (с учётом отбора)

Тревожный признак

Часть элементов отсутствует или появились неожиданные дубли

Ссылочные реквизиты
Норма

Поля заполнены, элементы открываются

Тревожный признак

В полях отображается «Объект не найден» или пустые значения

Иерархия
Норма

Группы и вложенность соответствуют исходной структуре

Тревожный признак

Все элементы лежат в корне, группы потеряны

Загрузка справочника из Excel и внешних файлов

Частая практическая задача — справочник уже существует в виде таблицы Excel, и его нужно не скопировать из базы, а создать с нуля на основе файла. В типовых конфигурациях на платформе 8.3 для этого служит обработка «Загрузка данных из табличного документа» (в некоторых конфигурациях — «Загрузка данных из файла» в разделе справочника).

Логика работы: вы открываете обработку, выбираете вид справочника, вставляете или открываете таблицу с данными, затем сопоставляете колонки таблицы реквизитам справочника. Программа показывает предварительный результат, и после проверки вы запускаете загрузку. Каждая строка таблицы становится новым элементом справочника.

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

Типичные ошибки
01
Загрузка без поиска дублей — создаются повторные элементы с тем же наименованием, которые потом попадают в документы
02
Несопоставленные колонки — данные попадают не в те реквизиты, например артикул записывается в поле наименования
03
Промежуточные итоги и шапки в Excel — строки с текстом «Итого» превращаются в элементы справочника
04
Загрузка сразу в рабочую базу без теста на копии — ошибки обнаруживаются, когда данные уже используются

Копирование справочника как объекта в конфигураторе

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

Откройте конфигуратор, в дереве конфигурации найдите ветку «Справочники», выделите нужный объект и скопируйте его через контекстное меню или Ctrl+C, затем вставьте — Ctrl+V. Платформа создаст новый справочник с тем же составом реквизитов, табличных частей, форм и макетов. Скопированному объекту нужно задать новое имя и синоним, а также проверить права доступа в ролях — они не всегда копируются корректно.

Учтите, что такое копирование создаёт полностью независимый объект: данные между исходным и новым справочником не связаны, и переносить их придётся отдельно — программно или через выгрузку XML. Кроме того, в типовых конфигурациях добавление собственных объектов усложняет последующие обновления, поэтому перед таким шагом оцените, нельзя ли решить задачу расширением конфигурации или дополнительными реквизитами.

Сравнение вариантов

Копирование элемента (F9)

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

Выгрузка/загрузка XML

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

Загрузка из табличного документа

Подходит для первоначального заполнения справочника из Excel. Требует подготовки файла и сопоставления колонок

Копирование в конфигураторе

Нужно для создания нового объекта метаданных. Только для разработчиков, данные не переносятся

Проверка результата и устранение дублей

После любого массового копирования или загрузки потратьте время на контроль. Базовая проверка — сравнение количества элементов. Откройте список справочника в источнике и приёмнике и сверьте итоги. Если конфигурация позволяет, выведите список без группировки, чтобы видеть общее число записей.

Вторая проверка — поиск дублей. В типовых конфигурациях есть обработка «Поиск и удаление дублей» (раздел «Администрирование» — «Обслуживание»). Она находит элементы с совпадающими наименованиями или реквизитами и позволяет объединить их: все ссылки из документов перенаправляются на выбранный «правильный» элемент, а лишние помечаются на удаление.

Третья проверка — целостность ссылок. Откройте несколько скопированных элементов и убедитесь, что ссылочные поля (владелец, родительская группа, связанные справочники) заполнены реальными значениями. Признак проблемы — надпись вида «<Объект не найден>» вместо значения. Такие записи означают, что связанный объект не был перенесён, и выгрузку нужно повторить с включённым переносом связанных объектов.

Итог

Что важно запомнить

Одиночный элемент копируется клавишей F9, массовый перенос между базами — обработкой «Выгрузка и загрузка данных XML», первоначальное заполнение — загрузкой из табличного документа. Перед массовыми операциями делайте резервную копию, после — проверяйте количество элементов, дубли и целостность ссылок.

Часто задаваемые вопросы

Почему при копировании элемента выдаётся ошибка «Значение поля Код не уникально»?

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

Переносятся ли цены номенклатуры при копировании элемента справочника?

Нет. Цены в типовых конфигурациях хранятся в регистре сведений, а не в самом справочнике, поэтому при копировании элемента они не переносятся. Цены нужно установить отдельно — документом «Установка цен номенклатуры» или копированием соответствующих записей регистра.

Можно ли скопировать справочник между базами с разными конфигурациями?

Напрямую через выгрузку XML — нет, так как структура объектов не совпадёт. Для разных конфигураций используются правила обмена (обработка «Универсальный обмен данными в формате XML» с настроенными правилами конвертации) или промежуточная выгрузка в табличный документ с последующей загрузкой и сопоставлением полей.

Как скопировать только часть элементов справочника, а не весь?

В обработке «Выгрузка и загрузка данных XML» для выбранного справочника можно задать отбор — например, по группе, владельцу или значению реквизита. Выгрузятся только элементы, удовлетворяющие условию. Альтернатива — выгрузить нужные элементы в таблицу и загрузить через обработку загрузки из табличного документа.

Что делать, если после загрузки появились дубли элементов?

Используйте типовую обработку «Поиск и удаление дублей» из раздела «Администрирование». Укажите справочник и критерии сравнения (наименование, код, ИНН для контрагентов). Обработка покажет группы совпадающих элементов и позволит объединить их с автоматической заменой ссылок во всех документах. Перед объединением убедитесь, что выбран правильный «основной» элемент.

Нужны ли права администратора для копирования элементов справочника?

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