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

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

Нумератор 1С: как работает нумерация документов и справочников

Как устроен нумератор 1С, почему сбиваются номера документов, как настроить префиксы и восстановить нумерацию без ошибок и дублей.

Нумератор в 1С — это механизм платформы, который автоматически присваивает очередной номер документу или код элементу справочника при их создании. Он гарантирует, что в пределах одного вида объектов и заданного периода каждый номер будет уникальным, а бухгалтер или менеджер не получит два приходных ордера с одинаковым номером.

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

Статья разбирает устройство нумератора 1С, типичные сценарии сбоев, способы ручной корректировки и настройку нумерации в конфигураторе. Материал подходит администраторам и разработчикам 1С, а также пользователям, которые хотят понять, почему номер ведёт себя «странно».

Как устроен механизм нумерации в платформе 1С

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

Номер в 1С может быть числовым или строковым. Для строковых номеров платформа выделяет числовую часть и увеличивает её, сохраняя префикс и лидирующие нули. Именно поэтому номер «000000125» корректно превращается в «000000126», а не в «126» — длина номера фиксирована настройками объекта метаданных.

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

Периодичность нумерации и почему номера обнуляются

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

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

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

Префиксы: зачем нужны и как работают при обмене

Префикс — это символы перед числовой частью номера, например «ЦБ-000001» или «МСК-0042». В типовых конфигурациях префикс обычно формируется из кода организации или узла распределённой базы. Его главная задача — предотвратить дубли номеров, когда документы создаются в разных базах и затем сводятся вместе через обмен.

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

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

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

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

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

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

Новый номер меньше существующихСбит максимум нумерации

Найдите документ с аномальным номером в текущем периоде

Дубли номеров после обменаНе настроены префиксы узлов

Проверьте префиксы в настройках синхронизации

Номера продолжаются с прошлого годаНепериодическая нумерация

Проверьте периодичность в конфигураторе

Пропуски в номерахУдалённые или незаписанные документы

Это норма, если документы удалялись

Как восстановить нумерацию штатными средствами

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

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

В файловых базах дополнительно помогает тестирование и исправление информационной базы с включённой проверкой логической целостности. В клиент-серверном варианте при подозрении на повреждение индексов уникальности задачу лучше передать администратору СУБД.

Порядок восстановления нумерации
  1. 1
    Сделайте резервную копию базы перед любыми изменениями
  2. 2
    Найдите документы с аномальными номерами за текущий период
  3. 3
    Исправьте или перенумеруйте проблемные документы
  4. 4
    Запустите штатную обработку обновления нумерации
  5. 5
    Создайте тестовый документ и проверьте предложенный номер
  6. 6
    Понаблюдайте за нумерацией несколько дней, чтобы убедиться в устранении причины

Настройка нумерации в конфигураторе для разработчика

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

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

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

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

Типичные ошибки при работе с нумерацией

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

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

Как проверить, что нумерация работает правильно

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

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

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

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

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

Следующий по порядку после максимального за период

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

Меньше существующих или с аномальным скачком

Префикс
Норма

Соответствует организации или узлу обмена

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

Пустой, чужой или меняется от документа к документу

Уникальность в журнале
Норма

Номера не повторяются в пределах периода

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

Два и более документа с одним номером

Нумерация после обмена
Норма

Новые документы обеих баз не пересекаются

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

Конфликты при загрузке, перенумерация платформой

Частые вопросы о нумераторе 1С

Почему в номере документа пропуски — это ошибка?

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

Можно ли начать нумерацию с произвольного номера?

Да. Создайте первый документ и вручную установите нужный стартовый номер с учётом текущего префикса и длины — следующие документы продолжат от него. Альтернатива для разработчика — программная установка номера при записи первого объекта периода.

Почему после обновления конфигурации сбилась нумерация?

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

Что делать, если платформа сообщает о неуникальном номере при записи?

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

Влияет ли нумератор на производительность базы?

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

Итог

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

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