Ошибка «Код не уникален» в 1С: восстановление автонумерации справочников
Почему сбивается автоматическая нумерация?
При попытке записать нового контрагента, сотрудника или номенклатуру 1С выдает ошибку: «Не удалось записать объект. Код справочника "Номенклатура" стал не уникален!». После этого 1С перестает автоматически подставлять следующий порядковый номер (например, после номера 00000099 должен идти 00000100, но программа пытается записать 00000099 повторно).
Главная причина поломки автонумерации
В 99% случаев виновен человеческий фактор: пользователь вручную ввел номер с нестандартным количеством цифр или буквой (например, вместо 00000145 вбил руками 145 или №145-А). Платформа 1С теряет шаблон лидирующих нулей и больше не может вычислить следующий номер в числовом ряду.
Пошаговое исправление нумерации
- Найдите объект, сломавший нумерацию: отсортируйте список справочника по колонке «Код» в обратном порядке и найдите элементы с кривыми номерами (без нулей впереди или с русскими буквами).
- Исправьте код вручную: приведите ошибочный код к правильному формату с сохранением разрядности (например, измените
99на00000099). - Используйте типовую обработку перенумерации:
- Откройте внешнюю обработку «Универсальный подбор и обработка объектов» или типовую обработку «Перенумерация объектов».
- Выберите нужный справочник (или тип документа).
- Нажмите «Перенумеровать». Программа последовательно переприсвоит правильные номера всем элементам с начала года.
Совет администраторам: В правах доступа обычных пользователей снимите право «Редактирование номера/кода». Номера должны формироваться строго платформой 1С автоматически!
Частые вопросы (FAQ)
Почему нельзя использовать пробелы или дефисы в номерах документов?
Символы нарушают лексикографическую сортировку строк в СУБД. Платформа воспринимает код как текстовую строку, и после номера 9 пойдет 10, а не 09, что полностью ломает автоинкремент.
Что делать, если в новом году нумерация документов не началась с единицы?
В свойствах нумератора документа в Конфигураторе должен быть установлен режим периодичности «В пределах года». Если стоит «Непериодический», номера продолжают расти сквозным списком.
Изменятся ли номера в уже распечатанных старых документах при перенумерации?
Если обработка перенумерует старые документы, их номера изменятся. Поэтому перенумерацию следует запускать строго с определенной даты (например, только для документов текущего месяца).
Что означает буква-префикс в начале номера (например, БП-000012)?
Префикс указывает на принадлежность документа к конкретной организации («БП») или узлу распределенной базы данных (РИБ) для предотвращения совпадения номеров при синхронизации.