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

Администрирование · 11 мин

Как запустить восстановление последовательности в 1С

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

Последовательность документов в 1С — это механизм, который гарантирует, что документы проводятся в хронологическом порядке и итоги (остатки, себестоимость, взаиморасчёты) рассчитаны корректно. Когда пользователь перепроводит или удаляет документ «задним числом», граница последовательности сдвигается назад, и все документы после неё требуют перепроведения. Пока восстановление не выполнено, отчёты по остаткам и себестоимости могут показывать недостоверные данные.

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

Что такое последовательность и когда её нужно восстанавливать

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

Типичные признаки нарушенной последовательности: отчёт по остаткам показывает отрицательные значения, хотя документы введены корректно; себестоимость в отчётах не сходится с ожидаемой; при закрытии месяца программа выдаёт сообщения о необходимости перепроведения документов. Также границу можно посмотреть напрямую через метод встроенного языка Последовательности.ИмяПоследовательности.ПолучитьГраницу() или через обработки администратора.

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

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

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

Способ 1: обработка «Проведение документов»

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

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

Порядок действий
  1. 1
    Сделайте резервную копию базы и завершите работу пользователей в периоде восстановления.
  2. 2
    Откройте «Операции → Проведение документов» (или «Все функции → Проведение документов»).
  3. 3
    Перейдите в режим «Восстановление последовательностей» и отметьте нужные последовательности.
  4. 4
    Укажите дату начала при необходимости и нажмите «Выполнить».
  5. 5
    Дождитесь окончания, изучите сообщения об ошибках и проверьте границу последовательности.

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

Способ 2: штатные механизмы типовых конфигураций

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

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

Способ 3: программное восстановление

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

bsl
// Восстановить последовательность до конца указанной даты
Последовательности.ПартионныйУчет.Восстановить(КонецДня(ДатаВосстановления));

// Узнать текущую границу последовательности
Граница = Последовательности.ПартионныйУчет.ПолучитьГраницу();
Сообщить("Граница: " + Граница);

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

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

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

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

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

Граница последовательности
Норма

Соответствует текущему моменту или последнему документу периода

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

Осталась на старой дате — восстановление не завершилось или прервано ошибками

Сообщения об ошибках
Норма

Все документы проведены, ошибок нет

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

Есть непроведённые документы — требуется ручной разбор и повторный запуск

Отчёты по остаткам
Норма

Нет отрицательных остатков, итоги сходятся с первичкой

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

Минуса и расхождения сохраняются — ищите ошибки в документах периода

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

Типичные ошибки
01
Запуск восстановления без резервной копии — при сбое или ошибочных действиях откатить изменения будет нечем.
02
Работа пользователей во время перепроведения — граница сдвигается снова, и процедуру приходится повторять.
03
Забытая дата запрета редактирования — документы закрытого периода не проводятся, восстановление останавливается с ошибками.
04
Игнорирование ошибок проведения отдельных документов — граница не двигается, а проблема считается решённой.
05
Восстановление всех последовательностей сразу на большом объёме в рабочее время — база «подвисает», пользователи не могут работать.

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

Как выбрать подходящий способ

Маршрут решения

Как выбрать действие

Нужно разово восстановить последовательность в любой конфигурацииИспользуйте обработку «Проведение документов» в режиме восстановления последовательностей
Работаете в типовой Бухгалтерии, УТ или ERPЗапускайте перепроведение через закрытие месяца или штатную обработку группового перепроведения
Граница ломается регулярно из-за задних чиселНастройте регламентное задание с программным вызовом Восстановить() на ночное время
Восстановление упирается в ошибки проведения документовСначала исправьте документы (остатки, заполнение реквизитов), затем повторите восстановление

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

Итог

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

Восстановление последовательности — это перепроведение документов от границы нарушения до текущего момента. Делайте копию базы, запускайте штатную обработку или механизм закрытия месяца в монопольном режиме, разбирайте ошибки проведения и проверяйте границу после завершения.

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

Чем восстановление последовательности отличается от простого перепроведения документов?

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

Можно ли запустить восстановление, пока пользователи работают в базе?

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

Почему после восстановления граница снова оказалась в прошлом?

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

Что делать, если восстановление останавливается с ошибками проведения?

Выпишите документы, которые не проводятся, и причины из сообщений. Чаще всего это нехватка остатков на складе, незаполненные обязательные реквизиты или дата запрета редактирования. Исправьте данные, при необходимости временно откройте период, затем запустите восстановление повторно — оно продолжится с места остановки.

Сколько времени занимает восстановление последовательности?

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

Нужно ли восстанавливать последовательности, если используется только управленческий учёт без партионного?

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