Как исправить сбой нумерации счетов-фактур в 1С:УТ 10.3?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Налоговый учет Торговля и дистрибуция
← На главную

Многие пользователи сталкиваются с ситуацией, когда после тестирования и исправления базы, обмена данными или банальной ошибки ручного ввода в 1С сбивается автоматическая нумерация документов. Например, в базе с двумя организациями префикс авансовых счетов-фактур внезапно меняется с правильного Анов на ошибочный евАнов. Самое неприятное в этой ситуации то, что ручное исправление номера в последнем документе не помогает: следующий созданный документ упорно получает неправильный префикс. Давайте разберем по шагам, почему это происходит и как правильно решить данную проблему.

Почему нумератор 1С «цепляется» за неправильный префикс?

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

Критическая важность лидирующих нулей

Рассмотрим частую ошибку, которую допускают пользователи при попытке всё исправить. При ручном исправлении евАнов обратно на Анов пользователи стирают лишние буквы, но при этом часто случайно удаляют нули перед цифрами. Если вместо Анов0000012 написать просто Анов12, автонумератор сломается окончательно, так как нарушится общая разрядность номера. Обязательно нужно сохранять исходное количество символов в номере документа. Платформа 1С строго следит за длиной строкового номера.

Пошаговый алгоритм решения проблемы

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

  1. Поиск и исправление всех ошибочных номеров. Сначала нужно найти абсолютно все документы с испорченным префиксом. Для массового переименования в УТ 10.3 лучше всего использовать типовую обработку «Универсальный подбор и обработка объектов», чтобы не исправлять каждый документ руками. Убедитесь, что в журнале не осталось ни одного документа с префиксом евАнов.
  2. Проверка настроек организации. Обязательно зайдем в справочник «Организации» и проверим, не изменился ли префикс непосредственно там.
  3. Проверка параметров учета. Проверим настройки учетной политики. Иногда сбой происходит из-за того, что слетает галочка «Использовать специальный префикс для счетов-фактур на аванс». Из-за этого авансовые фактуры начинают нумероваться в одном потоке с обычными реализациями.
  4. Обновление нумерации. После того как все физические номера в базе исправлены, необходимо сбросить кэш платформы 1С.

Как правильно сбросить кэш нумератора

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

Вариант 1: Административный.
Если вы работаете в файловом варианте, достаточно просто выгнать всех пользователей из базы. Если вариант клиент-серверный — потребуется перезапустить службу сервера 1С:Предприятия.

Вариант 2: Программный (через код).
Вы можете принудительно обновить кэш, используя метод ОбновитьНумерациюОбъектов. Если вызвать метод без параметров, он пересчитает нумерацию для всех справочников и документов базы, что может занять значительное время. Лучше использовать его точечно. Вызовем этот метод через внешнюю обработку или консоль кода:


// Точечное обновление нумерации только для счетов-фактур
ОбновитьНумерациюОбъектов(Метаданные.Документы.СчетФактураВыданный);

Запустить этот код может только пользователь с полными административными правами. Выполнив все эти шаги в строгой последовательности, вы полностью очистите внутренний счетчик 1С, и программа снова начнет нумеровать ваши счета-фактуры корректно, начиная с максимального правильного номера Анов.

← На главную