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

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

Что такое код НСИ в 1С и как с ним работать

Разбираем, что такое код НСИ в 1С, где он хранится, чем отличается от наименования, как найти и изменить код элемента справочника и избежать дублей.

Код НСИ в 1С — это уникальный идентификатор элемента нормативно-справочной информации: товара, контрагента, сотрудника, договора, статьи затрат и любого другого объекта справочника. Пока пользователь видит на экране наименование «Молоко 3,2%» или «ООО Ромашка», программа внутри себя оперирует именно кодом и внутренней ссылкой. Понимание того, как устроен код, помогает быстро находить нужные элементы, разбираться с дублями и корректно настраивать обмен данными.

Аббревиатура НСИ расшифровывается как «нормативно-справочная информация». Это все справочники и классификаторы конфигурации: номенклатура, контрагенты, склады, валюты, единицы измерения, статьи доходов и расходов. У каждого элемента такого справочника платформа автоматически присваивает код — числовой или строковый, в зависимости от настроек конфигурации.

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

Что такое НСИ и почему у каждого элемента есть код

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

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

Где в 1С посмотреть код элемента справочника

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

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

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

Как найти код элемента в списке
  1. 1
    Откройте нужный справочник, например «Номенклатура» или «Контрагенты».
  2. 2
    Через меню «Ещё» включите отображение колонки «Код» в настройках списка.
  3. 3
    Введите код или его часть в строку поиска и проверьте найденный элемент.
  4. 4
    Откройте карточку элемента и сверьте код в шапке формы.

Как формируется код: автонумерация, длина и тип

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

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

В распределённых базах и при обмене данными к кодам часто добавляют префикс информационной базы, например «БП-00000123» и «УТ-00000456». Префикс позволяет избежать совпадения кодов, когда один и тот же справочник пополняется в двух программах параллельно. Настройка префикса выполняется в параметрах обмена или в настройках нумерации.

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

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

РеквизитКто назначаетУникальностьМожно ли менять
Код1С автоматическиУникален в справочникеДа, но с осторожностью
НаименованиеПользовательМожет повторятьсяДа, свободно
АртикулПоставщик или пользовательНе гарантированаДа
ШтрихкодПроизводитель или пользовательКонтролируется отдельноДа

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

Когда код нужно менять и как это сделать безопасно

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

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

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

Коды НСИ при обмене данными и дубли элементов

Типичная проблема — дубли номенклатуры или контрагентов после обмена. Причина почти всегда одна: элементы в двух базах создавались независимо, у них разные GUID, и при синхронизации программа не смогла понять, что «ООО Ромашка» в бухгалтерии и «Ромашка ООО» в торговле — один и тот же контрагент. Коды при этом могут совпадать или различаться — на сопоставление по GUID это не влияет.

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

Типичные ошибки
01
Ручной ввод кода с большим номером — автонумерация упирается в предел длины, новые элементы не создаются.
02
Удаление «лишнего» элемента вместо пометки на удаление — ссылки из документов превращаются в битые.
03
Поиск элемента только по наименованию — находится не тот объект, в документ попадает ошибочная позиция.
04
Изменение кодов в базе с настроенным обменом без проверки правил синхронизации — появляются дубли в связанной программе.

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

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

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

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

Создание нового элемента
Норма

Код присваивается автоматически, без ошибки уникальности

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

Ошибка «код не уникален» или пустой код при записи

Документы со ссылками на элемент
Норма

Документы открываются, в полях отображается элемент, а не «Объект не найден»

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

Вместо ссылки — надпись «<Объект не найден>»

Обмен данными
Норма

После синхронизации нет новых дублей справочников

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

В связанной базе появились повторные элементы

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

Итог

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

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

Частые вопросы о кодах НСИ в 1С

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

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

Что будет, если у двух элементов окажется одинаковый код?

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

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

Формат кода определяется настройками справочника в конфигураторе: тип (число или строка) и длина. В типовой конфигурации менять эти свойства не рекомендуется — это усложнит обновления. Лидирующие нули в строковом коде не мешают работе и обеспечивают правильную сортировку.

Как узнать код элемента, если известен только документ?

Откройте документ, перейдите по ссылке в поле с элементом справочника (щелчок по полю или кнопка открытия) — откроется карточка, где виден код. Альтернатива — построить отчёт по документам с выводом кодов элементов через настройку полей отчёта.

Нужно ли заполнять код при загрузке данных из Excel?

Как правило, нет: при загрузке через штатные обработки код присваивается автоматически. Заполнять код из файла стоит только если внешняя система жёстко привязана к своим кодам и вы планируете сверяться по ним. Иначе лучше хранить внешний идентификатор в отдельном реквизите, например в артикуле или дополнительном свойстве.