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

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

Сбилась нумерация в 1С: как вернуть автоматическую нумерацию документов

Пошаговая инструкция: как восстановить автоматическую нумерацию документов в 1С, если номера сбились. Стратегии нумерации, ручная правка, обновление нумераторов.

Ситуация, когда в 1С сбивается нумерация документов или элементов справочников, встречается часто: вместо ожидаемого номера «000000125» программа присваивает «АБВ-12» или продолжает отсчёт с непонятного значения. Причины почти всегда одни и те же — ручное редактирование номера, ввод вручную документа с «линейным» номером без нулей, обмен данными между базами или перенос документов из другой программы.

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

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

Почему в 1С сбивается нумерация

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

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

Вторая причина — загрузка данных из внешних источников: обмен с сайтом, перенос из другой базы, загрузка выписок или заказов. Внешние документы приходят со своими номерами («ЗК-10452», «105-8»), и платформа начинает считать именно от них.

Третья группа причин — обмен между базами 1С (например, между «Управление торговлей» и «Бухгалтерией») с включёнными префиксами, а также восстановление базы из копии, когда в рабочей базе уже были созданы документы с «пересекающимися» номерами.

Новые номера без нулей впередиВ базе есть документ с номером, введённым вручную без ведущих нулей

Найти документ с максимальным «коротким» номером

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

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

Нумерация началась с единицыСменился период нумерации (новый год) или создан новый нумератор

Проверить настройку периодичности нумератора

Пропуски в номерахДокументы удалялись или создание прерывалось — это норма

Пропуски сами по себе не являются сбоем

Подготовка: что сделать до исправления

Перед любыми действиями с номерами сделайте резервную копию базы. Для файловой базы достаточно скопировать файл 1Cv8.1CD при закрытых сеансах пользователей; для клиент-серверной — выполнить выгрузку через конфигуратор (Администрирование → Выгрузить информационную базу) или штатную копию средствами СУБД.

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

Проверьте, есть ли на документы со «сбитыми» номерами ссылки: проведённые документы могут участвовать в движениях по регистрам, печатных формах, уже отправленных отчётах и ЭДО. Изменение номера у отправленного контрагенту документа создаст расхождение между вашей базой и базой контрагента — такие номера лучше не трогать.

Способ 1: ручное восстановление точки отсчёта

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

Сначала найдите проблемный документ. Отсортируйте журнал по номеру: строковое сравнение выведет «максимальные» значения в конец. Часто это номер вида «999» или «9», введённый вручную, либо номер с префиксом из обмена. Если документ ещё не использовался (не проведён, не печатался, не участвует в ЭДО) — исправьте его номер на корректный в принятом формате или пометьте на удаление.

Затем создайте новый документ и вручную впишите ему нужный номер в правильном формате — с ведущими нулями и префиксом, например «000000126». Сохраните документ. Следующий созданный документ уже получит «000000127» автоматически — платформа продолжит отсчёт от максимального значения.

Порядок действий
  1. 1
    Сделайте резервную копию базы
  2. 2
    Откройте журнал документов и отсортируйте по колонке «Номер»
  3. 3
    Найдите документ с ошибочным максимальным номером
  4. 4
    Исправьте его номер или пометьте на удаление (если нет ссылок и отчётности)
  5. 5
    Создайте новый документ и вручную задайте правильный номер с ведущими нулями
  6. 6
    Запишите документ и создайте следующий — проверьте, что номер присвоился автоматически

Способ 2: обработка обновления нумерации

Если сбой массовый — например, после переноса данных «кривыми» номерами заполнен целый период — ручная правка каждого документа нерациональна. В типовых конфигурациях и на диске ИТС есть стандартная обработка «Обновление нумерации объектов» (или аналогичные обработки группового перенумерования), которая проходит по выбранному виду документов за период и переприсваивает номера последовательно.

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

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

Сравнение вариантов

Ручная правка точки отсчёта

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

Обработка групповой перенумерации

Подходит при массовом сбое после переноса данных. Меняет номера у всех документов периода — рискованно для напечатанных документов

Программное обновление нумераторов

Для серверных баз и сложных случаев с нумераторами. Требует навыков конфигурирования и монопольного доступа

Способ 3: программное обновление нумераторов

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

Выполнить обновление можно через внешнюю обработку или консоль кода, запущенную с правами администратора. Пример вызова для конкретного вида документов:

ОбновитьНумерациюОбъектов(Метаданные.Документы.РеализацияТоваровУслуг);

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

Особые случаи: префиксы, обмены и новый год

При обмене между базами (РИБ, обмен УТ–БП) номерам часто добавляется префикс узла. Если после обмена нумерация «ушла» в чужой префикс, проверьте настройки префиксации в самой конфигурации и не создавайте документы в «чужой» базе. Исправление — то же: найти максимальный номер с чужим префиксом и устранить его как точку отсчёта.

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

Отдельный случай — договоры, контрагенты и другие справочники с автонумерацией кодов. Принцип тот же: код вычисляется от максимального. Найдите элемент с «линейным» кодом без нулей (например, «000009999» против «9999»), исправьте его, и автонумерация восстановится.

Маршрут решения

Как выбрать действие

Сбой после ручного ввода номера одним пользователемИсправьте этот документ и вручную задайте правильный номер следующему
Сбой после загрузки из обмена или переносаУдалите или исправьте загруженные номера, затем выполните ОбновитьНумерациюОбъектов
Номера сбиты у множества свежих документов периодаИспользуйте обработку групповой перенумерации на копии, затем в рабочей базе
Документы уже отправлены по ЭДО или в отчётностьНе меняйте их номера — исправьте только точку отсчёта для новых документов

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

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

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

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

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

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

Номер присваивается автоматически в формате с ведущими нулями

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

Номер продолжается от старого ошибочного значения

Сортировка журнала по колонке «Номер»
Норма

В конце списка только номера единого формата

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

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

Нумерация после перезапуска базы
Норма

Отсчёт продолжается корректно

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

После перезапуска номер снова сбивается — нумератор не обновлён

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

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

Вторая ошибка — исправление номера без учёта формата. Если вписать «126» вместо «000000126», проблема вернётся: строковое сравнение снова сделает короткий номер «максимальным».

Третья ошибка — работа без копии. Любая групповая операция с номерами необратима, а восстановить прежние значения без резервной копии невозможно.

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

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

Почему 1С присваивает номер «127» вместо «000000127»?

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

Можно ли перенумеровать документы за закрытый период?

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

Нумерация сбросилась с 1 января — это сбой?

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

Что делать, если сбой повторяется после каждого обмена?

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

Опасно ли удалять документ с ошибочным номером?

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

Итог

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

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