Документы и Печать · 11 мин
В какой момент 1С присваивает номер документа
Когда 1С присваивает номер документа: при создании, записи или проведении. Автонумерация, префиксы, перенумерация и типичные проблемы с номерами.
Номер документа в 1С присваивается в момент записи объекта в базу данных, а не при нажатии кнопки «Создать». Пока документ не записан, он существует только в памяти программы и имеет пустой или временный номер. Это фундаментальное поведение платформы 1С:Предприятие, одинаковое для типовых конфигураций вроде «Управление торговлей», «Бухгалтерия предприятия» и «Зарплата и управление персоналом».
Тонкость в том, что «запись» бывает разной: обычная запись, проведение, запись при обмене данными. В каждом сценарии номер присваивается по своим правилам, и в некоторых случаях платформа сохраняет уже существующий номер, а не генерирует новый. Понимание этих механизмов помогает объяснить «скачки» в нумерации, дубли номеров и ситуации, когда два пользователя видят одинаковый номер у разных документов.
Ниже разобрано, как именно работает автонумерация, когда номер может измениться после присвоения, как влияют префиксы и обмены, и как безопасно исправить нарушенную нумерацию без ручного вмешательства в базу.
Как устроена автонумерация документов в 1С
За присвоение номеров отвечает механизм автонумерации платформы. У каждого вида документов в конфигураторе есть свойство «Автонумерация» — если оно включено, платформа сама подбирает следующий свободный номер при записи. Если свойство отключено, номер придётся вводить вручную, что для большинства учётных документов не практикуется.
Логика подбора простая: система ищет максимальный номер среди документов этого вида в текущем периоде нумерации и увеличивает его на единицу. Периодичность нумерации задаётся в свойствах вида документа и обычно равна году — это значит, что с началом нового года отсчёт начинается заново. Есть варианты «в пределах дня», «месяца», «квартала» и «непериодическая» нумерация.
Номер хранится как строка, а не как число. Поэтому «9» и «000000009» для платформы — разные строки, и сортировка номеров идёт по строковым правилам. Именно поэтому типовые конфигурации дополняют номер ведущими нулями до фиксированной длины, задаваемой свойством «Длина номера» в конфигураторе.
Точный момент присвоения номера
Когда пользователь нажимает «Создать», открывается форма нового документа. В этот момент объект существует только в оперативной памяти клиентского приложения, в базе его нет, и поле номера либо пустое, либо показывает предварительное значение, которое ещё ничего не гарантирует. Если закрыть форму без записи, никакого номера в базе не останется и «дырки» в нумерации не возникнет.
Фактическое присвоение происходит в момент записи: при нажатии «Записать», «Провести» или «ОК» с автоматической записью. Платформа в транзакции записи вычисляет следующий номер и фиксирует его в базе. С этого момента номер считается занятым, и другой документ того же вида и периода его уже не получит.
Почему два пользователя не получают один номер
Классическая проблема многопользовательской работы: двое одновременно создают документы, и оба видят в форме одинаковый предварительный номер. Конфликта не будет, потому что реальное присвоение происходит при записи. Кто записал первым — получил номер, второму при записи платформа выдаст следующий. В файловом режиме в старых версиях платформы возможны конфликты блокировок, но итог всё равно один: номера разойдутся.
Исключение — конфигурации, где разработчик в коде при открытии формы сам присваивает номер программно и сразу записывает объект. Такое встречается в самописных решениях и создаёт «дырки» в нумерации, если пользователь потом закрывает форму без сохранения. В типовых конфигурациях этот подход не применяется.
Роль префиксов в нумерации
Префикс — это символы перед числовой частью номера, например «00БП-000123». Префиксы нужны, чтобы номера не пересекались между разными информационными базами, организациями или узлами обмена. В распределённых системах (например, при обмене центральной базы с филиалами) без префиксов одинаковые номера были бы неизбежны.
Префикс задаётся в настройках: это может быть префикс информационной базы, префикс организации или оба сразу. В типовых конфигурациях настройка находится в разделе персональных настроек или в карточке организации. Автонумератор подбирает следующий номер отдельно внутри каждого префикса: «00А-000005» и «00Б-000005» могут существовать одновременно и это норма.
Когда номер может измениться после присвоения
Присвоенный номер не высечен в камне. Пользователь с достаточными правами может открыть документ и вручную отредактировать поле номера — платформа это позволяет, если в конфигурации не установлен программный запрет. Ручная правка номера — частая причина последующих сбоев автонумерации: если ввести номер в нестандартном формате, автонумератор может начать считать от него.
Вторая ситуация — обмен данными. Когда документ приходит из другой базы, он загружается со своим исходным номером, и платформа сохраняет его, а не генерирует новый. Иначе связь документов между базами была бы потеряна. Поэтому после настройки обмена в базе могут появиться номера, которые «ломают» последовательность локальной нумерации.
Третий случай — обработки групповой перенумерации, которые сознательно переприсваивают номера за выбранный период. Это штатный инструмент исправления нумерации, но запускать его нужно осознанно: напечатанные и переданные контрагентам документы после перенумерации перестанут совпадать с бумажными копиями.
Типичные проблемы с нумерацией и их причины
Самая частая жалоба — «нумерация сбилась, документы получают странные номера». Почти всегда причина в том, что кто-то вручную ввёл номер, который стал новым максимумом. Например, ввели «А-1» или «999999», и автонумератор продолжил от этой строки. Лечится исправлением «лишнего» номера и, при необходимости, перенумерацией.
Вторая проблема — дубли номеров. В штатной автонумерации дублей быть не должно, но они появляются после обменов, загрузок из внешних систем, восстановления баз из копий с последующей параллельной работой или при отключённой автонумерации. Дубли опасны тем, что путают поиск и печать, а для счетов-фактур могут вызвать вопросы при проверках.
Третья ситуация — «дырки» в номерах. Они возникают, когда документ записали (номер присвоен), а потом удалили, либо когда транзакция записи откатилась после присвоения. Для большинства внутренних документов пропуски не критичны, но для счетов-фактур налоговое законодательство требует сквозной нумерации, поэтому пропуски там желательно устранять перенумерацией до сдачи отчётности.
Как проверить и исправить нумерацию
Для диагностики откройте журнал документов нужного вида, отсортируйте по номеру и посмотрите последние записи: видно, от какого значения идёт отсчёт и нет ли номеров в чужом формате. Полезно также проверить настройки префиксов: в типовых конфигурациях это раздел «Администрирование» — «Префиксы номеров» или аналогичный, плюс префикс в карточке организации.
Для исправления в типовых конфигурациях есть штатные механизмы: стратегия автонумерации в настройках, обработки перенумерации (в некоторых конфигурациях доступны через «Все функции» или встроены в сервисные разделы). Перед любой массовой перенумерацией сделайте резервную копию базы и убедитесь, что период не закрыт отчётностью.
- 1Откройте журнал документов и отсортируйте по номеру — найдите документ с «лишним» номером, от которого пошёл сбой
- 2Проверьте префиксы: настройки базы, организации и наличие документов, загруженных обменом
- 3Исправьте или пометьте на удаление проблемный документ
- 4Запустите штатную перенумерацию за нужный период, предварительно сделав копию базы
- 5Проверьте результат: создайте тестовый документ и убедитесь, что он получил ожидаемый следующий номер
Как проверить результат
Получает следующий порядковый номер в привычном формате с ведущими нулями
Номер продолжается от чужеродного значения или в другом формате
Номера идут последовательно в рамках одного префикса
Перемешаны префиксы, есть дубли или большие пропуски без причины
Сквозная нумерация без пропусков и повторов
Дырки и дубли — нужно исправить до формирования книги продаж
Особенности в разных режимах работы
В файловом режиме работы автонумерация завязана на монопольный доступ к таблице в момент записи, поэтому при одновременной записи возможны кратковременные блокировки — второй пользователь просто подождёт. В клиент-серверном режиме (SQL) платформа использует механизмы СУБД, и конкуренция за номера решается транзакциями без заметных задержек.
При работе через веб-клиент или тонкий клиент логика не меняется: присвоение происходит на сервере в момент записи, а предварительный номер в форме — лишь подсказка. Это стоит учитывать при интеграциях: внешняя система не должна опираться на номер, пока документ не записан и не возвращён фактический номер из базы.
Для разработчиков важно: если номер нужен до записи (например, для формирования штрихкода), используются обработчики «ПриУстановкеНовогоНомера» или программный вызов установки номера, но тогда ответственность за уникальность и «дырки» ложится на код, а не на платформу.
Что важно запомнить
Номер присваивается при записи документа, а не при создании формы. Автонумератор берёт максимальный номер в пределах периода и префикса и добавляет единицу. Сбои почти всегда вызваны ручной правкой номеров или обменами, исправляются штатной перенумерацией после резервного копирования.
Частые вопросы
Почему при создании документа поле номера пустое?
Это нормальное поведение: документ ещё не записан в базу, поэтому реального номера у него нет. Номер появится после нажатия «Записать» или «Провести». Пустое поле в новой форме не означает ошибку нумерации.
Можно ли изменить уже присвоенный номер вручную?
Технически да, если у пользователя есть права на редактирование: поле номера доступно для ввода. Но делать это стоит только для исправления ошибок, потому что введённый вручную номер становится ориентиром для автонумератора и может сбить последующую нумерацию.
Почему после загрузки из другой базы появились чужие номера?
При обмене документы загружаются с исходными номерами, чтобы сохранить связь между базами. Платформа не генерирует новые номера для загруженных объектов. Чтобы номера разных баз не пересекались, используются разные префиксы узлов обмена.
Опасны ли пропуски в номерах документов?
Для большинства внутренних документов пропуски не критичны — это следствие удалённых или незаписанных объектов. Исключение — счета-фактуры и УПД: для них ожидается сквозная нумерация, поэтому пропуски лучше устранить перенумерацией до формирования книги продаж и сдачи отчётности.
Что делать, если два документа получили одинаковый номер?
Сначала проверьте префиксы — номера с разными префиксами не считаются дублями. Если префикс один, дубль обычно появился из-за обмена или ручного ввода. Один из документов нужно перенумеровать вручную на свободный номер, затем проверить, что автонумерация продолжается корректно.
Сбрасывается ли нумерация в новом году автоматически?
Да, если в конфигурации для вида документа установлена периодичность нумерации «в пределах года» — это стандартная настройка. С первым документом нового года отсчёт начнётся с единицы. Если периодичность установлена «непериодическая», нумерация продолжится нарастающим итогом.