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

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

Где хранится нумерация в 1С и как ею управлять

Где хранится нумерация документов и справочников в 1С: регистр сведений «Нумерация», таблицы СУБД, сброс счётчиков, восстановление номеров и типовые ошибки.

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

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

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

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

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

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

Где хранятся счётчики в типовых конфигурациях (БСП)

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

Посмотреть содержимое регистра можно из режима 1С:Предприятие через меню «Все функции» (включается в параметрах интерфейса): «Все функции → Регистры сведений → Нумерация». Там видно, какое значение счётчика записано для конкретного вида документа и префикса. Это первое место, куда стоит смотреть, если нумерация «прыгает» или начинается не с того числа.

Физическое хранение: таблицы СУБД и файл 1Cv8.1CD

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

В клиент-серверном варианте каждому объекту метаданных соответствует таблица в базе SQL Server, PostgreSQL или Oracle. Регистры сведений хранятся в таблицах вида _InfoRgNNNN, документы — _DocumentNNNN, справочники — _ReferenceNNNN. Соответствие имён таблиц объектам конфигурации можно получить через функцию ПолучитьСтруктуруХраненияБазыДанных() в конфигураторе или обработкой структуры хранения.

Прямые запросы к таблицам СУБД допустимы только для чтения и диагностики. Изменение счётчиков нумерации напрямую в SQL нарушает логику платформы: кэши сеансов и механизмы блокировок не узнают о вмешательстве, что приводит к конфликтам номеров и повреждению целостности данных.

Как найти текущее значение счётчика

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

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

Как найти, где лежит счётчик
  1. 1
    Откройте «Все функции → Регистры сведений» и найдите регистр «Нумерация» или похожий по названию.
  2. 2
    Если регистр есть и содержит записи по нужному виду документов — счётчик хранится там.
  3. 3
    Если регистра нет — проверьте в конфигураторе, назначен ли виду документа нумератор и включена ли автонумерация.
  4. 4
    При отсутствии и того и другого счётчик вычисляется по максимальному номеру в таблице документов за период.
  5. 5
    Зафиксируйте найденное значение перед любыми изменениями.

Сброс и изменение нумерации

Типовая ситуация — сброс нумерации с начала нового года. В конфигурациях с БСП для этого есть штатная обработка «Сброс нумерации документов» (обычно в разделе «Администрирование → Обслуживание» или аналогичном). Она обнуляет или устанавливает заданное значение счётчика для выбранных видов объектов.

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

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

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

Проблемы с нумерацией после переноса и обменов

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

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

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

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

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

Следующий по порядку после последнего существующего с учётом префикса

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

Номер уже занят или начинается с единицы при заполненной базе

Записи регистра «Нумерация»
Норма

Значение счётчика соответствует максимальному номеру документов за период

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

Счётчик сильно меньше или больше реальных номеров

Префиксы в РИБ
Норма

Каждый узел выдаёт номера со своим уникальным префиксом

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

Разные узлы выдают одинаковые номера с одинаковым префиксом

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

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

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

Можно ли посмотреть таблицу нумерации в файловой базе?

Штатных средств прямого просмотра внутренних таблиц файла 1Cv8.1CD нет. Используйте режим «Все функции → Регистры сведений → Нумерация» в самой программе — этого достаточно для диагностики и корректировки.

Где хранится нумерация кодов справочников?

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

Опасно ли менять значение в регистре «Нумерация» вручную?

Риск умеренный, если делать это через интерфейс платформы при отсутствии активных сеансов пользователей и после резервной копии. Опасно править данные напрямую в СУБД и менять счётчик, не проверив реальные номера документов — можно получить дубли.

Нумерация сбросилась сама после обновления конфигурации — это нормально?

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

Как сделать сквозную нумерацию для разных видов документов?

Назначьте обоим видам документов один общий нумератор в конфигураторе — тогда счётчик будет единым, и номера не будут пересекаться. Учтите, что изменение применится только к новым документам, существующие номера останутся как есть.

Итог

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

Счётчики номеров в типовых конфигурациях лежат в регистре сведений «Нумерация», сами номера — в полях объектов, физически всё это — таблицы _InfoRg и _Document в СУБД или файл 1Cv8.1CD. Диагностику ведите через «Все функции», корректировку — только штатными средствами после резервной копии, прямое вмешательство в SQL недопустимо.