Почему долго выполняется отложенное проведение документов в файловой базе 1С и как это исправить?

Системный администратор 1С v8.3 (Обычные формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

В процессе ночного обмена данными или стандартного перепроведения документов пользователи файловых баз «1С:Предприятие» нередко сталкиваются с ситуацией, когда обработка относительно небольшого пакета документов (300–500 штук) затягивается на 12 и более часов. В результате штатные процедуры закрытия базы не успевают завершиться до начала рабочего дня, а пользователи при входе обнаруживают заблокированные объекты и зависшие сеансы.

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

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

Выясним, почему файловая база данных (файл с расширением .1CD) начинает крайне медленно выполнять операции записи и проведения:

  1. Разрушение или рассинхронизация индексов и итогов регистров. Это наиболее частая причина в файловом режиме. При сбоях завершения сеансов, сетевых лагах или некорректном завершении работы системы индексы таблиц разрушаются. Платформа теряет возможность быстро находить нужные записи и начинает выполнять полное сканирование таблиц при каждом проведении.
  2. Ограничения файлового режима и блокировка таблиц. В отличие от клиент-серверного варианта (SQL), файловый режим блокирует таблицы целиком при любой операции записи. Если один документ проводит записи в регистр, другие процессы ждут освобождения всей таблицы.
  3. Смещение границы расчета итогов. Если граница расчета итогов регистров накопления или бухгалтерии отстает от даты проводимых документов, система вынуждена рассчитывать остатки и обороты «на лету» по всем историческим записям за несколько лет.
  4. Высокая фрагментация диска и ограничения дисковой подсистемы. При объеме базы 7 ГБ и более медленный жесткий диск или проблемы с RAID-массивом создают большую очередь к диску, увеличивая время отклика.
  5. Влияние антивирусного ПО. Сканирование файла 1Cv8.1CD и временных файлов обмена в реальном времени при каждой транзакции существенно замедляет фоновые процессы.

Шаг 1. Создание резервной копии и исправление индексов

Первым и самым главным шагом при решении проблемы является обслуживание базы данных через механизм «Тестирование и исправление». Рассмотрим порядок действий:

  1. Убедимся, что все пользователи завершили работу с базой данных, и выгрузим информационную базу через меню «Администрирование» -> «Выгрузить информационную базу» (файл .dt) или сделаем копию файла 1Cv8.1CD.
  2. Запустим программу в режиме «Конфигуратор».
  3. Откроем пункт меню «Администрирование» -> «Тестирование и исправление...».
  4. Отметим флагами следующие ключевые опции:
    • Реиндексация таблиц информационной базы — полностью перестраивает индексы для всех таблиц, что исправляет проблему медленного поиска записей;
    • Пересчет итогов — заново рассчитывает агрегированные итоги по всем регистрам накопления и бухгалтерии;
    • Сжатие таблиц информационной базы — освобождает неиспользуемое пространство внутри файла .1CD;
    • Проверка логической целостности информационной базы.
  5. Нажмем кнопку «Выполнить» и дожмем завершения процесса. На информационных базах большого объема операция может занять длительное время, поэтому ее рекомендуется запускать во внерабочие часы.

Шаг 2. Проверка базы утилитой chdbfl.exe

Если штатное тестирование не дает результата или завершается с ошибкой, выполним низкоуровневую физическую проверку файла базы данных:

  1. Полностью закроем все сеансы работы с 1С.
  2. Перейдем в каталог установленной платформы (например, C:\Program Files\1cv8\8.3.X.X\bin\).
  3. Запустим утилиту chdbfl.exe.
  4. Укажем путь к файлу базы данных 1Cv8.1CD.
  5. Установим флаг «Исправлять обнаруженные ошибки» и нажмем кнопку «Выполнить».

Шаг 3. Оптимизация и актуализация границы итогов

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

  1. В режиме «1С:Предприятие» откроем обработку управления итогами (через меню Все функции / Функции для специалиста -> Стандартные -> Управление итогами).
  2. Проверим период, по который рассчитаны итоги регистров накопления и бухгалтерии.
  3. Установим период расчета итогов на текущий или следующий месяц и выполним команду «Установить режим расчета итогов».

Шаг 4. Настройка окружения и оптимизация обмена

Для предотвращения повторного замедления проведем оптимизацию работы операционной системы и параметров программы:

  1. Настройка антивируса. Добавим в исключения антивирусной программы каталог с информационной базой, сам файл 1Cv8.1CD, а также исполняемые файлы платформы 1cv8.exe и 1cv8c.exe.
  2. Исключение работы через общую сетевую папку (SMB). Если база лежит на сетевом ресурсе и пользователи работают с ней напрямую по сети, операции проведения будут критически медленными из-за сетевых блокировок. Рекомендуется выполнять ночные обмены и отложенное проведение непосредственно на сервере/компьютере, где физически расположен файл базы данных (локально или через RDP-сеанс).
  3. Публикация на веб-сервере. Альтернативный вариант без перехода на клиент-серверный режим — публикация файловой базы на веб-сервере (IIS или Apache). В этом случае все физические транзакции с файлом 1CD выполняются локально веб-сервером, что снижает сетевые задержки.
  4. Настройка размера порций при обмене. В настройках узла обмена данными уменьшим размер пакета документов (например, до 50–100 документов в одном пакете). Это позволит чаще снимать блокировки с таблиц базы данных и ускорит обработку.
  5. Свертка информационной базы. Если размер файловой базы превышает 7–8 ГБ, а история ведется за много лет, целесообразно выполнить процедуру свертки базы данных на начало текущего или прошлого года (например, срезать данные за старые периоды), сформировав ввод остатков по всем счетам через Оборотно-сальдовую ведомость.

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

← На главную