Номера документов в 1С 8.3 идут не по порядку: находим причину и выравниваем

· 10 мин

Содержание

Если нумерация в 1С 8.3 сбилась, сначала найдите документ с самым большим номером в текущем году: платформа берёт следующий номер как «максимальный + 1» внутри одного префикса и периода. Один вручную введённый номер 1000 — и следующая реализация получит 1001. Исправляют такой сбой правкой номера в документе-виновнике, а длинный ряд — внешней обработкой, которая перенумерует документы автоматически по дате.

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

Почему сбивается автонумерация документов в 1С 8.3

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

  • ✍️ Номер ввели вручную. Пользователь исправил номер на 500, хотя шёл 120-й. Все следующие документы продолжат ряд от 501.
  • 🏷️ Сменился префикс. Номер в БП 3.0 состоит из префикса и порядкового номера после дефиса. Префикс собирается из префикса организации (в карточке организации) и префикса информационной базы. Поменяли любой из них — новый префикс начинает счёт с 1, старый ряд «замирает».
  • 🔄 Документы пришли обменом. Документы из УТ, распределённой базы или другого узла приходят со своим префиксом. В общем списке номера выглядят вперемешку, хотя внутри каждого префикса ряд ровный.
  • 📅 Перенесли дату документа. Нумерация в БП ведётся в пределах года. Документ, перенесённый из декабря в январь, сохраняет старый номер — и в новом году появляется «чужой» номер или дубль.
  • 🗑️ Документы удалили. Освободившийся номер платформа не заполняет: следующий документ получит «максимальный + 1». Помеченные на удаление документы свой номер продолжают занимать до окончательного удаления.

Если дубль или разрыв появился после аварии, отключения света или прерванного обновления, причина может быть уже в самой базе, а не в действиях пользователей. Для такого случая есть режим тестирования и исправления в Конфигураторе.

Диагностика: выберите симптом

Как проверить текущую нумерацию документов

Начните с журнала нужного вида документов, например Продажи → Реализация (акты, накладные, УПД) или Продажи → Счета-фактуры выданные.

  1. Установите отбор по организации — у каждой организации свой ряд.
  2. Щёлкните по заголовку колонки «Номер», чтобы отсортировать список. Повторный щелчок меняет направление.
  3. Посмотрите на первые строки при сортировке по убыванию: самый большой номер года сразу виден.
  4. Отсортируйте по дате и пролистайте конец года и начало следующего. Номер, выбивающийся из ряда, заметен глазом.

Когда документов тысячи, глазами разрывы не найти. Тогда помогает запрос через консоль запросов (её можно открыть как внешнюю обработку в режиме «1С:Предприятие»). Этот запрос находит дубли номеров в счетах-фактурах выданных за год:

ВЫБРАТЬ
    Д.Организация КАК Организация,
    Д.Номер КАК Номер,
    КОЛИЧЕСТВО(Д.Ссылка) КАК Документов
ИЗ
    Документ.СчетФактураВыданный КАК Д
ГДЕ
    Д.Дата МЕЖДУ &НачалоГода И &КонецГода
СГРУППИРОВАТЬ ПО
    Д.Организация,
    Д.Номер
ИМЕЮЩИЕ
    КОЛИЧЕСТВО(Д.Ссылка) > 1

Для поиска разрывов выгрузите список номеров с датами в таблицу и сравните соседние строки. Если разница между соседними номерами больше единицы, там дыра.

Номер на печатной форме может отличаться от номера в списке. При печати БП обычно убирает префикс и ведущие нули: в базе 00БП-000045, на бланке 45. Сверяйте по номеру в базе.

Что можно сделать через Конфигуратор

В Конфигураторе задаются правила нумерации, но перенумеровать документы он не умеет. Откройте дерево конфигурации, найдите документ, откройте его свойства и перейдите на вкладку «Нумерация». Там видно:

СвойствоЧто задаёт
АвтонумерацияПрисваивает ли платформа номер сама при записи
ПериодичностьВ каких пределах номер уникален: без периода, год, квартал, месяц, день
Длина номераСколько символов в номере вместе с префиксом
Контроль уникальностиЗапрещает ли платформа записать второй документ с тем же номером в периоде
НумераторОбщий ряд номеров для нескольких видов документов

Эти сведения нужны для диагностики. Например, если у документа сквозная периодичность, а вы ждёте сброса номеров с 1 января, сброса не будет.

Не меняйте свойства нумерации в типовой конфигурации, стоящей на поддержке. Это снимает объект с поддержки и усложняет каждое следующее обновление. Если правило нумерации действительно нужно другое, это задача программиста: через расширение или осознанную доработку.

Режим Администрирование → Тестирование и исправление в Конфигураторе номера тоже не переставляет. Он нужен, если после сбоя база ведёт себя странно: документ не открывается, записывается с ошибкой, в журнале «висят» битые ссылки. Для этого режима нужен монопольный доступ, то есть все пользователи должны выйти из базы. Сделайте резервную копию перед запуском.

Как исправить номер документа вручную

Ручная правка подходит, когда виноват один-два документа: введённый вручную большой номер, документ, перенесённый в другой год, дубль после обмена.

  1. Откройте документ-виновник.
  2. В поле «Номер» введите нужное значение с тем же префиксом, что у соседних документов. Формат сохраняйте: префикс, дефис, номер с ведущими нулями.
  3. Если номер уже занят, при контроле уникальности платформа не даст записать документ. Сначала освободите номер у второго документа.
  4. Нажмите «Записать» или «Провести и закрыть». Проводки при смене номера не меняются по сумме, просто перезаписываются.
  5. Создайте пробный новый документ того же вида и проверьте, какой номер ему присвоен. Пробный документ потом удалите или используйте по назначению.

После этого платформа продолжит ряд от нового максимума. Например, если вы исправили 500 на 121, а других номеров выше 125 нет, следующий документ получит 126.

Если документ лежит в закрытом периоде, записать его не получится, пока не сдвинута дата запрета изменения. Её меняет ответственный бухгалтер или администратор в разделе Администрирование, настройка «Даты запрета изменения». После правки верните дату запрета на место.

Нумерация счетов-фактур в 1С 8.3: как исправить разрыв

Счёт-фактура выданный в БП 3.0 — отдельный документ со своим рядом номеров. Поэтому реализация может идти по порядку, а счета-фактуры — с пропусками. Типичные причины:

  • 📄 счёт-фактуру удалили и создали заново по той же реализации;
  • 📄 счета-фактуры на аванс формировались обработкой и встали в общий ряд с отгрузочными;
  • 📄 номер счёта-фактуры вручную приравняли к номеру реализации.

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

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

Как восстановить нумерацию документов в 1С 8.3 автоматически

Если сбой затронул десятки и сотни документов, ручная правка займёт день. Автоматически восстановить нумерацию документов в 1С 8.3 можно внешней обработкой, которая перебирает документы по дате и присваивает номера подряд. Отдельной типовой кнопки «перенумеровать всё» в БП 3.0 нет, поэтому обработку пишет программист или берут готовую у своего обслуживающего специалиста.

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

Процедура для внешней обработки выполняется на сервере. Она перенумеровывает реализации одной организации за период и сохраняет префикс, который был у первого документа.

&НаСервере
Процедура ПеренумероватьНаСервере(Организация, НачалоПериода, КонецПериода)

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

    Если Таблица.Количество() = 0 Тогда
        Возврат;
    КонецЕсли;

    ПервыйНомер = Таблица[0].Номер;
    Префикс = Лев(ПервыйНомер, СтрНайти(ПервыйНомер, "-"));

    НачатьТранзакцию();
    Попытка
        // Проход 1: временные номера, чтобы освободить весь ряд
        Сч = 0;
        Для Каждого Строка Из Таблица Цикл
            Сч = Сч + 1;
            Объект = Строка.Ссылка.ПолучитьОбъект();
            Объект.Номер = "ВР-" + Формат(Сч, "ЧЦ=6; ЧВН=; ЧГ=0");
            Объект.ОбменДанными.Загрузка = Истина;
            Объект.Записать();
        КонецЦикла;

        // Проход 2: окончательные номера по порядку дат
        Сч = 0;
        Для Каждого Строка Из Таблица Цикл
            Сч = Сч + 1;
            Объект = Строка.Ссылка.ПолучитьОбъект();
            Объект.Номер = Префикс + Формат(Сч, "ЧЦ=6; ЧВН=; ЧГ=0");
            Объект.ОбменДанными.Загрузка = Истина;
            Объект.Записать();
        КонецЦикла;

        ЗафиксироватьТранзакцию();
    Исключение
        ОтменитьТранзакцию();
        ВызватьИсключение;
    КонецПопытки;

КонецПроцедуры

Что важно в этом коде:

  • ОбменДанными.Загрузка = Истина записывает документ без обработчиков и без перепроведения. Движения и проводки остаются как были, меняется только номер.
  • Транзакция защищает от полупеределанного ряда: если на любом документе возникла ошибка, откатываются оба прохода.
  • Формат(Сч, "ЧЦ=6; ЧВН=; ЧГ=0") даёт номер из шести цифр с ведущими нулями и без пробелов-разделителей: 000045.
  • Длину номера сверьте со свойствами документа в Конфигураторе. Если префикс длиннее, сократите число цифр.
  • Префикс берётся вместе с дефисом из первого номера ряда. Если в периоде документы с разными префиксами, запускайте обработку отдельно на каждый префикс — добавьте его в условие запроса.

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

Не перенумеровывайте документы, которые уже переданы контрагентам, через ЭДО или в отчётности. Автоматическая перенумерация хороша для текущего месяца или внутренних документов. Для отправленных документов номер в базе должен совпадать с номером у получателя.

Профилактика: семь правил, чтобы ряд номеров не сбивался

  1. Не правьте номер вручную без причины. Если правка нужна, ставьте номер в пределах текущего ряда, а не «круглый».
  2. Префиксы организаций и базы задайте один раз при настройке. Меняйте их только с начала года и по согласованию с бухгалтером.
  3. Документы будущим числом не создавайте. Отгрузку «на завтра» лучше заводить завтра.
  4. Дату документа меняйте осторожно на границе года: документ сохраняет номер и может встать в чужой ряд.
  5. Ставьте даты запрета изменения после закрытия месяца. Закрытые периоды никто случайно не перезапишет и не перенумерует.
  6. Настройте обмен с разными префиксами баз. Тогда документы из УТ или филиала не будут спорить за номер с документами бухгалтерии.
  7. Проверяйте нумерацию ежемесячно перед закрытием месяца: сортировка по номеру и запрос на дубли занимают пару минут.

Ошибки при исправлении нумерации, которые обходятся дороже сбоя

  • ❌ Перенумеровали прошлый квартал после сдачи декларации по НДС. Номера счетов-фактур в книге продаж и в отправленной декларации разошлись. Придётся объясняться с налоговой или подавать уточнённую декларацию, которая вовсе не требовалась.
  • ❌ Запустили обработку без транзакции и без копии. Сбой на середине оставил половину документов с временными номерами. Восстанавливать приходится вручную или из резервной копии с потерей работы за день.
  • ❌ Перенумеровали с перепроведением. Если обработка проводит документы заново, в закрытых периодах меняются себестоимость и остатки. Для смены номера перепроведение не нужно.
  • ❌ Склеили два префикса в один ряд. Документы УТ получили префикс бухгалтерии — следующий обмен создаст дубли, потому что в базе-источнике номера остались прежними.

Частые вопросы

Можно ли сделать, чтобы номера начинались с 1 каждый месяц?
Периодичность нумерации задаётся в Конфигураторе, в типовой БП 3.0 это год. Смена на месяц — доработка конфигурации, её делает программист через расширение или со снятием с поддержки.
Почему у двух организаций в одной базе одинаковые номера на печатных формах?
У каждой организации свой префикс и свой ряд. В базе номера разные, а при печати префикс убирается, поэтому на бланках обеих фирм может стоять, например, номер 15. Это нормально.
Можно ли выставить счёт-фактуру с номером, который пропущен?
Можно, если дата документа соответствует месту в хронологии. Создайте документ и вручную укажите свободный номер. Платформа примет его, если номер не занят в этом году.
Влияет ли удаление помеченных объектов на нумерацию?
После окончательного удаления номер освобождается, но новые документы его не займут: платформа продолжит ряд от максимального номера. Пропуск закрывают вручную.
Сбилась нумерация после обновления конфигурации — что проверить?
Посмотрите, не сменился ли префикс базы или организации и не появился ли новый вид документа вместо старого. Если номера у новых документов начались с 1 при новом префиксе, это следствие настройки, а не повреждение базы.

Источники

  • Налоговый кодекс РФ, статья 169
  • Постановление Правительства РФ от 26.12.2011 № 1137