Часто при выполнении свертки информационной базы 1С процесс прерывается из-за критических ошибок: нехватки места на диске, превышения лимитов транзакционного лога, блокировок или ошибок данных в регистрах. Когда это происходит, типовая обработка 1С запоминает текущее состояние и при попытке повторного открытия блокирует интерфейс, требуя восстановления базы из резервной копии. Это создает серьезные неудобства, особенно если в рабочей базе за время, прошедшее после попытки свертки, накопились новые данные.
Рассмотрим, как «обмануть» систему и получить доступ к повторному запуску процедуры свертки без полного отката базы к архивному состоянию.
При запуске свертки 1С сохраняет свои промежуточные параметры в специальной Константе конфигурации. В типовых решениях она часто называется ПараметрыСверткиИБ. Когда процесс завершается некорректно, значение этой константы остается заполненным. При следующем входе в обработку платформа считывает это значение, видит флаг «незавершенной операции» и переводит пользователя в защитный режим, блокируя выполнение любых действий, чтобы предотвратить повреждение данных.
Чтобы разблокировать доступ, нам необходимо принудительно очистить значение этой константы. Это можно сделать через консоль кода или создав внешнюю обработку.
Разберем способ с созданием внешней обработки по шагам:
// Очищаем параметры свертки для возможности повторного запуска
Константы.ПараметрыСверткиИБ.Установить(Неопределено);
// Дополнительно можно закрыть форму, если она была открыта
// Закрыть();
После выполнения этого кода константа ПараметрыСверткиИБ сбросится в значение Неопределено. Теперь система будет воспринимать открытие обработки как самый первый запуск, и доступ к функционалу будет восстановлен.
Важно понимать: сброс константы — это лишь технический обходной путь. Если вы просто очистите состояние, но не устраните причину, приведшую к сбою, свертка снова остановится в той же самой точке.
Рассмотрим основные причины повторных ошибок:
tempdb и лог транзакций SQL-сервера. Убедитесь, что на диске достаточно места для роста файлов базы данных.Тестирование и исправление информационной базы с установленными флагами проверки ссылочной целостности и пересчета итогов.Чтобы избежать «первоклассной камасутры» с восстановлением данных, рекомендуем придерживаться следующей тактики при работе с крупными базами:
ПланыОбмена или РИБ.Обработку свертки, сохраните ее как внешнюю. Это позволит вам гибко настраивать параметры создания документов ввода остатков (например, создавать их непроведенными или с определенными комментариями), что упростит последующий анализ результатов.Помните: техническая разблокировка — это лишь первый шаг. Внимательно проанализируйте технологический журнал (события EXCP и DBMSSQL), чтобы найти реальную причину сбоя, и только после устранения этой причины запускайте процесс повторно.