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