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

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

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

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

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

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

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

Что такое последовательность документов и зачем её очищают

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

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

Когда очистка оправдана, а когда лучше восстановление

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

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

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

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

Отчёты и себестоимость расходятся после проведения задним числомВыполните восстановление последовательности, а не очистку
Проведение документов замедлилось из-за огромного регистра последовательностиРассмотрите очистку регистрации после перевода контроля на другой механизм
Готовится свёртка базы или перенос данныхОчистите последовательности после завершения свёртки и проверки остатков
Восстановление завершается ошибкой на конкретном документеИсправьте документ, а не очищайте последовательность целиком

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

Первый обязательный шаг — резервная копия базы. Для файловой базы достаточно скопировать файл 1Cv8.1CD при отсутствии активных сеансов либо выполнить выгрузку в dt через конфигуратор (Конфигурация — Загрузить/выгрузить информационную базу). Для клиент-серверной базы делайте копию средствами СУБД (MS SQL, PostgreSQL) — это быстрее и надёжнее выгрузки в dt на больших объёмах.

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

Способы очистки последовательности

Через типовые обработки в режиме «1С:Предприятие»

В типовых конфигурациях операции с последовательностями сосредоточены в разделе администрирования. В УТ 11 и ERP это «НСИ и администрирование — Финансовый результат и контроллинг» либо обработки из раздела «Операции». В старых конфигурациях (УПП 1.3, УТ 10.3) используется обработка «Проведение по партиям» и «Восстановление последовательностей» (Операции — Обработки), где можно как восстановить, так и сдвинуть границу. Полной очистки регистрации штатные обработки обычно не делают — они работают с границей и перепроведением.

Через установку границы в конфигураторе

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

Программная очистка

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

bsl
// Установка границы последовательности на текущий момент
Последовательности.ПартионныйУчет.УстановитьГраницу(ТекущаяДатаСеанса());

// Очистка регистрации документа в последовательности
Набор = Последовательности.ПартионныйУчет.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(ДокументСсылка);
Набор.Записать();

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

Пошаговый порядок безопасной очистки

Независимо от выбранного способа придерживайтесь единого порядка. Он минимизирует риск потери данных и позволяет откатиться на любом этапе.

Порядок действий
  1. 1
    Сделайте резервную копию базы и убедитесь, что она разворачивается
  2. 2
    Завершите работу всех пользователей и фоновых заданий, включите монопольный режим
  3. 3
    Зафиксируйте текущее положение границы последовательности (скриншот или запись)
  4. 4
    Выполните очистку выбранным способом: обработка, установка границы или код
  5. 5
    Проверьте границу и состояние регистра последовательности
  6. 6
    Запустите зависимые регламентные операции (расчёт себестоимости, закрытие месяца) и сверьте отчёты с контрольными значениями, снятыми до очистки
  7. 7
    Верните базу в рабочий режим и сообщите пользователям о выполненных действиях

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

Проверка результата и типичные ошибки

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

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

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

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

Соответствует запланированному моменту

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

Граница не изменилась или стоит на неожиданном документе

Проведение нового документа
Норма

Проводится без ошибок за обычное время

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

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

Регламентные операции периода
Норма

Расчёт себестоимости и закрытие месяца завершаются успешно

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

Операция требует восстановления последовательности или падает с ошибкой

Контрольные отчёты
Норма

Показатели совпадают со снятыми до очистки

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

Остатки или себестоимость изменились без объяснимых причин

Типичные ошибки
01
Очистка вместо восстановления: граница сброшена, но учётные расхождения остались, потому что документы так и не были перепроведены
02
Работа без монопольного режима: параллельное проведение документов пользователями во время очистки приводит к непредсказуемому состоянию регистра
03
Установка границы «на сегодня» без проверки учёта: система перестаёт сигнализировать о нарушении порядка, и ошибки накапливаются незаметно
04
Очистка только одной последовательности из нескольких связанных: в конфигурациях с партионным учётом последовательности зависимы, частичная очистка ломает логику расчёта
05
Отсутствие резервной копии или копия, которая не проверялась восстановлением: при сбое откатиться не на что

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

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

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

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

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

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

Можно ли очистить последовательность без конфигуратора?

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

Почему после установки границы «на сегодня» отчёты всё равно расходятся?

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

Как узнать, какие последовательности есть в базе?

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

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

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

Итог

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

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