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

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

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

Почему в 1С 8.3 сбивается автоматическая нумерация документов и справочников и как её восстановить: ручная правка, обработки, типовые механизмы и профилактика.

Автоматическая нумерация в 1С 8.3 сбивается чаще всего по трём причинам: кто-то вручную изменил номер документа, в базу загрузили данные из другой системы с чужими номерами, или нумератор переполнился из-за смены периодичности. Симптомы типичны: новая накладная получает номер «0001» вместо ожидаемого «0457», появляются дубли номеров, проведённые документы оказываются «вне очереди» в журнале.

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

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

Как устроена автоматическая нумерация в 1С и почему она ломается

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

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

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

Новый документ получает маленький номерСбой в сторону уменьшения

Ищите удалённый или перенесённый документ с максимальным номером

Номер резко вырос или не влезает в полеКто-то ввёл большой номер вручную

Найдите документ с аномальным номером через отбор в журнале

Два документа с одинаковым номеромДубль после обмена или ручного ввода

Проверьте, пришёл ли один из документов из другой базы

Нумерация началась с 1Сменился период нумерации или префикс

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

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

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

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

Уточните у пользователей, не вводил ли кто-то номер вручную и не выполнялась ли загрузка данных. Это сэкономит время: если причина — разовая ручная правка, достаточно исправить один документ, и массовая перенумерация не понадобится.

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

Это самый безопасный метод, когда сбой точечный. Откройте последний корректно пронумерованный документ и запомните его номер. Затем найдите документ с ошибочным номером: если он ещё не ушёл контрагенту и не участвует в отчётности — исправьте номер на нужный и перепроведите документ.

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

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

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

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

Когда ошибочных номеров много — например, после загрузки из другой системы — ручная правка нецелесообразна. Используйте обработку перенумерации. В типовых конфигурациях на базе БСП есть встроенный механизм: раздел «Администрирование» → «Обслуживание» → «Корректировка данных» → «Групповое изменение реквизитов», либо специализированные обработки перенумерации, которые несложно найти в открытых источниках или написать под конкретный вид документов.

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

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

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

Способ 3: восстановление через код (для разработчика)

Если под рукой есть конфигуратор и базовые навыки встроенного языка, перенумерацию можно выполнить программно через «Внешние обработки» или консоль кода. Логика проста: запросом выбрать документы за период, упорядочить по дате, в цикле присвоить номера методом УстановитьНовыйНомер() или прямым присваиванием с последующей записью.

Метод УстановитьНовыйНомер() предпочтительнее: он учитывает префиксы и периодичность нумератора. Прямое присваивание свойства Номер используйте только когда нужно задать конкретное значение, минуя автоматику.

bsl
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Документ.РеализацияТоваровУслуг ГДЕ Дата МЕЖДУ &Начало И &Конец УПОРЯДОЧИТЬ ПО Дата");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    Док = Выборка.Ссылка.ПолучитьОбъект();
    Док.УстановитьНовыйНомер();
    Док.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла;

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

Нумерация после обменов и в распределённых базах

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

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

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

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

Ошибочный номер у одного-двух документовИсправьте вручную, массовая перенумерация не нужна
Десятки документов с чужими номерами после загрузкиИспользуйте обработку перенумерации за период с сортировкой по дате
Дубли номеров между главной и периферийной базамиПроверьте и разведите префиксы узлов обмена, затем перенумеруйте конфликтные документы
Документы с ошибочными номерами уже отправлены контрагентамНе меняйте эти номера; исправляйте только нумерацию новых документов

Как проверить результат и не допустить повторения

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

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

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

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

Номер нового документа
Норма

Продолжает последовательность последнего корректного номера

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

Снова присваивается малый номер или номер с большим скачком

Журнал документов
Норма

Нет дублей при сортировке по номеру

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

Два и более документа с одинаковым номером и префиксом

Печатная форма
Норма

Номер на форме совпадает с номером в базе

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

На форме старый или иной номер

Обмен данными
Норма

Новые документы уходят с корректными префиксами

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

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

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

Часто задаваемые вопросы

Почему после удаления документа следующий получает его номер заново?

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

Можно ли сделать сквозную нумерацию, не сбрасывающуюся с нового года?

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

Как исправить номер, если поле «Номер» недоступно для редактирования?

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

Что делать, если после перенумерации счета-фактуры не совпадают с реализациями?

Номера счетов-фактур в типовых конфигурациях часто формируются на основании номера документа-основания. После перенумерации реализаций откройте связанные счета-фактуры и обновите их номера — вручную или перепроведением. Затем сверьте печатные формы обоих документов.

Безопасно ли перенумеровывать документы в работающей базе днём?

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

Нужно ли сообщать контрагентам об изменении номеров документов?

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

Итог

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

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