Штатная свертка информационной базы в конфигурации 1С:Бухгалтерия 8 — ресурсоемкая операция, сопровождающаяся массовым анализом регистров, расчетом остатков, созданием корректирующих документов и пометой на удаление старых первичных документов. Нередко пользователи сталкиваются с ситуацией, когда процесс длится много часов, интерфейс перестает отвечать, операционная система сообщает, что программа «не отвечает», либо процесс завершается аварийным сбоем. Разберем по шагам причины такого поведения платформы и детальные способы решения проблемы.
Проанализируем технические факторы, которые приводят к бесконечному ожиданию или вылету программы при выполнении свертки:
1Cv8.1CD накладывает лимит в 4 ГБ на каждую отдельную таблицу или ее индекс. Во время масштабной перезаписи итогов временные индексы могут достичь этого лимита.Перед повторным запуском свертки обязательно выполним серию предварительных процедур в резервной копии базы данных:
Администрирование — Тестирование и исправление.... Включим проверки логической и ссылочной целостности, а также переиндексацию таблиц и пересчет итогов. При обнаружении ошибок ссылок система заменит их или очистит, что исключит зависания на поврежденных объектах.Администрирование — Общие настройки — История изменений. Очистим накопленные версии документов и временно снимем флаг записи версий.Администрирование — Настройки пользователей и прав — Даты запрета изменения данных полностью отключим контроль дат, чтобы регламентные документы ввода остатков могли беспрепятственно проводить записи задним числом.
/DisableStartupMessages /AllowExecuteScheduledJobs -Force
%TEMP%) в исключения антивирусного сканера, чтобы предотвратить деградацию производительности диска.Если документов накоплено много за несколько лет, попытка свернуть всю глубину учета за один проход практически гарантированно приведет к зависанию из-за переполнения транзакций. Разберем правильный циклический подход к поэтапной свертке:
Оборотно-сальдовая ведомость (включая забалансовые счета) на текущую дату и сохраним результат для последующей сверки.Ввод начальных остатков. На этапе настройки установим минимальный размер порции записи транзакций для снижения нагрузки.Оборотно-сальдовая ведомость и убедимся, что сальдо на текущую дату полностью совпадает с исходным замером.Когда внешне кажется, что программа намертво зависла, выясним, в каком именно месте кода выполняется обработка:
Отладка — Подключение....Отладка — Остановка по ошибке и включим флаг Останавливаться по ошибке.Отладка — Остановить (или комбинацию клавиш Shift + F5). Платформа остановит выполнение на текущей строке кода модуля. Это покажет, зациклился ли процесс на конкретном запросе или же идет штатная, но медленная обработка крупной таблицы.Если файловая база данных продолжает аварийно завершаться на этапе записи остатков, снимем ограничения 32-разрядной архитектуры:
1cv8.exe. Это устранит нехватку виртуальной памяти при формировании сложных таблиц значений..dt и загрузим ее в СУБД (PostgreSQL или MS SQL Server). В среде SQL блокировки таблиц обрабатываются оптимизированно, а дисковые лимиты файловых таблиц .1CD отсутствуют. После успешного проведения свертки базу можно выгрузить обратно в файловый режим.Если типовая свертка сильно поврежденной или чрезмерно объемной базы не дает стабильного результата, применим альтернативную практику:
ВыгрузкаЗагрузкаДанныхXML перенесем нормативно-справочную информацию (справочники Контрагенты, Номенклатура, Организации, ДоговорыКонтрагентов).Ввод начальных остатков на основании итоговой ОСВ.