Администрирование · 12 мин
Нумератор 1С: как работает нумерация документов и справочников
Как устроен нумератор 1С, почему сбиваются номера документов, как настроить префиксы и восстановить нумерацию без ошибок и дублей.
Нумератор в 1С — это механизм платформы, который автоматически присваивает очередной номер документу или код элементу справочника при их создании. Он гарантирует, что в пределах одного вида объектов и заданного периода каждый номер будет уникальным, а бухгалтер или менеджер не получит два приходных ордера с одинаковым номером.
Механизм работает незаметно, пока не происходит сбой: номера «перескакивают», появляются дубли после обмена между базами или после нового года документы продолжают нумероваться со старого значения. Чтобы быстро разобраться в причине, нужно понимать, где хранятся настройки нумерации, как платформа вычисляет следующий номер и что происходит с номером при отмене проведения или удалении документа.
Статья разбирает устройство нумератора 1С, типичные сценарии сбоев, способы ручной корректировки и настройку нумерации в конфигураторе. Материал подходит администраторам и разработчикам 1С, а также пользователям, которые хотят понять, почему номер ведёт себя «странно».
Как устроен механизм нумерации в платформе 1С
Каждый вид документа и большинство справочников имеют свойство «Нумерация», которое задаётся в конфигураторе. Ключевые параметры — длина номера, периодичность (в пределах года, квартала, месяца, дня или непрерывно) и признак автонумерации. Когда пользователь создаёт новый объект, платформа анализирует уже существующие номера в заданных границах и предлагает следующий по порядку.
Номер в 1С может быть числовым или строковым. Для строковых номеров платформа выделяет числовую часть и увеличивает её, сохраняя префикс и лидирующие нули. Именно поэтому номер «000000125» корректно превращается в «000000126», а не в «126» — длина номера фиксирована настройками объекта метаданных.
Важно понимать: номер присваивается в момент записи объекта, а не в момент нажатия кнопки «Создать». Если документ открыли, заполнили, но не записали — номер в базе ещё не занят. Это объясняет ситуации, когда два пользователя одновременно создают документы и видят одинаковый предполагаемый номер: после записи первого второй получит следующее значение.
Периодичность нумерации и почему номера обнуляются
Периодичность определяет, в каких границах номер должен быть уникальным и когда отсчёт начинается заново. Наиболее распространённый вариант — «в пределах года»: первый документ нового года получает номер 1 (или 000000001), и это нормальное поведение, а не сбой. Для кассовых и банковских документов иногда настраивают нумерацию в пределах дня или месяца.
Непериодическая нумерация означает сквозной отсчёт за всё время существования базы. Такой вариант типичен для справочников: контрагенты или номенклатура не должны получать повторяющиеся коды каждый год. Если для документа ошибочно установить непрерывную нумерацию вместо годовой, в январе номера продолжат расти с прошлогоднего значения — и пользователи воспримут это как ошибку.
Проверить периодичность можно в конфигураторе: откройте свойства вида документа, перейдите на закладку «Нумерация» и посмотрите значение поля «Периодичность». Менять этот параметр в работающей базе нужно осторожно — существующие номера не пересчитаются автоматически, и возможны конфликты уникальности.
Префиксы: зачем нужны и как работают при обмене
Префикс — это символы перед числовой частью номера, например «ЦБ-000001» или «МСК-0042». В типовых конфигурациях префикс обычно формируется из кода организации или узла распределённой базы. Его главная задача — предотвратить дубли номеров, когда документы создаются в разных базах и затем сводятся вместе через обмен.
Типичная схема: центральная база имеет префикс «ЦБ», периферийная — «ПФ». Даже если в обеих базах создали по пять реализаций, после синхронизации номера не пересекутся. Если же префиксы не настроены или совпадают, при обмене возникают конфликты — платформа либо отказывается загружать объект, либо перенумеровывает его в зависимости от правил обмена.
Префикс также влияет на вычисление следующего номера: платформа ищет максимальный номер среди объектов с тем же префиксом. Поэтому ручное изменение префикса в одном документе может «увести» нумерацию — следующий номер будет вычисляться уже от другого значения.
Почему сбивается нумерация: типичные причины
Самая частая причина сбоев — ручное редактирование номера. Пользователь вписывает «свой» номер, например с другим количеством цифр или буквами в нестандартном месте, и платформа начинает вычислять следующее значение от этой аномалии. Результат — номера вида «999999999» или сбитый порядок на весь остаток периода.
Вторая причина — обмен данными без корректных префиксов или загрузка документов из внешних систем. Загруженный объект может принести номер, который становится «максимальным», и автонумерация продолжится от него. Третья группа причин — программные доработки, где номер присваивается в обход штатного механизма.
Признаки проблемы заметны быстро: новый документ получает номер меньше уже существующих, появляются пропуски или дубли, отчёты по номерам выглядят непоследовательно. Прежде чем исправлять, определите источник — иначе после обновления нумерации сбой повторится.
Найдите документ с аномальным номером в текущем периоде
Проверьте префиксы в настройках синхронизации
Проверьте периодичность в конфигураторе
Это норма, если документы удалялись
Как восстановить нумерацию штатными средствами
В типовых конфигурациях есть обработка обновления нумерации. Обычно она находится в разделе «НСИ и администрирование» — «Обслуживание» либо вызывается из функций технического специалиста. Обработка пересчитывает максимальные номера по видам документов и сбрасывает нумераторы на корректные значения.
Порядок действий: сначала найдите и исправьте документы с аномальными номерами (через отбор по журналу или универсальный отчёт), затем запустите обновление нумерации и проверьте, какой номер предлагается новому документу. Если аномальный документ не исправить, обработка снова «поднимет» нумератор до него.
В файловых базах дополнительно помогает тестирование и исправление информационной базы с включённой проверкой логической целостности. В клиент-серверном варианте при подозрении на повреждение индексов уникальности задачу лучше передать администратору СУБД.
- 1Сделайте резервную копию базы перед любыми изменениями
- 2Найдите документы с аномальными номерами за текущий период
- 3Исправьте или перенумеруйте проблемные документы
- 4Запустите штатную обработку обновления нумерации
- 5Создайте тестовый документ и проверьте предложенный номер
- 6Понаблюдайте за нумерацией несколько дней, чтобы убедиться в устранении причины
Настройка нумерации в конфигураторе для разработчика
Разработчик управляет нумерацией через свойства объекта метаданных: длина номера, тип (число или строка), периодичность, контроль уникальности и автонумерация. Для документов доступен признак «Проверять уникальность» — платформа не даст записать два документа с одинаковым номером в границах периода.
Программно номер можно задать через свойство «Номер» объекта до записи, а для управления префиксами в типовых решениях используются подсистемы префиксации — например, процедуры подписки на событие «ПриУстановкеНовогоНомера». При доработках важно не отключать штатную автонумерацию без необходимости: собственный алгоритм придётся поддерживать самостоятельно, включая конкурентный доступ пользователей.
Для справочников действуют те же принципы, но вместо номера используется код. Если справочник иерархический, нумерация может вестись в пределах всего справочника или в пределах подчинения — это задаётся свойством «Серии кодов». Неверный выбор серии — частая причина дублей кодов в иерархических справочниках.
Перед массовой загрузкой документов из внешних систем договоритесь о формате номеров заранее: либо загружаемые документы получают отдельный префикс, либо их номера заведомо не пересекаются с диапазоном ручного ввода. Это дешевле, чем разбирать дубли после загрузки.
Типичные ошибки при работе с нумерацией
Ошибки с номерами редко бывают фатальными, но почти всегда требуют ручной работы по исправлению. Ниже — те сценарии, которые встречаются чаще всего и которых легко избежать на этапе настройки.
Как проверить, что нумерация работает правильно
После настройки или восстановления нумерации результат нужно проверить, а не предполагать. Создайте два-три тестовых документа подряд и убедитесь, что номера идут последовательно, с правильным префиксом и длиной. Затем пометьте тестовые документы на удаление.
Дополнительно проверьте журнал документов за текущий период: отсортируйте по номеру и убедитесь в отсутствии дублей и аномально больших значений. Если база участвует в обмене — выполните тестовую синхронизацию и проверьте, что номера в обеих базах не конфликтуют.
Как проверить результат
Следующий по порядку после максимального за период
Меньше существующих или с аномальным скачком
Соответствует организации или узлу обмена
Пустой, чужой или меняется от документа к документу
Номера не повторяются в пределах периода
Два и более документа с одним номером
Новые документы обеих баз не пересекаются
Конфликты при загрузке, перенумерация платформой
Частые вопросы о нумераторе 1С
Почему в номере документа пропуски — это ошибка?
Нет. Пропуски появляются, когда документы удаляются или когда пользователь открыл форму, но не записал объект. Штатный нумератор не «переиспользует» освободившиеся номера, и для большинства учётных задач это нормально. Требование непрерывной нумерации существует только для отдельных видов документов, например кассовых, — там удаление запрещено регламентом учёта.
Можно ли начать нумерацию с произвольного номера?
Да. Создайте первый документ и вручную установите нужный стартовый номер с учётом текущего префикса и длины — следующие документы продолжат от него. Альтернатива для разработчика — программная установка номера при записи первого объекта периода.
Почему после обновления конфигурации сбилась нумерация?
Само по себе обновление нумерацию не трогает, но иногда в релизе меняется алгоритм префиксации или длина номера. Проверьте, какой префикс подставляется в новые документы, и сравните с документами до обновления. Если префикс изменился — нумератор считает максимум уже по новой серии, и отсчёт может начаться заново.
Что делать, если платформа сообщает о неуникальном номере при записи?
Значит, в границах периода и префикса документ с таким номером уже существует — возможно, помеченный на удаление или загруженный обменом. Найдите его через журнал документов с отбором по номеру. Если это «мусорный» объект — удалите его физически, после чего запись пройдёт. Не отключайте контроль уникальности ради одного документа.
Влияет ли нумератор на производительность базы?
В штатном режиме — практически нет. Заметная нагрузка возможна только при массовом параллельном создании документов, когда транзакции конкурируют за вычисление максимального номера. В таких сценариях проблему решают на уровне архитектуры обмена или пакетной записи, а не настройками самого нумератора.
Что важно запомнить
Нумератор 1С выдаёт номера с учётом префикса, периодичности и длины, а сбои почти всегда вызваны ручным редактированием номеров или обменом без префиксов. Восстановление — это поиск аномальных документов, обновление нумерации штатной обработкой и проверка результата на тестовых документах. Перед любыми массовыми изменениями делайте резервную копию и не трогайте номера закрытых периодов.