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