Администрирование · 13 мин
Как работает автонумерация в 1С
Как работает автонумерация в 1С: механизм присвоения номеров, типы нумерации, сброс номеров, типичные ошибки и способы исправления нумерации документов.
Автонумерация в 1С — это встроенный механизм платформы, который автоматически присваивает номера документам и коды элементам справочников при их создании. Пользователю не нужно вручную вписывать очередной номер: система берёт последнее использованное значение по соответствующей серии нумерации, увеличивает его на единицу и подставляет в поле. Механизм работает на уровне ядра платформы, поэтому одинаково применим к типовым и самописным конфигурациям.
Несмотря на кажущуюся простоту, именно нумерация регулярно становится источником проблем: сбитые номера после нового года, дубли при обмене данными между базами, «дырки» в последовательности и конфликты номеров в распределённых системах. Понимание того, как платформа хранит и выдаёт номера, позволяет быстро диагностировать такие ситуации и исправлять их без риска для учётных данных.
Материал рассчитан на пользователей, администраторов и начинающих разработчиков 1С. Разберём устройство механизма, настройки нумераторов, типичные сбои и безопасные способы восстановления последовательности номеров.
Как устроен механизм автонумерации
Платформа 1С ведёт для каждого вида документов (и справочников с автонумерацией кодов) внутренний счётчик. Когда пользователь создаёт новый документ, в момент записи система определяет, к какой серии нумерации относится объект, находит максимальный уже использованный номер в этой серии и выдаёт следующий. Если поле номера пустое и у объекта включена автонумерация — номер подставляется автоматически, без обращения пользователя.
Серия нумерации определяется несколькими параметрами: периодичностью (в пределах года, месяца, дня или без ограничения), префиксом и, для некоторых объектов, владельцем — например, нумерация договоров может вестись в разрезе контрагентов. Внутри каждой серии счётчик независим: документы с разными префиксами нумеруются отдельно друг от друга.
Важный нюанс: номер присваивается при записи, а не в момент нажатия кнопки «Создать». Если пользователь открыл форму нового документа и закрыл её без записи, номер не расходуется. Поэтому «дырки» в нумерации появляются в основном при удалении уже записанных документов, а не из-за отменённого ввода.
Настройки нумерации в конфигураторе
Основные параметры задаются в конфигураторе в свойствах вида документа или справочника. Там определяется длина номера, тип (числовой или строковый), признак автонумерации, контроль уникальности и периодичность. Для строковых номеров платформа умеет увеличивать числовую часть, сохраняя буквенный префикс.
Периодичность — ключевая настройка, влияющая на поведение при смене периода. При значении «Год» с 1 января нумерация начинается заново — это стандартное и ожидаемое поведение для большинства первичных документов. При значении «Непериодический» счётчик не сбрасывается никогда. Выбор зависит от требований учёта: счета-фактуры и кассовые документы обычно нумеруются в пределах года.
Отдельно существуют объекты метаданных «Нумераторы». Они позволяют связать несколько видов документов единой сквозной нумерацией — например, когда приходный и расходный кассовые ордера должны иметь общую последовательность номеров. Если нумератор не назначен, каждый вид документов ведёт собственный счётчик.
Сравнение вариантов
Подходит для документов, где законодательно или по регламенту требуется начинать нумерацию с нового периода. Ограничение: при смене периода счётчик обнуляется, что иногда воспринимается пользователями как сбой.
Удобна для внутренних документов и справочников без требований к периоду. Ограничение: номера растут бесконечно, что затрудняет ориентирование по дате.
Нужен, когда разные документы должны иметь сквозную последовательность. Ограничение: удаление документа одного вида создаёт «дырку» в нумерации другого.
Почему нумерация сбивается
Самая частая причина — ручное редактирование номера. Если пользователь вручную вписал номер, отличающийся от очередного (например, добавил префикс или ввёл номер «с запасом»), платформа запоминает его как последний выданный. Следующий автоматический номер будет отсчитываться уже от введённого вручную значения, и последовательность «уедет».
Вторая типичная причина — обмен данными между базами. При синхронизации (например, между 1С:Управление торговлей и 1С:Бухгалтерией) документы приходят с номерами исходной базы, а префиксы и счётчики в базах различаются. Без корректной настройки префиксов возникают дубли номеров или конфликты уникальности.
Третья группа причин — удаление документов и восстановление базы из копии. Удалённый номер автоматически не переиспользуется: счётчик продолжает от максимального значения. При восстановлении из старой копии счётчик может оказаться «позади» реально существующих номеров, и система начнёт выдавать уже занятые значения.
Как восстановить нумерацию штатными средствами
В типовых конфигурациях есть стандартный механизм обновления нумерации. В конфигурациях на БСП (Библиотека стандартных подсистем) он доступен через раздел администрирования или через «Все функции»: обработка называется «Обновление нумерации объектов» либо находится в составе группового изменения реквизитов. Она пересчитывает последний выданный номер по фактическим данным и сбрасывает счётчик на корректное значение.
Для точечного исправления достаточно очистить поле номера у нового документа и записать его — платформа выдаст очередной номер от текущего максимума. Если счётчик «застрял» на неправильном значении, помогает приём: вручную ввести в новый документ правильный последний номер, записать, а следующий документ уже получит корректный номер автоматически. Такой способ безопасен для текущего периода, если не нарушает уже существующую последовательность.
Префиксы и нумерация в распределённых базах
Префикс — это символы перед числовой частью номера. Он формируется из префикса информационной базы, префикса организации и дополнительных правил, заданных в конфигурации. В одиночной базе префикс часто пустой или содержит код организации; в обменах он становится обязательным инструментом разделения серий.
При работе нескольких баз (главный узел и филиалы, синхронизация с сайтом, перенос в бухгалтерию) каждой базе назначается уникальный префикс. Тогда документы, созданные в разных узлах, никогда не пересекутся по номерам: каждая база нумерует внутри своей серии. Если префиксы не заданы, при обмене возможны дубли номеров и ошибки контроля уникальности.
Настройка префикса информационной базы в типовых конфигурациях выполняется в разделе синхронизации данных или в настройках организации. Менять префикс после начала работы нужно осторожно: старые документы сохранят прежние номера, а новые начнут формироваться с новым префиксом — в журнале появятся две независимые серии.
Автонумерация кодов справочников
Для справочников механизм аналогичен: при создании элемента платформа присваивает очередной код. Отличие в том, что код справочника нередко используется как технический идентификатор, и многие конфигурации разрешают его автоматическую генерацию без участия пользователя. Периодичность у справочников обычно не применяется — коды растут непрерывно.
Особый случай — нумерация в разрезе владельца. Например, договоры контрагентов могут нумероваться отдельно для каждого контрагента: у каждого клиента своя последовательность договоров №1, №2 и так далее. Это задаётся свойством нумерации «В пределах владельца» и поддерживается не для всех объектов — зависит от настроек конкретной конфигурации.
Если коды справочника сбились (например, после загрузки данных из внешнего файла с произвольными кодами), применяется та же логика: найти максимальный код и либо обновить нумерацию обработкой, либо вручную задать следующий корректный код при создании элемента.
Когда автонумерации недостаточно
Стандартный механизм выдаёт простой последовательный номер. Если требуется сложный формат — с датой, кодом подразделения, видом операции или сквозной нумерацией по нестандартным условиям — применяют программное переопределение. В конфигурации для этого используется событие «ПриУстановкеНовогоНомера» (для документов) или «ПриУстановкеНовогоКода» (для справочников), где разработчик формирует номер по своим правилам и устанавливает признак стандартной обработки в «Ложь».
Такая доработка требует аккуратности: код должен учитывать конкурентный доступ (два пользователя одновременно могут получить одинаковый номер), периодичность и префиксы. В типовых конфигурациях большинство сценариев уже реализовано через механизмы БСП, поэтому перед доработкой стоит проверить, не решается ли задача настройкой префиксов и нумераторов без изменения кода.
Перед массовой загрузкой документов из внешних систем проверяйте, какие номера придут в файле. Если загружаемые номера больше текущего счётчика базы, после загрузки автонумерация продолжится от загруженных значений — иногда это именно то, что нужно, а иногда неожиданный сюрприз.
Как проверить, что нумерация работает правильно
Контроль нумерации — простая операция, которую стоит выполнять после обменов, обновлений конфигурации и восстановления из копий. Откройте журнал нужного вида документов за текущий период, отсортируйте по номеру и посмотрите последние значения: они должны идти последовательно, без неожиданных скачков и дублей.
Затем создайте тестовый документ и проверьте присвоенный номер: он должен быть на единицу больше последнего корректного. Тестовый документ после проверки можно пометить на удаление. Для баз с обменами дополнительно сверьте, что префиксы в каждой базе уникальны и соответствуют настройкам синхронизации.
Как проверить результат
Равен последнему корректному номеру плюс один
Номер сильно больше ожидаемого или уже существует в журнале
Номера идут по возрастанию, разрывы объяснимы удалениями
Дубли номеров или хаотичные значения с чужими префиксами
У каждой базы свой уникальный префикс
Документы из разных баз имеют одинаковые префиксы и пересекающиеся номера
Нумерация началась с единицы при периодичности «год»
Нумерация продолжилась со старого значения либо сбросилась при непериодической настройке
Что важно запомнить
Автонумерация в 1С ведёт независимые счётчики по сериям (префикс, период, владелец) и выдаёт номер при записи объекта. Большинство сбоев вызваны ручным вводом номеров и обменами без префиксов, а исправляются штатной обработкой обновления нумерации и корректной настройкой префиксов. Перед любыми массовыми изменениями номеров делайте резервную копию.
Частые вопросы об автонумерации в 1С
Почему в новом году нумерация документов началась с единицы — это сбой?
Нет, это штатное поведение при периодичности нумерации «Год». Счётчик привязан к периоду, и с 1 января начинается новая серия. Если документы должны нумероваться непрерывно, периодичность меняется в конфигураторе на «Непериодический», но для учётных документов это обычно не требуется.
Можно ли исправить номер уже проведённого документа?
Технически да: номер редактируется в форме документа, если у пользователя есть права и не включён запрет изменения. Но для документов, по которым уже выданы бумажные версии контрагентам или сдана отчётность, менять номер не следует — возникнут расхождения при сверках. Безопасно править номера только у документов текущего периода, ещё не ушедших «наружу».
Откуда берутся пропуски (дырки) в номерах и чем это грозит?
Пропуски появляются при удалении записанных документов: выданный номер не возвращается в счётчик. Сами по себе разрывы не ломают работу программы, но для кассовых и иных документов строгой отчётности неоправданные пропуски могут вызвать вопросы при проверке. Вместо удаления рекомендуется пометка на удаление с сохранением номера в журнале.
Как сделать, чтобы в номере были буквы и цифры?
Установите строковый тип номера в свойствах объекта в конфигураторе. Платформа умеет автоматически увеличивать числовую часть строкового номера, сохраняя буквенный префикс. Для сложных форматов (дата, код подразделения) потребуется программное формирование номера в событии установки нового номера.
После обмена между базами появились документы с одинаковыми номерами. Что делать?
Проверьте префиксы информационных баз в настройках синхронизации: у каждого узла должен быть свой уникальный префикс. Затем задайте префиксы там, где они отсутствуют, и при необходимости обновите нумерацию. Уже созданные дубли придётся разрешить вручную — изменить номер одного из документов с учётом того, ушёл ли он контрагентам.
Нумерация остановилась и новые документы не получают номер. В чём причина?
Наиболее вероятно, что исчерпана длина номера: числовая часть достигла максимума, заданного в конфигураторе (например, пятизначный номер дошёл до 99999). Решение — увеличить длину номера в конфигураторе и обновить конфигурацию базы данных. Предварительно убедитесь, что длина префикса вместе с числовой частью укладывается в новый лимит.