Справочники и Данные · 10 мин
Как изменить код номенклатуры в 1С
Как изменить код номенклатуры в 1С: ручное редактирование, автонумерация, групповая обработка, префиксы и риски при смене кодов в базе.
Код номенклатуры в 1С — это системный идентификатор элемента справочника, который программа присваивает автоматически при создании карточки товара. По умолчанию он формируется по счётчику и часто не устраивает пользователей: коды идут не подряд, не содержат смысловой нагрузки или конфликтуют с артикулами поставщиков. Изменить код можно вручную прямо в карточке, через групповую обработку или настройкой автонумерации.
Прежде чем менять коды, важно понимать: код используется в поиске, сортировке, обменах данными и иногда в печатных формах. Бесконтрольная смена кодов в рабочей базе может нарушить синхронизацию с другими системами, поэтому действия стоит планировать заранее. Ниже разобраны все рабочие способы — от простого редактирования до массовой перенумерации.
Где находится код номенклатуры и как он формируется
Справочник «Номенклатура» находится в разделе «НСИ и администрирование» или «Справочники» в зависимости от конфигурации (1С:Управление торговлей, 1С:ERP, 1С:Комплексная автоматизация). Каждый элемент справочника имеет поле «Код», которое заполняется автоматически при записи новой карточки.
Механизм автонумерации работает так: программа берёт максимальный существующий код и увеличивает его на единицу. Если коды содержат префикс (например, «00-000123»), счётчик ведётся внутри каждого префикса отдельно. Из-за этого при удалении элементов в нумерации появляются «дыры» — это нормальное поведение, а не ошибка базы.
Длина кода и наличие префикса задаются на уровне конфигурации. В типовых решениях длина кода номенклатуры обычно составляет 9–11 символов, а префикс может формироваться из кода организации или узла обмена данными. Узнать текущие настройки можно в конфигураторе: свойства справочника «Номенклатура», вкладка «Нумерация».
Как изменить код вручную в карточке номенклатуры
Самый простой способ — отредактировать код напрямую. Откройте раздел «НСИ и администрирование» → «Номенклатура», найдите нужную позицию через поиск и откройте карточку двойным щелчком. Поле «Код» доступно для редактирования, если у пользователя есть права на изменение справочника.
Введите новое значение и нажмите «Записать и закрыть». Программа проверит уникальность: если такой код уже занят другим элементом, появится сообщение об ошибке и запись не выполнится. Учитывайте, что код — строковое или числовое поле в зависимости от настроек конфигурации, поэтому формат нового кода должен соответствовать существующей структуре.
- 1Откройте справочник: НСИ и администрирование → Номенклатура
- 2Найдите нужную позицию через строку поиска
- 3Откройте карточку и измените значение поля «Код»
- 4Нажмите «Записать и закрыть»
- 5Проверьте, что поиск по новому коду находит элемент
Если поле «Код» недоступно для редактирования (затенено серым), причины обычно две: недостаточно прав у пользователя или в конфигурации включён запрет ручного изменения кода. В первом случае обратитесь к администратору за расширением роли, во втором — потребуется доработка или использование обработки с привилегированным режимом.
Групповое изменение кодов через обработку
Когда коды нужно поменять у десятков или сотен позиций, ручное редактирование не подходит. В типовых конфигурациях есть штатная обработка «Групповое изменение реквизитов»: она находится в разделе «Администрирование» → «Обслуживание» → «Корректировка данных» (точный путь зависит от версии конфигурации).
В обработке выберите объект «Номенклатура», при необходимости настройте отбор по папке, виду номенклатуры или другому признаку. Затем отметьте реквизит «Код» и задайте способ изменения. Доступны варианты: установить фиксированное значение, вычислить по формуле или выполнить произвольный алгоритм на встроенном языке. Для перенумерации с сохранением порядка удобен вариант с формулой, где к старому коду добавляется смещение или префикс.
После выполнения обработка покажет отчёт: сколько элементов изменено и не возникло ли конфликтов уникальности. Если часть позиций не обновилась из-за дублирования кодов, скорректируйте формулу и повторите операцию только для проблемного набора.
Настройка автонумерации и префиксов для новых элементов
Если задача — не исправить старые коды, а изменить правила нумерации для будущих карточек, работа ведётся на уровне конфигурации. В конфигураторе откройте свойства справочника «Номенклатура», вкладку «Нумерация»: здесь задаются длина кода, тип (число или строка), признак автонумерации и контроль уникальности.
Префиксы в типовых конфигурациях формируются автоматически при работе в распределённых базах или при ведении учёта по нескольким организациям. Для тонкой настройки логики префиксации используется подписка на событие «ПриУстановкеНовогоКода» в общем модуле — это уже задача для разработчика, так как потребуется изменение кода конфигурации.
Риски при смене кодов в рабочей базе
Код номенклатуры — это не внутренний идентификатор (GUID), поэтому смена кода не ломает ссылки на элемент в документах: все проводки, остатки и движения останутся привязанными к карточке. Однако внешние связи могут пострадать.
Основные риски: нарушение обмена с сайтом, складскими системами (WMS) или торговым оборудованием, если сопоставление товаров там идёт по коду; рассинхронизация с другими базами 1С при обмене, если код участвует в механизме сопоставления; сбой печатных форм и этикеток, где код выводится как штрихкод или идентификатор. Перед массовой перенумерацией проверьте, какие интеграции используют это поле.
Как выбрать действие
Проверка результата и частые ошибки
После изменения кодов проверьте результат: откройте список номенклатуры, отсортируйте по колонке «Код» и убедитесь, что новые значения применились. Выполните поиск по новому коду — элемент должен находиться мгновенно. Если база участвует в обмене, проведите тестовую синхронизацию и сверьте, что товары сопоставились корректно.
Как проверить результат
Элемент находится, код отображается корректно
Поиск не находит элемент или показывает другой товар
Номенклатура отображается, остатки на месте
Пустые строки или ошибки открытия документов
Товары сопоставлены, дублей нет
Создались дубли номенклатуры или несопоставленные позиции
Код или артикул: что менять на самом деле
Частая ситуация: пользователю нужно, чтобы в документах и отчётах отображался «правильный» идентификатор товара, и он меняет код. Однако во многих случаях правильнее работать с реквизитом «Артикул»: он предназначен именно для пользовательского обозначения, свободно редактируется и выводится в печатные формы.
Меняйте системный код, только если этого требует внутренняя методология учёта (например, коды должны отражать категорию товара) или требования обмена. Если цель — красивое отображение в отчётах и прайсах, достаточно заполнить артикул и настроить его вывод в нужных формах и отчётах.
Что важно запомнить
Код номенклатуры меняется вручную в карточке или массово через «Групповое изменение реквизитов». Ссылки в документах при этом не ломаются, но обмены по коду могут дать дубли. Перед массовой перенумерацией делайте резервную копию и проверяйте интеграции. Для отображения в отчётах часто достаточно реквизита «Артикул».
Частые вопросы
Почему поле «Код» недоступно для редактирования?
Чаще всего причина в правах пользователя: роль не включает право изменения справочника номенклатуры. Реже поле блокируется настройками конфигурации. Проверьте права у администратора или попросите выполнить изменение пользователя с полными правами.
Что будет с документами, если изменить код номенклатуры?
Ничего критичного: документы ссылаются на элемент по внутреннему идентификатору (GUID), а не по коду. Поступления, реализации и остатки останутся корректными. Код — это лишь отображаемый реквизит, но он может использоваться в обменах и печатных формах.
Можно ли сделать коды номенклатуры идущими подряд без пропусков?
Да, через групповую обработку с формулой перенумерации. Однако при последующем удалении элементов «дыры» появятся снова — это особенность автонумерации. Полностью сплошная нумерация поддерживается только регламентной перенумерацией, что обычно неоправданно.
Как изменить коды сразу у всех позиций в папке?
Откройте обработку «Групповое изменение реквизитов», выберите справочник «Номенклатура», в отборе укажите «Родитель = нужная папка», отметьте реквизит «Код» и задайте формулу изменения. Перед запуском протестируйте на копии базы или на нескольких элементах.
Нарушится ли обмен с сайтом после смены кодов?
Зависит от настройки интеграции. Если сопоставление товаров идёт по коду — обмен создаст дубли или потеряет связь. Если по GUID, артикулу или наименованию — смена кода безопасна. Уточните механизм сопоставления в настройках обмена до начала перенумерации.
Чем код отличается от артикула в 1С?
Код — системный идентификатор, присваиваемый автоматически, с контролем уникальности и фиксированной длиной. Артикул — свободный пользовательский реквизит для обозначения товара, который можно менять без ограничений. Для отображения в отчётах, прайсах и печатных формах обычно используют артикул.