Справочники и Данные · 10 мин
Как скопировать элемент справочника в 1С
Как скопировать элемент справочника в 1С: копирование через F9, кнопки, групповую обработку и код. Ограничения, ошибки и проверка результата.
Копирование элемента справочника — одна из самых частых операций при заполнении базы 1С: новая номенклатура отличается от существующей парой реквизитов, контрагент открыл ещё одну организацию с похожими данными, сотруднику нужна вторая должность. Ручное повторное заполнение десятков полей отнимает время и провоцирует ошибки, поэтому в типовых конфигурациях предусмотрено несколько штатных способов создать элемент на основе существующего.
Способ копирования зависит от режима работы (обычное или управляемое приложение), версии платформы и настроек конкретной конфигурации. В большинстве случаев достаточно стандартной команды «Скопировать», но для массовых операций удобнее групповая обработка или внешняя обработка, а разработчику — программное создание объекта методом Скопировать().
Важно понимать ограничения: копируются только реквизиты самого элемента, а связанные данные — цены, штрихкоды, договоры, присоединённые файлы — в большинстве конфигураций не переносятся автоматически. Их придётся завести отдельно, иначе новая позиция будет «пустой» в документах и отчётах.
Стандартное копирование клавишей F9 или кнопкой «Скопировать»
Базовый способ работает в любой типовой конфигурации — 1С:Бухгалтерия, Управление торговлей, ЗУП, ERP. Откройте нужный справочник, найдите элемент-образец в списке и выделите его курсором. Затем нажмите клавишу F9 либо кнопку «Скопировать» на командной панели — обычно это иконка с двумя листами. В управляемом приложении команда также доступна через меню «Ещё» → «Скопировать».
Откроется форма нового элемента, в которой все реквизиты уже заполнены значениями из образца. Элемент ещё не записан в базу: до нажатия «Записать» или «Записать и закрыть» он существует только на экране. Это безопасно — если передумали, просто закройте форму без сохранения, и никаких изменений в данных не произойдёт.
Перед записью обязательно измените наименование и поля, которые должны быть уникальными: артикул, ИНН, код, рабочее место. Если конфигурация контролирует уникальность какого-то реквизита, при попытке записи появится сообщение об ошибке — это нормальная защита от дублей, а не сбой.
- 1Откройте справочник и выделите элемент-образец
- 2Нажмите F9 или кнопку «Скопировать» на панели списка
- 3В открывшейся форме измените наименование и уникальные реквизиты
- 4Проверьте заполнение остальных полей — они скопированы из образца
- 5Нажмите «Записать и закрыть» и найдите новый элемент в списке
Копирование через контекстное меню и буфер обмена
Альтернативный вариант — щёлкнуть правой кнопкой мыши по элементу списка и выбрать в контекстном меню команду «Скопировать». Результат идентичен клавише F9: откроется форма нового элемента с заполненными данными. Этот способ удобен тем, кто привык работать мышью, и работает как в тонком, так и в веб-клиенте.
В управляемых формах также действует копирование через буфер обмена комбинациями Ctrl+C / Ctrl+V при выделенной строке списка. Платформа интерпретирует вставку как создание нового элемента на основе скопированного. Учтите: если в буфере находится текст из другого приложения, вставка в список справочника не сработает — сначала скопируйте именно строку списка.
В тонком клиенте и веб-клиенте некоторые команды контекстного меню могут отличаться составом пунктов, но «Скопировать» присутствует практически всегда. Если команда неактивна (серая), проверьте права доступа и не открыт ли список в режиме только для просмотра.
Копирование в обычном приложении (старше 8.2)
В конфигурациях на обычных формах — например, «Управление торговлей 10.3» или «Бухгалтерия 1.6/2.0» — механика та же, но расположение команд другое. Кнопка «Скопировать» находится на панели инструментов списка справочника, а клавиша F9 работает так же. Дополнительно доступно меню «Действия» → «Скопировать».
Особенность обычных форм — при копировании иерархического элемента новый объект создаётся в той же группе, что и образец. Если нужно разместить копию в другой папке, перетащите её мышью после записи или измените реквизит «Родитель» в форме элемента.
Что копируется, а что нет: проверка результата
Стандартное копирование переносит реквизиты и табличные части самого элемента. Однако данные, хранящиеся в связанных объектах и регистрах сведений, по умолчанию не дублируются. Типичный пример — номенклатура: скопируются наименование, единица измерения, вид номенклатуры, ставка НДС, но цены из регистра «Цены номенклатуры», штрихкоды и характеристики придётся завести заново.
Аналогично у контрагентов: реквизиты организации скопируются, а договоры, банковские счета и контактные лица — нет, потому что это подчинённые справочники. После копирования откройте новый элемент и пройдитесь по всем закладкам и связанным спискам, чтобы понять, чего не хватает.
Как проверить результат
Новый элемент виден, наименование отличается от образца
Элемента нет — запись не выполнена, или появился точный дубль
Поля заполнены значениями образца, уникальные поля изменены
Пустые поля или совпадающий артикул/ИНН у двух элементов
Цены, штрихкоды, договоры заведены для нового элемента
В документах новый элемент подставляется без цены или с чужим договором
Массовое копирование элементов
Если нужно создать несколько похожих элементов, копирование по одному через F9 остаётся рабочим вариантом: после записи форма закрывается, и операцию можно повторить за секунды. Для десятков позиций это приемлемо, для сотен — утомительно и чревато ошибками.
Для массовых задач используйте типовую обработку «Групповое изменение реквизитов» (в разделе «Администрирование») — она не копирует элементы, но позволяет быстро изменить реквизиты у уже созданных копий. Для собственно массового создания применяют внешние обработки или загрузку данных из табличного документа (обработка «Загрузка данных из табличного документа» есть в составе БСП-конфигураций): подготовьте строки в Excel, загрузите — и получите пачку новых элементов.
Как выбрать способ
Программное копирование для разработчика
В языке 1С у объектов справочника есть встроенный метод Скопировать(), который создаёт новый объект на основе текущего. Типовой фрагмент кода выглядит так:
Образец = Справочники.Номенклатура.НайтиПоКоду("000001");
НовыйЭлемент = Образец.Скопировать();
НовыйЭлемент.Наименование = "Новое наименование";
НовыйЭлемент.Записать();Метод копирует реквизиты и табличные части, но не переносит данные регистров сведений и подчинённых справочников — их нужно обрабатывать отдельным кодом. Также учитывайте: если у справочника включена серия кодов или автонумерация, код новому элементу будет присвоен при записи автоматически.
При программном копировании в клиент-серверном режиме выполняйте массовые операции на сервере и по возможности в транзакции, чтобы при ошибке не осталось частично созданных данных. Перед запуском обработки на рабочей базе обязательно протестируйте её на копии.
Типичные ошибки и ограничения
Самая частая проблема — создание дублей. Пользователь копирует элемент, забывает изменить наименование или артикул, и в справочнике появляются две одинаковые позиции. Позже в документах выбирается «не та» номенклатура, и остатки по складам расходятся. Включите в конфигураторе контроль уникальности наименования или артикула, если дубли недопустимы.
Вторая ошибка — ожидание, что скопируется «всё». Как описано выше, цены, штрихкоды, договоры и файлы не переносятся. Третья типичная ситуация — неактивная команда «Скопировать»: это означает, что у пользователя нет права добавления элементов в данный справочник. Проверьте роли пользователя в разделе «Администрирование» → «Пользователи и права».
FAQ
Почему кнопка «Скопировать» неактивна?
Чаще всего у пользователя нет права на добавление элементов в этот справочник — проверьте роли в настройках прав доступа. Реже список открыт в режиме выбора или только для просмотра; закройте форму и откройте справочник из основного меню раздела.
Копируются ли цены и штрихкоды при копировании номенклатуры?
Нет. Цены хранятся в регистре сведений, а штрихкоды — в отдельном регистре, поэтому стандартное копирование их не переносит. После создания копии установите цену документом «Установка цен номенклатуры» и при необходимости сгенерируйте новый штрихкод в карточке элемента.
Можно ли скопировать элемент вместе с подчинёнными элементами?
Штатной команды «скопировать с подчинёнными» в типовых конфигурациях нет. Договоры, контактные лица, счета создаются отдельно вручную или копируются программно — разработчик может написать обработку, которая перенесёт и подчинённые справочники.
Чем копирование отличается от ввода на основании?
Копирование создаёт новый элемент того же справочника с теми же реквизитами. Ввод на основании создаёт объект другого типа — например, из контрагента можно ввести договор или расчётный счёт. Команды ввода на основании находятся в кнопке «Создать на основании» в форме элемента.
Как найти и удалить случайно созданные дубли?
Отсортируйте список по наименованию или артикулу — одинаковые элементы окажутся рядом. В типовых конфигурациях есть обработка «Поиск и удаление дублей» (раздел «Администрирование» → «Обслуживание»), которая находит совпадения и заменяет ссылки в документах на один элемент перед удалением лишних.
Работает ли копирование в веб-клиенте?
Да, в веб-клиенте доступны те же команды: F9, кнопка «Скопировать» на панели списка и пункт в меню «Ещё». Комбинации Ctrl+C/Ctrl+V для строк списка могут зависеть от браузера, поэтому надёжнее использовать штатную кнопку.
Что важно запомнить
Быстрый способ скопировать элемент справочника — выделить его и нажать F9 или кнопку «Скопировать», затем изменить наименование и уникальные поля перед записью. Копируются только реквизиты самого элемента: цены, штрихкоды и договоры заводите отдельно. Для массовых операций используйте загрузку из таблиц или программный метод Скопировать(), предварительно сделав резервную копию базы.