Администрирование · 11 мин
Где в 1С формируется номер документа и как настроить нумерацию
Где в 1С формируется номер документа: нумераторы, префиксы, настройки в типовых конфигурациях, перенумерация и решение проблем с дублями и сбоями.
Нумерация документов в 1С — не отдельная кнопка, а встроенный механизм платформы. Когда пользователь нажимает «Записать» или «Провести», система обращается к нумератору, привязанному к виду документа, и выдаёт следующий номер. Понимание того, где именно «живёт» этот механизм, помогает быстро исправлять сбои: сбившуюся последовательность, дубли номеров, неожиданные префиксы.
Механизм состоит из нескольких уровней: свойства нумерации в конфигураторе, настройки префиксов в пользовательском режиме, периодичность и длина номера. В типовых конфигурациях (Бухгалтерия предприятия, Управление торговлей, ERP, ЗУП) часть настроек вынесена в интерфейс, часть доступна только разработчику. Ниже разобраны оба уровня и типовые сценарии работы с ними.
Важно понимать: номер документа — это не просто строка для печати. По связке «вид документа + номер + дата» строятся ссылки, отборы, печатные формы и обмены с другими системами. Ошибки в нумерации могут привести к расхождениям в отчётности и проблемам при синхронизации, поэтому любые изменения стоит выполнять осознанно и с резервной копией.
Как платформа 1С формирует номер при записи документа
Номер присваивается в момент записи объекта в базу данных, а не при создании формы нового документа. Пока документ не записан, в поле номера стоит заглушка или пустое значение. При записи платформа определяет нумератор, рассчитывает префикс и выбирает следующее свободное значение в рамках заданной периодичности.
Последовательность формирования выглядит так: префикс информационной базы или организации + числовая часть номера. Например, при префиксе «00» и очередном номере 145 итоговое значение будет «0000-000145» или «000145» — в зависимости от длины и настроек отображения. Числовая часть увеличивается на единицу относительно максимального уже использованного номера в текущем периоде.
Если документ создаётся копированием, номер не наследуется — при записи будет выдан новый. Если пользователь вручную вписал номер, который уже занят, платформа в большинстве конфигураций выдаст ошибку уникальности. Ручной ввод «свободного» номера возможен, но он может сместить автоматическую последовательность, если введённое значение окажется больше текущего максимума.
Где находятся настройки нумерации в пользовательском режиме
В типовых конфигурациях основная пользовательская настройка — это префиксы. В «1С:Бухгалтерии» путь обычно такой: раздел «Администрирование» → «Синхронизация данных» или «Общие настройки», где задаётся префикс информационной базы. Префикс организации указывается в карточке самой организации в справочнике «Организации» — поле «Префикс».
В «1С:Управление торговлей» и ERP префикс базы задаётся в разделе «НСИ и администрирование» → «Настройка НСИ и разделов» или непосредственно в настройках синхронизации. Префикс организации — также в карточке организации. Итоговый префикс документа складывается из этих значений: сначала идёт префикс базы, затем префикс организации, если он задан и предусмотрен конфигурацией.
Некоторые конфигурации позволяют переопределять нумерацию для отдельных видов документов через функциональные опции. Если в интерфейсе нужной настройки не видно, проверьте, не отключена ли она правами пользователя: часто настройки нумерации доступны только роли «Администратор системы» или «Полные права».
- 1Откройте раздел «Администрирование» и найдите настройку префикса информационной базы.
- 2Откройте справочник «Организации» и проверьте поле «Префикс» в карточке нужной организации.
- 3Измените значение и сохраните.
- 4Создайте тестовый документ и запишите его — проверьте, что новый номер содержит нужный префикс.
- 5Убедитесь, что ранее записанные документы не требуют перенумерации.
Настройка нумерации в конфигураторе: длина, периодичность, нумераторы
Базовые параметры нумерации задаются в конфигураторе в свойствах объекта «Документ». На закладке «Нумерация» доступны: длина номера, периодичность (в пределах дня, месяца, квартала, года или непериодическая), контроль уникальности, автонумерация и тип номера (числовой или строковый). В типовых конфигурациях номер почти всегда строковый, чтобы вместить префиксы.
Периодичность определяет, когда счётчик сбрасывается. Например, при периодичности «Год» 1 января нумерация начнётся заново с единицы (с учётом префикса). Это важно для документов, у которых номер должен быть уникален в пределах года по требованиям учётной политики. Смена периодичности в работающей базе — рискованная операция: старые номера останутся, а новые могут начать дублировать их в другом периоде.
Отдельный объект конфигурации — «Нумераторы» (ветка «Документы» → «Нумераторы»). К одному нумератору подключают несколько видов документов, чтобы у них была общая сквозная последовательность. В свойствах документа в поле «Нумератор» выбирается нужный объект. Если поле пустое, документ использует собственную независимую нумерацию.
Почему нумерация сбивается и как её восстановить
Самая частая причина сбоя — ручное изменение номера. Пользователь вписывает номер «в обход» автонумерации, например 999, и следующий автоматический номер становится 1000, хотя реально документов было 150. Вторая причина — обмен данными: документы из другой базы приходят со своими номерами, которые пересекаются с локальными. Третья — восстановление базы из копии, когда часть документов была создана после её снятия.
Признаки проблемы: новые документы получают номера с большим «запасом», в журнале видны пропуски или наоборот попытки выдать уже занятый номер с ошибкой уникальности. Для диагностики достаточно отсортировать журнал документов по номеру и посмотреть последние значения и наличие дублей.
Восстановление делается двумя способами. Первый — вручную исправить последний «неправильный» номер на корректный, после чего автонумерация продолжится от него. Второй — массовая перенумерация обработкой: документы за период перезаписываются с последовательными номерами. Перед перенумерацией обязательно сделайте копию базы и проверьте, не участвуют ли номера в обменах и печатных формах, уже выданных контрагентам.
Особенности нумерации при обмене данными и в распределённых базах
При синхронизации между базами (например, Бухгалтерия ↔ Управление торговлей или центральный узел ↔ филиал) номера должны быть уникальны во всех узлах. Для этого и существует префикс информационной базы: каждая база добавляет свой код, и коллизии исключаются. Если префикс не задан или совпадает в двух узлах, при обмене возможны дубли номеров и ошибки уникальности.
Проверьте, что префикс задан до начала работы с обменом, а не после появления конфликтов. В настройках синхронизации типовые конфигурации показывают предупреждение, если префикс пустой. Документы, загруженные из другой базы, сохраняют исходный номер — локальная автонумерация их не перезаписывает.
Отдельный случай — перенос данных из старых конфигураций. При загрузке номера сохраняются как в источнике, и автонумерация в новой базе начинается с учётом максимального загруженного номера. Если в старой базе были «хвосты» с большими номерами, новая нумерация стартует с них — это нормально, но иногда требует ручной корректировки стартового значения.
Программное управление номером для разработчиков
В модуле объекта документа доступно событие «ПриУстановкеНовогоНомера», в котором можно переопределить стандартное поведение: задать собственный префикс, изменить числовую часть или реализовать нестандартную логику. Параметр «СтандартнаяОбработка» позволяет полностью отключить типовой механизм и присвоить номер вручную через метод «УстановитьНовыйНомер».
Пример типовой задачи — добавить в префикс код подразделения или склада. В обработчике анализируется реквизит документа, формируется префикс и вызывается установка номера с этим префиксом. Важно учитывать, что длина префикса ограничена общей длиной номера: если номер строковый длиной 11, а префикс занимает 5 символов, на числовую часть останется 6 разрядов.
Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
Если ЗначениеЗаполнено(Склад) Тогда
Префикс = Префикс + Склад.Код;
КонецЕсли;
КонецПроцедурыДля массовой перенумерации программно используется перебор выборки документов за период с вызовом «УстановитьНовыйНомер» и записью объекта. Такие обработки запускайте в монопольном режиме или вне рабочего времени: параллельное создание документов пользователями во время перенумерации приведёт к конфликтам.
Как проверить, что нумерация работает правильно
После любых изменений настроек выполните контрольную проверку. Создайте тестовый документ, запишите его и сравните номер с ожидаемым: префикс корректный, числовая часть продолжает последовательность. Затем создайте второй документ — номер должен увеличиться на единицу.
Дополнительно проверьте журнал документов за текущий период на дубли: отсортируйте по номеру и убедитесь, что одинаковых значений нет. Если база участвует в обмене, создайте документ в каждом узле и убедитесь, что после синхронизации конфликтов номеров не возникло.
Как проверить результат
Префикс соответствует настройкам, число продолжает последовательность
Пропуски, сброс к единице в середине периода, чужой префикс
Номера уникальны, сортировка корректна
Дубли номеров, ошибки уникальности при записи
Документы из разных узлов имеют разные префиксы
Конфликты номеров после синхронизации
Часто задаваемые вопросы
Почему у нового документа пустой номер до записи?
Это штатное поведение платформы: номер присваивается только при записи объекта в базу. До записи документ существует лишь в памяти, и резервировать за ним номер бессмысленно — иначе отменённые документы «сжигали» бы номера и создавали пропуски.
Можно ли задать нумерацию, начиная с произвольного числа?
Да. Создайте документ и вручную впишите нужный стартовый номер, затем запишите его. Следующий автоматический номер будет на единицу больше. Альтернатива для разработчика — установить номер программно через «УстановитьНовыйНомер» в событии записи.
Почему после обмена появились документы с одинаковыми номерами?
Чаще всего не заданы или совпадают префиксы информационных баз в узлах обмена. Задайте уникальный префикс в каждой базе (раздел администрирования, настройки синхронизации), а существующие дубли разрешите вручную, изменив номер в одном из узлов.
Что будет, если изменить длину номера в конфигураторе?
Увеличение длины обычно безопасно. Уменьшение опасно: существующие номера, не помещающиеся в новую длину, вызовут ошибки при перезаписи документов. Перед изменением сделайте копию базы и проверьте максимальную фактическую длину номеров.
Как сделать сквозную нумерацию для нескольких видов документов?
В конфигураторе создайте объект «Нумератор» (ветка «Документы» → «Нумераторы») и в свойствах каждого нужного вида документа укажите его в поле «Нумератор». Все документы, подключённые к одному нумератору, получат общую последовательность номеров.
Что важно запомнить
Номер документа формируется платформой при записи: нумератор выдаёт следующее значение, к которому добавляется префикс базы или организации. Пользовательские настройки — это префиксы в разделе администрирования и карточке организации; длина, периодичность и нумераторы задаются в конфигураторе. Сбои чаще всего вызваны ручным вводом номеров и обменами без уникальных префиксов, а любые изменения в работающей базе безопасно делать только после резервного копирования.