Документы и Печать · 14 мин
Как сделать сквозную нумерацию в 1С
Как настроить сквозную нумерацию документов в 1С: автонумерация, периодичность, префиксы, перенумерация обработкой и типичные ошибки с номерами.
Сквозная нумерация в 1С — это порядок присвоения номеров документам, при котором номера идут непрерывно в рамках заданного периода: года, месяца или всего времени ведения учёта. От корректной настройки нумерации зависят не только удобство поиска документов, но и требования учёта: например, счета-фактуры должны нумероваться в хронологическом порядке без пропусков, а кассовые документы — по датам в пределах дня или года.
В типовых конфигурациях 1С (Бухгалтерия, Управление торговлей, ERP) нумерация работает автоматически: программа сама присваивает следующий номер при записи документа. Однако на практике возникают сбои — дубли номеров, разрывы последовательности, сброс нумерации после переноса данных или ручного редактирования. В таких случаях требуется либо настроить параметры нумерации, либо выполнить перенумерацию существующих документов.
В материале разобраны механизмы автонумерации, настройка периодичности и префиксов, ручная корректировка номеров, перенумерация типовыми средствами и обработками, а также типичные ошибки и способы проверки результата. Инструкции применимы к конфигурациям на платформе 1С:Предприятие 8.3 с управляемым интерфейсом «Такси».
Как устроена автонумерация документов в 1С
Каждый вид документов в 1С имеет собственный механизм нумерации, заданный в конфигураторе. Ключевые свойства — длина номера, периодичность и признак автонумерации. Периодичность определяет, в каких границах номера должны быть уникальными: в пределах года, квартала, месяца, дня или вне периода вообще.
При записи нового документа платформа ищет максимальный номер среди документов того же вида за текущий период (и с тем же префиксом, если он используется) и прибавляет единицу. Поэтому если последний документ года имел номер 000000150, следующий получит 000000151. Если последний документ удалить, его номер может быть выдан повторно — это нормальное поведение платформы, а не ошибка.
Важно понимать, что номер присваивается в момент записи, а не при создании формы документа. Если два пользователя одновременно создают документы одного вида, обоим может быть предложен один и тот же номер, но при записи одному из них будет присвоен следующий свободный либо возникнет сообщение о неуникальности — поведение зависит от настроек конфигурации.
Настройка периодичности и длины номера
Изменить параметры нумерации может только пользователь с доступом к конфигуратору и правом изменения конфигурации. Откройте конфигуратор, найдите нужный вид документа в дереве метаданных, откройте его свойства и перейдите на вкладку «Нумерация». Там задаются длина номера, тип номера (числовой или строковый) и периодичность.
Периодичность «В пределах года» — стандарт для большинства учётных документов: 1 января нумерация начинается заново. Периодичность «Непериодический» означает сквозную нумерацию на всё время работы базы — так иногда настраивают договоры или внутренние приказы, чтобы номера не повторялись из года в год. Периодичность «В пределах дня» применяется редко, например для сменных отчётов.
Длина номера влияет на сортировку. При строковом типе номера документы сортируются как текст: номер 10 окажется раньше номера 2, если номера не дополнены ведущими нулями. Поэтому в типовых конфигурациях номера хранятся строками фиксированной длины с нулями слева — 000000001, 000000002 и так далее. Сокращать длину номера в рабочей базе опасно: если существующие номера длиннее нового значения, данные могут быть усечены.
Сквозная нумерация по нескольким видам документов и по организациям
Если требуется единая последовательность номеров для разных видов документов — например, общая нумерация приходных и расходных кассовых ордеров, — в конфигураторе создаётся общий нумератор (раздел «Общие» → «Нумераторы»), который затем указывается в свойствах нужных видов документов. Платформа будет выдавать следующий номер с учётом всех документов, привязанных к этому нумератору.
Обратная задача — раздельная нумерация по организациям в многофирменной базе. Штатного переключателя «нумеровать в разрезе организаций» в платформе нет. В типовых конфигурациях эту задачу частично решают префиксы: каждой организации или базе назначается свой префикс, и номера строятся внутри своей префиксной группы. Полностью независимая нумерация по организациям требует доработки конфигурации — программного переопределения процедуры установки номера.
Сравнение вариантов
Стандарт для счетов-фактур, накладных, ордеров. Номера компактные, но каждый год начинаются сначала, поэтому при поиске нужно учитывать дату.
Подходит для договоров, приказов, карточек проектов. Номер уникален за всё время, но со временем становится длинным.
Даёт единую сквозную последовательность для ПКО и РКО или разных видов накладных. Требует изменения конфигурации.
Позволяют различать документы разных юрлиц в одной базе без доработок, но последовательности остаются общими внутри вида документа.
Работа с префиксами
Префикс — это символы в начале номера, которые позволяют различать документы разных организаций, узлов обмена или баз. В типовых конфигурациях префикс организации задаётся в карточке организации (реквизит «Префикс»), а префикс информационной базы — в настройках синхронизации данных или параметрах учёта, в зависимости от конфигурации.
Префикс участвует в автонумерации: при записи документа программа ищет максимальный номер именно внутри своей префиксной группы. Поэтому документы организации с префиксом «АА» и организации с префиксом «ББ» нумеруются независимо, и дублей между ними не возникает. Если префикс организации пуст, документы попадают в общую группу с пустым префиксом.
Типичная проблема — смена префикса в середине года. После изменения префикса нумерация начинается с единицы внутри новой группы, а старые документы сохраняют прежний префикс. Это не ошибка, но при выгрузках и сверках может выглядеть как разрыв нумерации. Менять префикс на работающей базе следует только с начала нового периода и понимая последствия для отчётности.
Ручное изменение номера и обновление нумерации
В пользовательском режиме номер документа можно изменить вручную: откройте документ, щёлкните в поле номера и введите нужное значение. В типовых конфигурациях при ручном вводе номера, который нарушает последовательность, программа может показать предупреждение и предложить обновить нумерацию. Если согласиться, текущий документ получит следующий свободный номер, а введённое значение будет проигнорировано или использовано как новая точка отсчёта — поведение зависит от конфигурации.
Ручное редактирование номера оправдано в единичных случаях: восстановление номера после ошибочного удаления, приведение номера в соответствие с бумажным оригиналом. Массовые ручные правки — прямой путь к дублям и разрывам. Если номеров много, используйте перенумерацию.
- 1Сделайте резервную копию базы перед любыми массовыми изменениями номеров.
- 2Определите границы перенумерации: вид документа, период, организация, префикс.
- 3Выполните перенумерацию типовой обработкой или штатным механизмом конфигурации.
- 4Проверьте журнал документов: номера должны идти по возрастанию дат без дублей.
- 5Сформируйте печатную форму одного-двух документов и сверьте номер на форме с номером в базе.
- 6Проверьте связанные данные: выгрузки, ЭДО-документы, регистры, где номер хранится отдельно.
Перенумерация существующих документов
Когда последовательность уже нарушена — после переноса данных, восстановления из архива, ручных правок, — требуется перенумерация. В ряде типовых конфигураций есть штатные механизмы: например, в «1С:Бухгалтерии» при записи документа с неуникальным номером предлагается автоматическое обновление нумерации, а для отдельных видов документов доступна функция перенумерации за период. Наличие и расположение таких функций зависит от версии конфигурации — ищите их в разделах администрирования или в обработках «Сервис».
Универсальный способ — внешняя обработка перенумерации. Типовая логика такой обработки: выбрать документы нужного вида за период, упорядочить их по дате (и моменту времени), присвоить номера последовательно начиная с первого и записать. Обработки с подобной функциональностью публикуются в официальных и партнёрских источниках; перед запуском на рабочей базе проверьте её на копии.
Для разработчика перенумерация реализуется программно: запросом выбираются документы с упорядочиванием по дате, затем в цикле каждому объекту присваивается номер методом УстановитьНовыйНомер() или прямым присвоением реквизита Номер с последующей записью. Метод УстановитьНовыйНомер() учитывает префикс и нумератор, поэтому предпочтительнее ручного присвоения.
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка ИЗ Документ.РеализацияТоваровУслуг ГДЕ Дата МЕЖДУ &Начало И &Конец УПОРЯДОЧИТЬ ПО Дата");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Док = Выборка.Ссылка.ПолучитьОбъект();
Док.УстановитьНовыйНомер();
Док.Записать();
КонецЦикла;Типичные проблемы и их решение
Самая частая жалоба — «скакнула нумерация» после удаления документа. Как отмечено выше, платформа выдаёт освободившийся номер повторно, и это штатное поведение. Если по учётным требованиям номера не должны переиспользоваться (например, для счетов-фактур), удалённые документы лучше не удалять физически, а помечать на удаление или отменять проведение.
Вторая типичная ситуация — дубли номеров после обмена данными между базами. Причина почти всегда в отсутствии или совпадении префиксов узлов. Решение — назначить каждой базе уникальный префикс в настройках синхронизации и при необходимости перенумеровать уже пришедшие документы.
Третья группа проблем — нарушение сортировки из-за ручного ввода номеров без ведущих нулей. Документ с номером «15» в журнале встанет раньше документа «000000002», и визуально нумерация будет выглядеть хаотичной. Лечится перенумерацией с приведением номеров к стандартной длине.
Как проверить результат
Номера возрастают вместе с датами, дублей и разрывов внутри периода нет
Одинаковые номера у разных документов или номер убывает при росте даты
Номер на форме совпадает с номером в базе
На форме другой номер — значит, форма берёт его из другого источника
При записи присваивается следующий по порядку номер
Предлагается уже занятый номер или ошибка неуникальности
Номера в выгруженных файлах соответствуют текущим номерам в базе
Расхождения с ранее отправленными файлами — требуется сверка с контрагентами
Ограничения и когда нужен разработчик
Штатными средствами пользовательского режима можно: исправить номер вручную, согласиться на обновление нумерации при записи, настроить префиксы организаций и узлов обмена. Всё, что глубже, — изменение периодичности, длины номера, общие нумераторы, независимая нумерация по организациям, автоматическая перенумерация по расписанию — требует доступа к конфигуратору и, как правило, навыков разработки.
Отдельное ограничение — конфигурации на поддержке без возможности изменения. Если конфигурация типовая и обновляется автоматически, прямая правка свойств нумерации в конфигураторе приведёт к снятию объектов с поддержки и усложнит обновления. В таких случаях используют расширения конфигурации или внешние обработки, не затрагивающие типовой код.
Как выбрать действие
Часто задаваемые вопросы
Почему после удаления документа его номер выдаётся снова?
Платформа при записи ищет максимальный существующий номер за период и прибавляет единицу. Удалённого документа в базе нет, поэтому его номер считается свободным. Если переиспользование номеров недопустимо по учётной политике, документы следует помечать на удаление, а не удалять физически.
Можно ли сделать нумерацию непрерывной за всё время, без сброса 1 января?
Да. В конфигураторе в свойствах вида документа на вкладке «Нумерация» установите периодичность «Непериодический». Учтите, что для документов со строгими требованиями к нумерации в пределах года (например, счетов-фактур) так делать не следует.
Как восстановить сквозную нумерацию после загрузки данных из другой базы?
Сначала убедитесь, что у баз-источников разные префиксы, иначе дубли появятся снова. Затем выполните перенумерацию документов за затронутый период штатной функцией конфигурации или внешней обработкой, предварительно проверив её на копии базы.
Опасно ли менять длину номера в рабочей базе?
Увеличение длины обычно безопасно. Сокращение опасно: существующие номера, не умещающиеся в новую длину, могут быть усечены, что приведёт к дублям и потере данных. Перед изменением сделайте копию и проверьте максимальную фактическую длину существующих номеров.
Почему документы в журнале стоят не по порядку номеров?
Чаще всего причина в ручном вводе номеров без ведущих нулей: строковая сортировка ставит «10» раньше «2». Реже — разные префиксы или документы из разных периодов. Помогает сортировка журнала по дате и перенумерация с приведением номеров к единой длине.
Можно ли перенумеровать только документы одной организации?
Штатного отбора по организации в механизме нумерации нет, поскольку номер уникален в пределах вида документа и префикса. Если у организации свой префикс, перенумерация обработкой с отбором по этому префиксу решит задачу. Без префиксов потребуется доработка логики нумерации.
Что важно запомнить
Сквозная нумерация в 1С работает автоматически в пределах периода и префикса; сбои устраняются обновлением нумерации при записи или перенумерацией обработкой. Перед любыми массовыми изменениями номеров делайте копию базы, а после — проверяйте журнал, печатные формы и выгрузки в ЭДО.