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

Разработка и Конфигурация · 11 мин

Как добавить нумератор в 1С и настроить нумерацию документов

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

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

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

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

Что такое нумератор и как он работает в платформе 1С

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

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

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

Как создать нумератор в конфигураторе

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

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

Порядок создания нумератора
  1. 1
    Откройте конфигуратор и разблокируйте конфигурацию для изменений при необходимости
  2. 2
    В дереве метаданных откройте «Документы» → «Нумераторы» и добавьте новый объект
  3. 3
    Укажите имя, синоним, тип номера, длину и периодичность
  4. 4
    Откройте свойства нужного вида документов и в поле «Нумератор» выберите созданный объект
  5. 5
    Обновите конфигурацию базы данных (F7) и проверьте присвоение номера новому документу

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

Как привязать нумератор к виду документов

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

Для сквозной нумерации привяжите один и тот же нумератор к нескольким видам документов. Тогда платформа будет вести единый счётчик: если последний приходный ордер получил номер 150, следующий расходный ордер с тем же нумератором получит 151. Это удобно для журналов, где документы разных видов должны идти в общем ряду.

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

Настройка префиксов и периодичности

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

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

Выбор периодичности нумератора

В пределах года

Стандарт для первичных учётных документов; с 1 января нумерация начинается с единицы

В пределах месяца или квартала

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

Непериодический

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

Как сбросить или исправить нумерацию в типовой конфигурации

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

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

bsl
// Установить новый номер документу программно
ДокОбъект = ДокументСсылка.ПолучитьОбъект();
ДокОбъект.УстановитьНовыйНомер(); // присвоит следующий по счётчику номер
ДокОбъект.Записать();

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

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

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

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

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

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

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

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

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

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

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

Номер присваивается автоматически, следующий по порядку

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

Поле номера пустое или возникает ошибка неуникальности

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

Соответствует префиксу базы и организации

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

Префикс отсутствует или чужой при обмене данными

Сквозная нумерация
Норма

Разные виды документов идут в общем ряду номеров

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

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

Начало нового периода
Норма

Счётчик сбрасывается согласно периодичности

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

Нумерация продолжается — периодичность не задана

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

Часто задаваемые вопросы

Можно ли добавить нумератор, не снимая конфигурацию с поддержки?

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

Как сделать нумерацию с буквенным префиксом вида «ПКО-0001»?

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

Почему после удаления документа номер не переиспользуется?

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

Что делать, если появились документы с одинаковыми номерами?

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

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

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

Можно ли использовать один нумератор для документов и справочников?

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

Итог

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

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