К статье
Практический материал

Документы и Печать · 11 мин

Как в 1С перенумеровать кассовые документы списком

Как в 1С перенумеровать кассовые документы списком: типовая обработка группового изменения реквизитов, код на встроенном языке, проверка результата и типичные ошибки.

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

В типовых конфигурациях 1С (Бухгалтерия предприятия, Управление нашей фирмой, ERP) есть два рабочих способа массовой перенумерации: штатная обработка «Групповое изменение реквизитов» и программная перенумерация через внешнюю обработку или консоль кода. Оба подхода рассмотрены ниже с точными шагами, ограничениями и способами проверки результата.

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

Когда требуется перенумерация кассовых документов

Типовые ситуации, после которых нумерация ПКО и РКО перестаёт быть последовательной:

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

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

Номера идут не по датамСбитая последовательность

Отсортируйте журнал по дате и сравните порядок номеров

Одинаковые номера у разных документовДубли нумерации

Проверьте, не относятся ли документы к разным организациям или кассам

Пропуски в номерахУдалённые или непроведённые документы

Найдите помеченные на удаление ордера за период

Номера с чужими префиксамиСмешение после переноса данных

Проверьте префикс ИБ и организации в настройках нумерации

Подготовка: резервная копия и настройки нумерации

Первый обязательный шаг — резервная копия. В файловой базе достаточно скопировать файл 1Cv8.1CD при закрытых сеансах пользователей либо выполнить выгрузку через конфигуратор («Администрирование» → «Выгрузить информационную базу»). В клиент-серверном варианте используйте средства СУБД или выгрузку в dt.

Второй шаг — проверьте настройки нумерации. В конфигураторе у документов «Приходный кассовый ордер» и «Расходный кассовый ордер» проверьте свойства нумератора: периодичность (год, месяц, день или непериодическая) и признак автоматической нумерации. От периодичности зависит, в каких границах нужно перенумеровывать: если нумерация годовая, перенумеровывать нужно весь год, а не один месяц, иначе в соседних месяцах останутся конфликтующие номера.

Способ 1: групповое изменение реквизитов

Штатная обработка «Групповое изменение реквизитов» доступна в большинстве типовых конфигураций на БСП по пути «Администрирование» → «Обслуживание» → «Корректировка данных» → «Групповое изменение реквизитов». Для её открытия нужны права администратора или права на выполнение групповых изменений.

Перенумерация через групповое изменение реквизитов
  1. 1
    Откройте «Администрирование» → «Обслуживание» → «Групповое изменение реквизитов»
  2. 2
    Выберите тип объектов «Приходный кассовый ордер» (затем повторите для расходного)
  3. 3
    Настройте отбор: период, организация, касса — только нужные документы
  4. 4
    В списке реквизитов отметьте «Номер» и задайте алгоритм присвоения (произвольный алгоритм с порядковым счётчиком)
  5. 5
    Выполните изменение и проверьте журнал: номера должны идти по возрастанию в порядке дат

Ключевой нюанс — порядок обхода документов. Обработка изменяет объекты в порядке отбора, поэтому перед запуском убедитесь, что отбор сортируется по дате, иначе новые номера будут присвоены в произвольном порядке и последовательность снова нарушится. Если штатный алгоритм не позволяет задать сортировку, надёжнее использовать программный способ.

Для поля «Номер» в обработке обычно используют произвольный алгоритм на встроенном языке: счётчик с приведением к нужной длине и префиксу. Учтите, что номер в 1С — строковый реквизит с установленной длиной, поэтому новое значение должно укладываться в эту длину с учётом префикса.

Способ 2: программная перенумерация

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

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

Номер = 1;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
 ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
 ДокОбъект.Номер = Формат(Номер, "ЧЦ=6; ЧВН=; ЧГ=");
 ДокОбъект.ОбменДанными.Загрузка = Истина;
 ДокОбъект.Записать();
 Номер = Номер + 1;
КонецЦикла;

Несколько важных деталей этого кода. Режим ОбменДанными.Загрузка = Истина отключает проверки при записи, включая контроль уникальности номера и подписки на события — это ускоряет обработку и позволяет временно иметь дубли в процессе перенумерации. Однако он же отключает бизнес-логику, поэтому применять его нужно осознанно и только для изменения номера.

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

Сравнение способов перенумерации

Какой способ выбрать

Групповое изменение реквизитов

Подходит для небольшого числа документов и простых случаев; не требует навыков программирования, но ограничен в сортировке и логике

Программная перенумерация

Полный контроль над порядком, форматом номера и отбором; требует прав разработчика и аккуратности с режимом загрузки

Перенумерация вручную

Оправдана при 5–10 документах; при большем объёме высок риск ошибок и дублей

Для разового исправления десятка ордеров достаточно ручного изменения номеров прямо в формах документов — 1С при записи сама проверит уникальность. Для сотен документов за длительный период ручной способ неприемлем, а выбор между обработкой и кодом зависит от того, нужна ли нестандартная логика (своя нумерация по кассам, отдельные серии номеров по организациям).

Проверка результата

После перенумерации обязательно выполните контрольные проверки, прежде чем открывать период для работы пользователей.

Контрольные точки

Как проверить результат

Сортировка журнала по дате
Норма

Номера возрастают строго по порядку

Тревожный признак

Номера скачут или идут вразнобой с датами

Поиск дублей
Норма

Запрос по сгруппированным номерам не возвращает повторов

Тревожный признак

Один номер у двух и более документов

Кассовая книга
Норма

Отчёт формируется, листы соответствуют ордерам

Тревожный признак

Расхождения номеров между книгой и ордерами

Печатные формы
Норма

В ПКО и РКО выводятся новые номера

Тревожный признак

На печать выводится старый или пустой номер

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

Типичные ошибки и ограничения

Типичные ошибки при перенумерации
01
Перенумерация без резервной копии — при ошибочном отборе восстановить прежние номера нечем
02
Отбор не по всему периоду нумерации — в соседних месяцах остаются дубли при годовой нумерации
03
Игнорирование префикса — новые номера конфликтуют с автонумерацией и создают дубли при вводе новых документов
04
Перенумерация при работающих пользователях — параллельный ввод документов занимает уже присвоенные номера
05
Забытые помеченные на удаление документы — после снятия пометки они возвращаются со старыми номерами и дают дубли

Отдельное ограничение касается закрытых периодов. Если установлена дата запрета изменения данных, перенумерация документов раньше этой даты будет заблокирована — сначала временно сдвиньте дату запрета, выполните операцию и верните её обратно. Также помните, что после перенумерации первый вновь создаваемый документ получит номер от типового механизма; при несовпадении форматов возможен конфликт, который решается однократным ручным заданием корректного следующего номера.

Итог

Что важно запомнить

Перенумерация кассовых документов списком выполняется обработкой «Групповое изменение реквизитов» или программным циклом с сортировкой по дате. Обязательные условия безопасности: резервная копия, монопольный режим, учёт периодичности нумерации и префиксов, проверка дублей и кассовой книги после операции.

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

Можно ли перенумеровать только проведённые документы, не трогая остальные?

Да. В отборе обработки или в запросе добавьте условие «Проведен = Истина». Но учтите, что непроведённые документы сохранят старые номера и могут создать дубли после своего проведения — обычно разумнее перенумеровывать все документы, кроме помеченных на удаление.

Что делать, если после перенумерации новые документы получают неправильные номера?

Типовой механизм автонумерации ориентируется на максимальный существующий номер. Если формат новых номеров отличается (другая длина или префикс), создайте один документ вручную, задайте ему корректный следующий номер в нужном формате — дальше нумерация пойдёт от него.

Нужно ли перенумеровывать ПКО и РКО отдельно?

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

Нарушит ли перенумерация связь с банковскими выписками и другими документами?

Нет. Связи между объектами в 1С хранятся по внутренним ссылкам, а не по номерам. Номер — отображаемый реквизит, его изменение не разрывает движения по регистрам и связи с основаниями. Пострадают только бумажные копии со старыми номерами.

Можно ли отменить перенумерацию, если результат не устроил?

Автоматической отмены нет. Единственный надёжный способ вернуть прежние номера — восстановить базу из резервной копии, сделанной до операции. Поэтому копия перед перенумерацией обязательна, а не рекомендована.

Работает ли групповое изменение реквизитов в файловой и серверной базе одинаково?

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