Неуникальность кода справочника при обновлении 1С: как убрать предупреждение

· Обновлено 12.07.2026 · ⏱ 6 мин · Редакция 1s-83.com

📋 Содержание

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

Разбираем, почему при обновлении 1С 8.3 код справочника становится неуникальным, чем это грозит и как убрать предупреждение без потери данных. Сценарий одинаковый для БП 3.0, ЗУП 3.1 и УТ 11 — меняется только имя справочника в тексте ошибки.

Что означает предупреждение «Код справочника стал неуникальным»

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

Полный текст предупреждения обычно выглядит так:

Код справочника <Имя> стал неуникальным.
Изменение длины или типа кода привело к появлению одинаковых кодов
у разных элементов. Требуется перенумерация.

💡 Это предупреждение, а не ошибка платформы. База не сломана, обновление проходит. 1С честно сообщает: после её изменений в справочнике появились элементы с одинаковым кодом.

Чаще всего в тексте фигурируют справочники «Налоги и взносы», «ВидыНачислений», «СтатьиЗатрат», пользовательские справочники — то есть те, где разработчик конфигурации поменял настройку кода в новом релизе.

Почему код справочника становится неуникальным при обновлении

Причина одна: в новом релизе изменилась настройка поля «Код». Варианты изменений:

  • 🔢 Изменилась длина кода — было 5 знаков, стало 9 (или наоборот, укоротили).
  • 🔤 Изменился тип кода — был числовой, стал строковый, или добавили префиксы.
  • Добавили серии кодов — раньше нумерация была сквозная, стала «в пределах подчинения».
  • 🔀 Слили два справочника в один — коды из разных источников пересеклись.

Когда платформа пересчитывает коды по новым правилам, часть значений совпадает. Например, элементы с кодами 000000012 и 12 после обрезки до коротких кодов оба превращаются в 12. Вот и дубль.

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

Быстро сопоставить симптом и причину поможет диагностика:

🩺 Диагностика: выберите симптом

Опасно ли это и можно ли продолжать обновление

Продолжать можно. Данные в проводках, документах и регистрах привязаны не к коду, а к внутренней ссылке (GUID) элемента. Одинаковые коды не «склеивают» элементы и не портят учёт.

Что действительно может пойти не так при неуникальных кодах:

  • поиск по коду находит не тот элемент;
  • сортировка справочника по коду выглядит вперемешку;
  • некоторые обработки и отчёты, ищущие элемент по коду, дают сбой;
  • при вводе нового элемента 1С предлагает уже занятый код.

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

Перед любыми правками справочника сделайте резервную копию базы. Выгрузка в .dt через «Администрирование → Выгрузить информационную базу» или копия каталога файловой базы.

Как исправить неуникальность кода справочника — по шагам

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

👣 Пошаговый помощник
Сделайте резервную копию
Выгрузите базу в .dt или скопируйте каталог. Работать будем в монопольном режиме — всех пользователей из базы попросите выйти.

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

Как найти дублирующиеся коды в справочнике

Если перенумерации нет или хочется сначала посмотреть, где именно дубли, — их видно через консоль запросов (обработка «Консоль запросов» с ИТС или встроенная в расширениях).

Запрос ищет коды, которые встречаются больше одного раза:

ВЫБРАТЬ
    Спр.Код КАК Код,
    КОЛИЧЕСТВО(Спр.Ссылка) КАК Сколько
ИЗ
    Справочник.НалогиИВзносы КАК Спр
СГРУППИРОВАТЬ ПО
    Спр.Код
ИМЕЮЩИЕ
    КОЛИЧЕСТВО(Спр.Ссылка) > 1

Замените НалогиИВзносы на имя своего справочника из текста предупреждения. В результате — список кодов-дублей и сколько раз каждый повторяется.

Дальше по каждому коду решаете: какому элементу оставить код, а какому назначить новый. Менять код можно прямо в карточке элемента (поле «Код» открыто на редактирование в большинстве типовых справочников).

СпособКогда подходитРиск
Перенумерация «Ещё → Перенумеровать»Дублей много, содержание кода не важноМеняются коды у всех элементов
Правка кода вручную в карточке1–3 дубля, код осмысленныйДолго при большом объёме
Групповое изменение реквизитовНужно задать коды по правилуТребует аккуратной настройки отбора

Если не помогло

Бывает, что перенумерация не запускается или предупреждение возвращается. Что пробуют дальше:

  1. 🧹 Тестирование и исправление — «Администрирование → Тестирование и исправление ИБ» с галкой «Реструктуризация таблиц». Заодно чистит битые ссылки.
  2. 🔁 Повторить обновление на копии — накатите тот же релиз на резервную копию и посмотрите, повторяется ли предупреждение. Так отсекается разовый сбой.
  3. 🪜 Обновляться по шагам — если перепрыгнули много релизов, накатите промежуточные версии по очереди. Каждый релиз аккуратно пересчитывает коды.
  4. 🧰 Предопределённые элементы — если дубль по предопределённому элементу, его код выровняет следующий релиз конфигурации; вручную такие коды лучше не трогать.

⚠️ Если справочник большой и правок много, а сроки горят — разумнее подключить специалиста с доступом к конфигуратору. Массовую перенумерацию с проверкой ссылок безопаснее делать под контролем.

Как предотвратить предупреждение при следующих обновлениях

Полностью избежать не всегда получится — решение о смене кода принимает разработчик релиза. Но снизить вероятность и последствия реально:

Перед обновлением конфигурации
Выполнено: 0 / 6

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

Можно ли просто закрыть предупреждение и работать дальше?
Да, база при этом остаётся рабочей — учёт привязан к ссылкам, а не к кодам. Но лучше закрыть перенумерацией, иначе поиск по коду и ввод новых элементов будут сбоить.
Из-за неуникального кода потеряются данные в документах?
Нет. Документы, проводки и регистры ссылаются на внутренний идентификатор элемента, а не на его код. Одинаковые коды учёт не искажают.
Где взять имя справочника, который надо править?
Оно прямо в тексте предупреждения — например, Код справочника Налоги и взносы стал неуникальным. Именно этот справочник и открываете для перенумерации.
Нет пункта «Перенумеровать коды» в меню «Ещё». Что делать?
Используйте обработку «Групповое изменение реквизитов» или консоль запросов, чтобы найти дубли, и правьте коды вручную. В части типовых справочников перенумерация вынесена отдельной обработкой.
Почему предупреждение вылезло именно на этом релизе?
В этом релизе разработчик поменял длину или тип кода справочника. При пересчёте по новым правилам часть кодов совпала. На соседних релизах такого изменения могло не быть.
Обязательно ли делать резервную копию?
Обязательно. Перенумерация меняет коды сразу у всех элементов справочника, откатить точечно её нельзя. Копия — единственный безопасный способ вернуться, если что-то пойдёт не так.

Материал подготовлен редакцией 1С 8.3 — независимый справочник. Проверено и обновлено: 12.07.2026. Независимый справочник. Мы не представляем фирму «1С» и не аффилированы с ней.