Администрирование · 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Сделайте резервную копию базы
- 2Откройте журнал документов и отсортируйте по колонке «Номер»
- 3Найдите документ с ошибочным максимальным номером
- 4Исправьте его номер или пометьте на удаление (если нет ссылок и отчётности)
- 5Создайте новый документ и вручную задайте правильный номер с ведущими нулями
- 6Запишите документ и создайте следующий — проверьте, что номер присвоился автоматически
Способ 2: обработка обновления нумерации
Если сбой массовый — например, после переноса данных «кривыми» номерами заполнен целый период — ручная правка каждого документа нерациональна. В типовых конфигурациях и на диске ИТС есть стандартная обработка «Обновление нумерации объектов» (или аналогичные обработки группового перенумерования), которая проходит по выбранному виду документов за период и переприсваивает номера последовательно.
Общий принцип работы таких обработок: указывается вид документа, период, начальный номер и стратегия — перенумеровать все объекты подряд или только «освободить» занятые номера. Обработка временно сдвигает существующие номера (например, добавляя префикс), а затем присваивает новые по порядку сортировки по дате.
Использовать групповую перенумерацию следует с осторожностью: она меняет номера у всех документов периода, включая те, что уже напечатаны и переданы контрагентам. Применяйте её только к свежим документам текущего периода, до сдачи отчётности, и обязательно на копии базы сначала.
Сравнение вариантов
Подходит, когда сбой вызван одним-двумя документами. Быстро и безопасно, не трогает остальные номера
Подходит при массовом сбое после переноса данных. Меняет номера у всех документов периода — рискованно для напечатанных документов
Для серверных баз и сложных случаев с нумераторами. Требует навыков конфигурирования и монопольного доступа
Способ 3: программное обновление нумераторов
В платформе существует встроенный механизм нумераторов — служебных объектов, хранящих последнее выданное значение. В сложных случаях (особенно в клиент-серверных базах, где максимальный номер мог «застрять» в нумераторе) помогает метод ОбновитьНумерациюОбъектов(), который пересчитывает нумераторы по фактическим данным.
Выполнить обновление можно через внешнюю обработку или консоль кода, запущенную с правами администратора. Пример вызова для конкретного вида документов:
ОбновитьНумерациюОбъектов(Метаданные.Документы.РеализацияТоваровУслуг);
Если вызвать метод без параметра, нумерация обновится по всем объектам конфигурации — в большой базе это может занять заметное время, поэтому выполняйте операцию в нерабочие часы. После обновления проверьте присвоение номера на новом документе.
Особые случаи: префиксы, обмены и новый год
При обмене между базами (РИБ, обмен УТ–БП) номерам часто добавляется префикс узла. Если после обмена нумерация «ушла» в чужой префикс, проверьте настройки префиксации в самой конфигурации и не создавайте документы в «чужой» базе. Исправление — то же: найти максимальный номер с чужим префиксом и устранить его как точку отсчёта.
Ситуация, когда с 1 января нумерация начинается заново, — не сбой, а нормальное поведение при периодическом нумераторе. Если же нумерация сбросилась в середине года, проверьте настройку периодичности нумератора в конфигураторе и дату документа: документ, созданный «задним числом» прошлого года, может сдвинуть отсчёт.
Отдельный случай — договоры, контрагенты и другие справочники с автонумерацией кодов. Принцип тот же: код вычисляется от максимального. Найдите элемент с «линейным» кодом без нулей (например, «000009999» против «9999»), исправьте его, и автонумерация восстановится.
Как выбрать действие
Проверка результата и профилактика
После исправления создайте два-три тестовых документа подряд и убедитесь, что номера присваиваются автоматически, в правильном формате и по возрастанию. Затем отсортируйте журнал по номеру ещё раз: «чужеродных» значений в конце списка быть не должно.
Чтобы сбой не повторился, ограничьте ручное редактирование номеров. В типовых конфигурациях это делается через настройку прав доступа и стратегию автонумерации: в конфигураторе у документа есть свойство «Стратегия автонумерации» — значение «Автонумерация» запрещает ручное изменение номера. Также полезно провести инструктаж пользователей: номер не нужно вписывать руками, программа присвоит его сама при записи.
Как проверить результат
Номер присваивается автоматически в формате с ведущими нулями
Номер продолжается от старого ошибочного значения
В конце списка только номера единого формата
Присутствуют номера с чужими префиксами или без нулей
Отсчёт продолжается корректно
После перезапуска номер снова сбивается — нумератор не обновлён
Типичные ошибки при восстановлении нумерации
Главная ошибка — перенумерация документов, которые уже ушли контрагентам или в отчётность. Расхождение номеров счетов-фактур и УПД между вашей базой и данными покупателя создаёт проблемы при сверках и налоговых проверках.
Вторая ошибка — исправление номера без учёта формата. Если вписать «126» вместо «000000126», проблема вернётся: строковое сравнение снова сделает короткий номер «максимальным».
Третья ошибка — работа без копии. Любая групповая операция с номерами необратима, а восстановить прежние значения без резервной копии невозможно.
Частые вопросы
Почему 1С присваивает номер «127» вместо «000000127»?
Потому что в базе есть документ с номером, введённым вручную без ведущих нулей — например «126». При сравнении строк он считается максимальным, и отсчёт идёт от него. Найдите этот документ через сортировку журнала по номеру, исправьте его, затем вручную задайте следующему документу номер в правильном формате.
Можно ли перенумеровать документы за закрытый период?
Технически возможно, но делать этого не стоит: номера уже попали в отчётность, печатные формы и базы контрагентов. Безопасный вариант — оставить старые номера как есть и восстановить правильную нумерацию только для новых документов.
Нумерация сбросилась с 1 января — это сбой?
Нет, если у нумератора установлена периодичность «в пределах года» — это штатное поведение. Если же отсчёт должен быть сквозным, проверьте настройку периодичности нумератора в конфигураторе и убедитесь, что документ не создан с датой прошлого года.
Что делать, если сбой повторяется после каждого обмена?
Проверьте настройки префиксации узлов обмена: у каждой базы должен быть свой уникальный префикс. Если префиксы совпадают или не заданы, документы из разных баз получают пересекающиеся номера и постоянно сдвигают точку отсчёта.
Опасно ли удалять документ с ошибочным номером?
Опасно, если на него есть ссылки или он участвует в движениях по регистрам. Используйте пометку на удаление, затем штатную обработку «Удаление помеченных объектов» — она покажет все ссылки и не даст удалить используемый документ. Если ссылки есть, лучше исправить номер, а не удалять документ.
Что важно запомнить
1С считает новый номер от максимального существующего. Найдите и устраните ошибочный «максимум», задайте правильный номер вручную в корректном формате — автонумерация восстановится. Не трогайте номера документов из отчётности и ЭДО, работайте на копии, а при массовом сбое используйте ОбновитьНумерациюОбъектов или обработку перенумерации.