Очистка и восстановление последовательности документов в 1С 8.3
Содержание
Чтобы очистить последовательность в 1С, нужно перепровести документы, которые лежат после её границы. В 1С:Бухгалтерии 3.0 это делается в Операции → Закрытие месяца: пункт «Перепроведение документов
» выполняется первым и сам переносит границу вперёд. Если пункт не уходит, используйте групповое перепроведение в Администрирование → Проведение документов, а в крайнем случае сдвигайте границу внешней обработкой.
Само слово «очистить» здесь условное. Удалять ничего не надо. Последовательность «чистая», когда её граница стоит на последнем проведённом документе. Всё остальное — это сигнал, что какие-то движения могли посчитаться по устаревшим данным.
Что такое последовательность и почему она нарушается
Последовательность — объект метаданных платформы 1С:Предприятие. Он хранит границу: момент времени, до которого документы проведены в правильном хронологическом порядке. Всё, что позже границы, платформа считает «под вопросом».
Граница отъезжает назад, когда:
- 📝 документ прошлого периода изменили и перепровели;
- ➕ документ ввели задним числом, раньше уже проведённых;
- ❌ проведённый документ отменили или пометили на удаление;
- 🔄 при обмене или загрузке пришли документы с ранними датами;
- 🧩 сбой при проведении оборвал запись движений на середине.
Пример. В марте бухгалтер нашёл ошибку в поступлении от 12 января и исправил цену. Граница сдвигается на 12 января. Все реализации, списания и закрытия месяцев после этой даты теперь требуют перепроведения: себестоимость в них считалась по старой цене.
Почему важна именно хронология
Многие расчёты в 1С опираются на остатки на момент документа. Себестоимость списания зависит от того, какие поступления были до него. Курсовая разница — от курса и остатка на дату. Если поменять что-то в начале цепочки, все последующие документы надо пересчитать по порядку.
Последовательность как раз отмечает точку, с которой цепочка «порвана». Чем раньше граница, тем больше документов придётся перепровести.
| Что изменили | Что поедет дальше по цепочке |
|---|---|
| Цену в поступлении | Себестоимость продаж, валовая прибыль, налог на прибыль |
| Дату реализации | Остатки на складе, себестоимость следующих списаний |
| Курс в валютном документе | Курсовые разницы, взаиморасчёты с контрагентом |
| Счёт затрат в требовании | Закрытие 20/26 счёта, финансовый результат |
Нарушение последовательности — не ошибка программы, а штатный механизм. Плохо не то, что граница сдвинулась, а то, что её оставили так и сдали отчётность.
Как проверить, нарушена ли последовательность
Проверка зависит от того, в какой программе вы работаете.
1С:Бухгалтерия 3.0
Откройте Операции → Закрытие месяца и выберите месяц. Если с прошлых периодов что-то меняли, первой строкой стоит «Перепроведение документов за …» с красной или жёлтой пометкой. Это и есть индикатор нарушенной последовательности.
Второй признак — предупреждения в самом закрытии: себестоимость или курсовые разницы помечены как требующие пересчёта, хотя месяц уже закрывали.
1С:ЗУП 3
В ЗУП 3 механизм другой. Вместо последовательности программа ведёт регистр перерасчётов. Если изменили кадровый документ или больничный прошлого месяца, в начислении зарплаты текущего месяца появляется сообщение о необходимости перерасчёта. «Очистка» здесь — это выполнение перерасчёта, а не сдвиг какой-то границы.
Любая конфигурация через «Все функции»
Если в конфигурации есть объекты «Последовательности», их видно через меню Все функции (включается в Сервис и настройки → Параметры → Отображать команду «Все функции»). В дереве найдите ветку «Последовательности» и откройте нужную. Там видна граница — дата и документ.
| Где смотреть | Что увидите | Что значит |
|---|---|---|
| Закрытие месяца (БП 3.0) | Пункт «Перепроведение документов» | Граница позже начала месяца — нужно перепровести |
| Начисление зарплаты (ЗУП 3) | Сообщение о перерасчётах | Изменились данные прошлых периодов |
| Все функции → Последовательности | Дата и документ границы | Всё после этой точки требует перепроведения |
Подготовка: что сделать до перепроведения
Перепроведение меняет движения сотен и тысяч документов. Отменить его кнопкой нельзя.
Перед любыми действиями с последовательностью сделайте резервную копию базы .
Минимальный порядок:
- Выгрузите базу в
.dtчерез Конфигуратор (Администрирование → Выгрузить информационную базу) или сделайте копию каталога файловой базы. - Проверьте дату запрета изменения данных. Если она стоит позже границы, перепроведение упрётся в запрет. Временно сдвиньте её или выполняйте операцию под пользователем с правом обходить запрет.
- Договоритесь с коллегами: в периоде перепроведения никто не должен править документы.
- Сформируйте и сохраните оборотно-сальдовую ведомость за затронутый период. Она пригодится для сравнения «до» и «после».
Если период уже сдан в отчётности, перепроведение может изменить цифры. Разницу придётся объяснять или подавать уточнённые декларации. Сначала оцените масштаб на копии.
Способ 1. Очистка последовательности через закрытие месяца
Это основной и самый безопасный путь в 1С:Бухгалтерии 3.0. Программа сама знает, какие документы перепровести и в каком порядке.
- Откройте
Операции → Закрытие месяца. - Выберите самый ранний месяц, где есть пункт «Перепроведение документов».
- Нажмите «Выполнить закрытие месяца ». Первым пунктом программа перепроведёт документы, затем заново выполнит регламентные операции.
- Дождитесь окончания. Все пункты должны стать зелёными.
- Переходите к следующему месяцу и повторяйте, пока не дойдёте до текущего.
Пример по времени: в базе небольшой торговой фирмы с 3–5 тысячами документов в месяц перепроведение одного месяца обычно занимает от нескольких минут до получаса. На слабом компьютере с файловой базой — дольше.
💡 Если месяцев много, не запускайте всё сразу. Закрывайте по одному и проверяйте результат. Так проще поймать документ, на котором всё ломается.
С какого месяца начинать
Начинайте с месяца, в котором стоит граница, а не с текущего. Закрытие поздних месяцев до ранних бессмысленно: после перепроведения ранних всё придётся делать заново.
Если граница ушла на год назад, а закрытые периоды уже сданы, сначала посчитайте риск на копии базы. Перепроведите всё на копии, сравните ОСВ и декларации. Только потом решайте, делать ли это в рабочей базе.
Если закрытие останавливается с ошибкой
Чаще всего проведение срывается на конкретном документе. Программа пишет его в сообщениях. Откройте этот документ, исправьте причину (не хватает остатка, не заполнен счёт, удалён элемент справочника) и запустите закрытие снова.
Способ 2. Групповое перепроведение документов вручную
Подходит, когда нужно перепровести не весь месяц, а конкретные виды документов или период внутри месяца. Например, после загрузки банковских выписок задним числом.
- Откройте
Администрирование → Проведение документов. - Выберите «Групповое перепроведение документов ».
- Укажите период: начало — дата границы, конец — текущая дата.
- При необходимости ограничьте список по организации или видам документов.
- Запустите обработку.
После этого обязательно повторите закрытие месяца за затронутые периоды. Групповое перепроведение само по себе не пересчитывает регламентные операции: закрытие счетов затрат, курсовые разницы, расчёт себестоимости.
Перепроведение документов в порядке, отличном от хронологического, даёт неверную себестоимость. Не перепроводите документы выборочно из журнала по одному, если между ними есть зависимость по остаткам.
Сравнение способов
| Способ | Когда применять | Риски |
|---|---|---|
| Закрытие месяца | Стандартная ситуация в БП 3.0 | Долго на больших базах |
| Групповое перепроведение | Нужен период внутри месяца или отдельные виды документов | Легко забыть повторить закрытие месяца |
| Сдвиг границы обработкой | Документы точно проведены верно, а сигнал остался | Можно скрыть реальную ошибку в учёте |
Способ 3. Внешняя обработка: сдвиг границы последовательности
Это радикальный вариант. Он не перепроводит документы, а просто передвигает границу вперёд. Применяйте его, только если уверены, что движения документов правильные. Например, вы уже перепровели всё на копии, сверили ОСВ, а сигнал в рабочей базе остался из-за сбоя.
Для работы нужен Конфигуратор или право открывать внешние обработки. Платформа даёт менеджеру последовательности методы ПолучитьГраницу() и УстановитьГраницу(). Минимальный код обработки выглядит так:
&НаСервере
Процедура СдвинутьГраницуНаСервере(ИмяПоследовательности, НовыйМомент)
Менеджер = Последовательности[ИмяПоследовательности];
ТекущаяГраница = Менеджер.ПолучитьГраницу();
Сообщить("Граница была: " + ТекущаяГраница);
Менеджер.УстановитьГраницу(НовыйМомент);
Сообщить("Граница установлена: " + Менеджер.ПолучитьГраницу());
КонецПроцедуры
Имя последовательности посмотрите в дереве конфигурации, в ветке «Последовательности». Новый момент — МоментВремени последнего правильно проведённого документа. Если у последовательности есть измерения (например, организация), границы хранятся отдельно для каждого значения, и в метод нужно передать отбор.
Не скачивайте «универсальные обработки очистки последовательности» с форумов и не запускайте их в рабочей базе без проверки кода. Обработка с полными правами может сделать с данными что угодно.
Сдвиг границы не исправляет учёт. Если себестоимость посчитана по старым ценам, после сдвига она так и останется неверной — просто программа перестанет об этом предупреждать.
Как проверить результат и не допустить повторного нарушения
После перепроведения сравните цифры «до» и «после». Это главный контроль: вы должны понимать, что изменилось и почему.
Что проверить:
- 📊 Оборотно-сальдовую ведомость за тот же период. Расхождения ожидаемы по счетам 41, 43, 90, 20, 26 — там, где считается себестоимость.
- 🧾 Закрытие месяца: все пункты зелёные, «Перепроведение документов» исчез.
- 📑 Экспресс-проверку ведения учёта в
Отчёты → Анализ учёта, если она есть в вашей редакции. - 💰 Отчётность: если суммы по НДС или прибыли в сданных периодах изменились, решите вопрос с уточнёнными декларациями.
Самая действенная мера — дата запрета изменения данных. Она настраивается в Администрирование → Пользователи и права (флажок «Даты запрета изменения»). Ставьте её на последний день сданного квартала, и задним числом никто ничего не сломает.
Вторая мера — порядок работы. Если склад вносит накладные через неделю после продажи, граница будет сдвигаться каждый месяц. Договоритесь о сроках ввода первички до закрытия.
Если не помогло
Бывает, что пункт перепроведения остаётся, хотя всё перепровели. Что делать по шагам:
- Убедитесь, что в базе нет других пользователей. Список активных пользователей открывается из раздела «Администрирование»; в клиент-серверной базе сеансы видно и в консоли кластера.
- Выполните тестирование и исправление базы в Конфигураторе (
Администрирование → Тестирование и исправление) с пересчётом итогов. ⚠️ Для этого нужен монопольный доступ: все пользователи должны выйти, работу планируйте на вечер или выходной. - Обновите конфигурацию до актуального релиза. В старых релизах встречались ошибки, при которых граница не сдвигалась.
- Если граница застревает на одном документе, откройте его, отмените проведение и проведите заново. Затем повторите закрытие.
Только после этого, проверив цифры, можно сдвигать границу обработкой из способа 3.