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

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

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

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

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

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

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

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

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

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

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

Где посмотреть текущую границу

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

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

Граница = Последовательности.ПартионныйУчет.ПолучитьГраницу();

Сообщить("Граница: " + Граница.Дата + " / " + Граница.Ссылка);

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

Граница на текущую датуПоследовательность актуальна

Ничего менять не нужно, проверьте, не в другом ли причина расхождений

Граница в прошлом периодеНарушен порядок проведения

Требуется восстановление последовательности с даты границы

Ошибка при восстановленииЕсть проблемные документы

Смотрите протокол: незаполненные реквизиты, отрицательные остатки, отменённые проводки

Способ 1. Восстановление последовательности штатными средствами

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

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

Порядок восстановления последовательности
  1. 1
    Сделайте резервную копию базы или убедитесь, что есть свежая выгрузка
  2. 2
    Завершите работу пользователей с документами восстанавливаемого периода
  3. 3
    Откройте обработку восстановления последовательности в разделе «Операции» или «Администрирование»
  4. 4
    Проверьте дату начала — она должна совпадать с текущей границей
  5. 5
    Запустите восстановление и дождитесь завершения
  6. 6
    Изучите протокол: все ли документы проведены без ошибок
  7. 7
    Проверьте новое положение границы и контрольные отчёты

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

Способ 2. Установка границы вручную через конфигуратор и код

Если нужно сдвинуть границу назад (например, после исправления документов за прошлый квартал) или штатной обработки нет, границу устанавливают программно. Метод УстановитьГраницу() принимает момент времени — дату и ссылку на документ:

// Сдвинуть границу на начало конкретного документа

Момент = Новый МоментВремени(ДокОбъект.Дата, ДокОбъект.Ссылка);

Последовательности.ПартионныйУчет.УстановитьГраницу(Момент);

// Или на начало дня

Последовательности.ПартионныйУчет.УстановитьГраницу(НачалоДня(ДатаНачала));

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

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

Способ 3. Через «Управление итогами» и регламентные операции

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

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

Сравнение способов

Штатное восстановление последовательности

Безопасно и просто; подходит для сдвига границы вперёд. Не позволяет установить границу назад произвольно

Программная установка границы

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

Закрытие месяца с перепроведением

Хорошо для регулярного регламентного обслуживания. Работает целым периодом, не подходит для точечных операций

Частые ошибки и как их избежать

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

Вторая типичная проблема — игнорирование протокола. Восстановление завершилось, но часть документов не проведена из-за ошибок (не заполнен склад, отрицательные остатки, закрыт период). Граница в этом случае останавливается на проблемном документе, и пользователь считает, что всё исправлено, хотя это не так.

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

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

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

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

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

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

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

Положение границы
Норма

Граница на текущем документе или на целевой дате

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

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

Протокол восстановления
Норма

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

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

Есть непроведённые документы и сообщения об ошибках

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

Итоги по регистрам сходятся с ожидаемыми

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

Остатки изменились непредсказуемо или появились отрицательные значения

FAQ

Итог

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

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

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

Да, программная установка через УстановитьГраницу() меняет только положение границы, не трогая движения. Но сдвиг назад без последующего восстановления оставит данные в неактуальном состоянии — обычно после установки границу всё равно восстанавливают.

Почему граница постоянно «отъезжает» назад?

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

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

Откройте протокол и найдите первый документ с ошибкой. Исправьте причину (заполните реквизиты, устраните отрицательные остатки, откройте период), затем запустите восстановление повторно — оно продолжится с места остановки.

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

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

Влияет ли сдвиг границы на закрытые периоды?

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

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

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