Автонумерация в 1С сбилась: как вернуть правильные номера документов
Содержание
Номер документа в 1С складывается из двух частей: префикса (буквы и цифры слева) и числового счётчика, который платформа увеличивает на единицу при записи каждого нового документа. За длину счётчика и за то, с какой периодичностью он обнуляется, отвечает объект «нумератор», заданный в конфигурации. За префикс отвечает настройка префикса информационной базы, доступная уже в режиме «1С:Предприятие».
Если автоматическая нумерация «слетела» — номера перестали расти, начались с единицы посреди года или программа выдаёт Номер не уникален — почти всегда дело в одной из трёх вещей: сменился префикс, наступил новый период нумерации или кто-то вписал номер вручную. Ниже разберём, как найти причину и вернуть нормальную нумерацию без правки конфигурации там, где это возможно.
Из чего состоит номер и кто им управляет
Чтобы чинить нумерацию осмысленно, держите в голове три независимые настройки.
- 🔢 Нумератор — задаёт длину числовой части (например, 9 знаков) и периодичность обнуления: непериодический, по году, кварталу, месяцу или дню. Нумератор хранится в конфигурации, обычным пользователям он недоступен.
- 🏷️ Префикс информационной базы — один-два символа слева от номера. Нужен, чтобы в обменах и распределённых базах номера из разных мест не сталкивались. Меняется в режиме «1С:Предприятие».
- ✍️ Признак «номер задан вручную» — как только пользователь впишет номер руками, платформа перестаёт подставлять в этот документ автоматический номер.
Автонумерация работает так: при записи нового документа платформа ищет максимальный номер за текущий период для этого префикса и прибавляет единицу. Поэтому «восстановить автонумерацию» чаще всего означает не починку механизма, а возврат к условиям, в которых он снова считает правильно.
Для наглядности разберём типичный номер ЦБ-000000123. Здесь ЦБ — префикс (два символа), а 000000123 — числовой счётчик, дополненный слева нулями до длины нумератора. Если префикс вдруг стал АБ, а не ЦБ, значит сменилась настройка префикса, а не сам нумератор. Если вместо 000000123 вы видите 000000001 в середине года — сработало обнуление по периоду. Умение «читать» номер экономит половину диагностики.
Номер по умолчанию присваивается не в момент создания документа, а в момент первой записи. Пока документ новый и не записан, в поле номера вы видите <авто> или пустое значение — это нормально.
Почему автоматическая нумерация сбивается
Разберём типичные причины, по которым номера документов в 1С перестают присваиваться правильно.
- Наступил новый период. Если нумератор настроен «по году», 1 января счётчик обнуляется и нумерация честно начинается с единицы. Это не сбой, а заданное поведение.
- Сменился префикс информационной базы. После переноса базы, настройки обмена или смены префикса новые документы получают другой левый символ — визуально кажется, что нумерация «перескочила».
- Номер вписан вручную. Достаточно одному документу задать номер руками, и дальше возможны конфликты: следующий автоматический номер может совпасть с ручным.
- Восстановление из копии или загрузка данных. После отката на резервную копию часть документов могла быть создана заново, и теперь номера пересекаются с тем, что было в копии.
- Исчерпана длина счётчика. Если числовая часть короткая (например, 5 знаков), по достижении 99999 расти дальше некуда — новые документы остаются без свежего номера.
- Коллизия в распределённой базе (РИБ). Узлы без собственного префикса присваивают одинаковые номера, и при обмене возникают дубли.
Обратите эти причины в проверочный список — он сократит поиск.
Как понять, что именно сломалось
Прежде чем менять настройки, соберите факты — это 5 минут и спасает от лишних правок.
- Откройте список проблемных документов (например, журнал реализаций или счетов) и отсортируйте его по номеру: щёлкните заголовок колонки «Номер». Сразу видно разрывы, дубли и смену префикса.
- Посмотрите на формат номера у «правильных» документов: сколько символов в префиксе, сколько в числовой части, обнуляется ли счётчик с началом года.
- Откройте один новый документ, не записывая его, и посмотрите, что стоит в поле номера.
<авто>означает, что платформа готова присвоить номер сама. - Проверьте текущий префикс информационной базы (где он лежит — ниже).
Любые массовые изменения номеров делайте только на свежей резервной копии базы. Номер — часть идентификации документа; его изменение может затронуть печатные формы, нумерацию в учёте и уже выгруженные в обмены данные.
Если нужна точная картина и под рукой есть специалист, максимальный занятый номер за период удобно вытащить запросом в консоли запросов: выбрать документы нужного вида, отобрать по дате периода и префиксу, взять максимум по полю номера. Это быстрее, чем листать журнал, и сразу показывает, упёрся ли счётчик в предел длины. Рядовому пользователю консоль не нужна — хватит сортировки списка по колонке «Номер».
Если видите разрывы (пропущены номера) — это почти всегда нормально. Платформа не гарантирует сплошной нумерации: при удалении документа его номер не возвращается в оборот, а при отмене записи счётчик уже сдвинулся. Разрывы сами по себе чинить не нужно.
Восстановление нумерации через интерфейс
Большинство ситуаций решается без конфигуратора. Начните с префикса и с проверки конкретного документа.
Проверить и задать префикс информационной базы
Префикс — первое, что стоит проверить после переноса базы или настройки обмена.
- Перейдите в раздел
Администрирование. - Откройте настройки синхронизации данных. Если синхронизация в базе не включена, поле префикса может быть скрыто — тогда префикс задаётся при первой настройке обмена или в служебных настройках программы.
- Убедитесь, что префикс соответствует тому, что был раньше. Если после переноса он обнулился, верните прежнее значение — новые документы снова пойдут с привычным символом.
Не меняйте префикс «задним числом» на базе, которая уже участвует в обмене: у ранее выгруженных документов префикс не пересчитывается, и в паре баз появятся документы с несогласованными номерами.
Вернуть документу автоматический номер
Если конкретный документ получил неправильный номер или номер вписан вручную:
- Откройте документ.
- Очистите поле номера (удалите содержимое).
- Запишите документ. Платформа подставит следующий свободный номер за текущий период и префикс.
Поле номера во многих типовых конфигурациях заблокировано от случайной правки. В «1С:Бухгалтерии 3.0» и близких конфигурациях его разблокирует команда Ещё → Разрешить редактирование реквизитов в форме документа. После правки режим лучше снова выключить, чтобы никто не менял номера случайно.
Ручная корректировка номеров и устранение дублей
Когда автоподбор не помогает — например, два документа претендуют на один номер, — номер задают руками.
- Определите по отсортированному списку, какой номер свободен в нужном периоде.
- Разблокируйте поле номера (
Ещё → Разрешить редактирование реквизитов). - Впишите свободный номер и запишите документ.
Ошибка Номер не уникален при записи означает ровно одно: за этот период и префикс такой номер уже занят. Решение — задать другой, свободный номер, а не отключать проверку уникальности.
Отдельно про массовую перенумерацию. В типовых конфигурациях нет безопасной штатной обработки, которая «перенумерует всё подряд» одной кнопкой. Групповое изменение реквизитов номер документа не трогает намеренно. Если нужно перенумеровать большой массив (скажем, после слияния баз), это задача для специалиста: пишется обработка, которая обходит документы по порядку даты и присваивает номера, с обязательной проверкой уникальности и предварительной копией базы. Самому «на живой базе» перебивать сотни номеров вручную рискованно — легко получить новые дубли.
Особенности нумерации в распределённых базах и обменах
В распределённой информационной базе (РИБ) и в обменах между независимыми базами ключевую роль играет префикс узла. Без него узлы присваивают одинаковые числовые номера, и при обмене возникают дубликаты.
- Каждому узлу назначьте свой уникальный префикс (например,
Ц— центральная база,Ф— филиал). Префикс задаётся в карточке узла синхронизации в разделеАдминистрирование. - Номер документа в обмене складывается из префикса информационной базы и, при необходимости, префикса узла — так документы из разных мест не пересекаются даже с одинаковыми счётчиками.
- Если дубли уже появились, исправляют не «переливанием» данных, а назначением префиксов и корректировкой номеров у конфликтующих документов в той базе, где их проще поправить.
В РИБ документы, созданные в разных узлах, обычно и должны иметь разные префиксы — это не ошибка, а механизм защиты от коллизий. Выравнивать их «под один вид» не нужно.
Если обмен настроен через типовой механизм синхронизации, менять длину нумератора и логику префиксации в одной базе отдельно от другой нельзя — настройки должны совпадать в обеих базах, иначе номера рассинхронизируются.
Как настроить правила нумерации и предотвратить сбои
Часть настроек живёт в конфигурации и обычному пользователю недоступна. Но управлять ими можно корректно.
Что меняется только в конфигурации (через конфигуратор или расширение):
- длина числовой части номера;
- периодичность обнуления счётчика (год / квартал / месяц / непериодический);
- привязка документа к общему или собственному нумератору.
Если типовую конфигурацию нельзя снимать с поддержки, эти параметры меняют расширением конфигурации — так типовая остаётся на поддержке и обновляется штатно. Это и есть правильный путь, когда, например, нужна сквозная нумерация без обнуления по году или более длинный счётчик.
Что настраивается в режиме «1С:Предприятие»:
- префикс информационной базы;
- префиксы узлов синхронизации в РИБ.
Чтобы нумерация не сбивалась в будущем, держите под контролем несколько моментов.
Отдельно проверьте длину счётчика под ваш объём: если за год создаётся больше документов, чем вмещает числовая часть, нумерация упрётся в предел. Запас по длине закладывают заранее, пока база не разрослась.