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

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

Как изменить код номенклатуры в 1С

Как изменить код номенклатуры в 1С: ручное редактирование, автонумерация, групповая обработка, префиксы и риски при смене кодов в базе.

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

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

Где находится код номенклатуры и как он формируется

Справочник «Номенклатура» находится в разделе «НСИ и администрирование» или «Справочники» в зависимости от конфигурации (1С:Управление торговлей, 1С:ERP, 1С:Комплексная автоматизация). Каждый элемент справочника имеет поле «Код», которое заполняется автоматически при записи новой карточки.

Механизм автонумерации работает так: программа берёт максимальный существующий код и увеличивает его на единицу. Если коды содержат префикс (например, «00-000123»), счётчик ведётся внутри каждого префикса отдельно. Из-за этого при удалении элементов в нумерации появляются «дыры» — это нормальное поведение, а не ошибка базы.

Длина кода и наличие префикса задаются на уровне конфигурации. В типовых решениях длина кода номенклатуры обычно составляет 9–11 символов, а префикс может формироваться из кода организации или узла обмена данными. Узнать текущие настройки можно в конфигураторе: свойства справочника «Номенклатура», вкладка «Нумерация».

Как изменить код вручную в карточке номенклатуры

Самый простой способ — отредактировать код напрямую. Откройте раздел «НСИ и администрирование» → «Номенклатура», найдите нужную позицию через поиск и откройте карточку двойным щелчком. Поле «Код» доступно для редактирования, если у пользователя есть права на изменение справочника.

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

Порядок действий
  1. 1
    Откройте справочник: НСИ и администрирование → Номенклатура
  2. 2
    Найдите нужную позицию через строку поиска
  3. 3
    Откройте карточку и измените значение поля «Код»
  4. 4
    Нажмите «Записать и закрыть»
  5. 5
    Проверьте, что поиск по новому коду находит элемент

Если поле «Код» недоступно для редактирования (затенено серым), причины обычно две: недостаточно прав у пользователя или в конфигурации включён запрет ручного изменения кода. В первом случае обратитесь к администратору за расширением роли, во втором — потребуется доработка или использование обработки с привилегированным режимом.

Групповое изменение кодов через обработку

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

В обработке выберите объект «Номенклатура», при необходимости настройте отбор по папке, виду номенклатуры или другому признаку. Затем отметьте реквизит «Код» и задайте способ изменения. Доступны варианты: установить фиксированное значение, вычислить по формуле или выполнить произвольный алгоритм на встроенном языке. Для перенумерации с сохранением порядка удобен вариант с формулой, где к старому коду добавляется смещение или префикс.

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

Настройка автонумерации и префиксов для новых элементов

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

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

Риски при смене кодов в рабочей базе

Код номенклатуры — это не внутренний идентификатор (GUID), поэтому смена кода не ломает ссылки на элемент в документах: все проводки, остатки и движения останутся привязанными к карточке. Однако внешние связи могут пострадать.

Основные риски: нарушение обмена с сайтом, складскими системами (WMS) или торговым оборудованием, если сопоставление товаров там идёт по коду; рассинхронизация с другими базами 1С при обмене, если код участвует в механизме сопоставления; сбой печатных форм и этикеток, где код выводится как штрихкод или идентификатор. Перед массовой перенумерацией проверьте, какие интеграции используют это поле.

Маршрут решения

Как выбрать действие

Нужно поменять код у 1–5 позицийОтредактируйте вручную в карточке элемента
Меняются коды у десятков позиций по понятному правилуИспользуйте «Групповое изменение реквизитов» с формулой
Код участвует в обмене с сайтом или другой базойСначала проверьте механизм сопоставления в интеграции, меняйте коды только при сопоставлении по GUID или артикулу
Нужно изменить правила нумерации для новых карточекНастройте нумерацию в конфигураторе или обратитесь к разработчику для работы с подпиской на события

Проверка результата и частые ошибки

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

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

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

Поиск по новому коду в списке номенклатуры
Норма

Элемент находится, код отображается корректно

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

Поиск не находит элемент или показывает другой товар

Документы с этой позицией (поступления, реализации)
Норма

Номенклатура отображается, остатки на месте

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

Пустые строки или ошибки открытия документов

Обмен с сайтом или другой базой
Норма

Товары сопоставлены, дублей нет

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

Создались дубли номенклатуры или несопоставленные позиции

Типичные ошибки
01
Менять коды без резервной копии — при ошибке в формуле массовая порча данных без возможности быстрого отката
02
Игнорировать уникальность: попытка присвоить уже занятый код блокирует запись и прерывает пакетную обработку
03
Менять коды при активном обмене данными — в другой базе появятся дубли или несопоставленные элементы
04
Путать код и артикул: артикул — отдельный реквизит, и для внешних систем часто правильнее менять его, а не системный код

Код или артикул: что менять на самом деле

Частая ситуация: пользователю нужно, чтобы в документах и отчётах отображался «правильный» идентификатор товара, и он меняет код. Однако во многих случаях правильнее работать с реквизитом «Артикул»: он предназначен именно для пользовательского обозначения, свободно редактируется и выводится в печатные формы.

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

Итог

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

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

Частые вопросы

Почему поле «Код» недоступно для редактирования?

Чаще всего причина в правах пользователя: роль не включает право изменения справочника номенклатуры. Реже поле блокируется настройками конфигурации. Проверьте права у администратора или попросите выполнить изменение пользователя с полными правами.

Что будет с документами, если изменить код номенклатуры?

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

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

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

Как изменить коды сразу у всех позиций в папке?

Откройте обработку «Групповое изменение реквизитов», выберите справочник «Номенклатура», в отборе укажите «Родитель = нужная папка», отметьте реквизит «Код» и задайте формулу изменения. Перед запуском протестируйте на копии базы или на нескольких элементах.

Нарушится ли обмен с сайтом после смены кодов?

Зависит от настройки интеграции. Если сопоставление товаров идёт по коду — обмен создаст дубли или потеряет связь. Если по GUID, артикулу или наименованию — смена кода безопасна. Уточните механизм сопоставления в настройках обмена до начала перенумерации.

Чем код отличается от артикула в 1С?

Код — системный идентификатор, присваиваемый автоматически, с контролем уникальности и фиксированной длиной. Артикул — свободный пользовательский реквизит для обозначения товара, который можно менять без ограничений. Для отображения в отчётах, прайсах и печатных формах обычно используют артикул.