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

Администрирование · 11 мин

Почему 1С пишет «Номер не уникальный» и как это исправить

Разбираем ошибку «Номер не уникальный» в 1С: почему возникает, как найти дубли номеров документов и справочников, исправить нумерацию и не навредить базе.

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

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

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

Что именно означает ошибка «Номер не уникальный»

В 1С у каждого документа есть номер, а у элементов справочников и планов счетов — код. Для этих реквизитов в конфигурации задаётся признак контроля уникальности. Когда он включён, платформа при записи проверяет: нет ли в базе другого объекта того же вида с таким же значением. Если есть — запись отменяется, и пользователь видит сообщение о неуникальном номере.

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

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

Основные причины сбоя нумерации

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

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

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

Как найти дубли номеров в базе

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

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

bsl
ВЫБРАТЬ Номер, КОЛИЧЕСТВО(Ссылка) КАК Количество ИЗ Документ.РеализацияТоваровУслуг ГДЕ Дата МЕЖДУ &НачалоГода И &КонецГода СГРУППИРОВАТЬ ПО Номер ИМЕЮЩИЕ КОЛИЧЕСТВО(Ссылка) > 1

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

Как исправить ошибку: пошаговые способы

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

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

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

Порядок действий при ошибке
  1. 1
    Сделайте резервную копию базы или выгрузку .dt
  2. 2
    Найдите дубли: отсортируйте список по номеру или выполните запрос по группировке
  3. 3
    Проверьте, нет ли среди дублей помеченных на удаление объектов
  4. 4
    Обновите нумерацию штатной командой или обработкой
  5. 5
    При единичном конфликте вручную присвойте свободный номер одному из объектов
  6. 6
    Создайте тестовый документ и убедитесь, что номер присваивается без ошибки

Особые случаи: справочники, обмены и префиксы

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

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

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

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

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

Ошибка появилась один раз при создании нового документаОбновите нумерацию штатной командой и проверьте создание нового документа
Дублей много, номера идут вразнобойСделайте копию и выполните полную перенумерацию за период в монопольном режиме
Ошибка возникает после каждого обмена даннымиПроверьте и настройте разные префиксы для всех узлов обмена
Дубль — помеченный на удаление объектВыполните удаление помеченных объектов, затем обновите нумерацию

Как предотвратить повторение ошибки

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

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

Периодически, особенно после обменов и восстановлений из копий, запускайте проверку дублей номеров и актуальность нумераторов. Это занимает несколько минут и избавляет от авральных разборов в момент, когда документ нужно срочно провести.

Типичные ошибки
01
Ручная правка номера «под красивый» без обновления нумератора — конфликты возвращаются через несколько документов
02
Перенумерация без резервной копии — при ошибке откатить изменения невозможно
03
Изменение номеров документов закрытых периодов — расхождения с отчётностью и данными контрагентов
04
Отключение контроля уникальности ради загрузки без последующей проверки — накопление скрытых дублей
05
Одинаковые префиксы в узлах обмена — ошибка возвращается после каждой синхронизации
Контрольные точки

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

Создание нового документа
Норма

Номер присваивается автоматически, запись проходит без сообщений

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

Ошибка «Номер не уникальный» появляется снова

Запрос на дубли за период
Норма

Запрос не возвращает строк — каждый номер встречается один раз

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

Есть номера с количеством больше одного

Помеченные на удаление объекты
Норма

Среди дублей нет помеченных объектов

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

Номер занят помеченным объектом — требуется удаление помеченных

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

Ошибка появляется только у одного пользователя. Почему?

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

Можно ли отключить контроль уникальности номера?

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

После перенумерации изменятся ли номера в уже распечатанных документах?

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

Почему дубли появились после обмена с другой базой?

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

Помеченный на удаление документ мешает записи. Что делать?

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

Ошибка возникла сразу после новогоднего перехода. Это нормально?

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

Итог

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

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