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