Почему долго открывается период в 1С 7.7 и как это исправить

Программист 1С v7.7 Управленческий учет Торговля и дистрибуция
← На главную

Процедура смены расчетного периода в «1С:Предприятие 7.7» (особенно в конфигурациях «Торговля и склад» или комплексных решениях) в штатном режиме должна занимать от нескольких секунд до 3–5 минут. Если процесс затягивается на часы или полностью блокирует работу базы данных, это свидетельствует о накоплении структурных ошибок в таблицах итогов, наличии незакрытых регистров или сбоях в распределенной информационной базе (УРИБ).

Разберем детально механизм работы механизма итогов в платформе 1С 7.7, выясним причины зависания и рассмотрим пошаговые методы устранения проблемы.

Как устроен расчет итогов и механизм смены периода

В платформе 1С 7.7 для каждого регистра оперативного учета выделяются две ключевые таблицы:

  1. RA*.dbf — таблица движений регистра (содержит детальные записи приходов и расходов по документам-регистраторам).
  2. RG*.dbf — таблица периодических итогов (хранит срезы остатков на начало каждого календарного месяца).

При открытии нового месяца платформа выполняет перенос срезов остатков на новую точку отсчета. Если дата точки актуальности (ТА) переносится вперед через несколько месяцев, 1С последовательно формирует промежуточные итоги за каждый пропущенный месяц. При этом время выполнения операции напрямую зависит от количества незакрытых записей и объема накопленных нулевых остатков в таблицах RG*.dbf.

Диагностика: поиск проблемных и незакрытых регистров

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

Рассмотрим порядок выявления «раздутых» таблиц:

  1. Открываем каталог базы данных в файловом менеджере.
  2. Сортируем файлы по размеру и сравниваем пары файлов RG*.dbf и RA*.dbf с одинаковыми номерами.
  3. В нормальной ситуации таблица движений RA*.dbf значительно больше таблицы итогов RG*.dbf. Если размер файла RG*.dbf превышает RA*.dbf или достигает сотен мегабайт, регистр содержит огромное количество незакрытых «хвостов» (нулевых или зависших остатков).
  4. Сопоставляем номер таблицы с метаданными (через файл словаря данных 1cv7.dd или открыв структуру в специализированных утилитах), чтобы узнать имя проблемного регистра.

Чаще всего в конфигурации «Торговля и склад» переполняются регистры, учет по которым ведется некорректно или был задействован случайно:

  1. ПартииОтданные — возникает при проведении реализаций с видом операции «Комиссия» без последующего ввода отчетов комиссионера. Простая оплата от комиссионера не списывает партии, из-за чего накапливается лавинообразный объем не списанных партий.
  2. КнигаПокупок и КнигаПродаж — записи висят годами, если регламентные документы закрытия НДС не формируются регулярно.
  3. Заявки — не закрытые предварительные заявки покупателей и неподтвержденные заказы.

Способ 1. Устранение некорректных движений и пересчет через Конфигуратор

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

  1. Формируем стандартный отчет по проблемному участку учета (например, «Ведомость по комиссионерам») за весь период существования базы с максимальной детализацией группировок.
  2. Находим исходный документ-регистратор, отменяем его проведение или исправляем хозяйственную операцию.
  3. Завершаем сеансы всех пользователей и запускаем 1С в режиме «Конфигуратор» монопольно.
  4. Открываем меню «Администрирование» — «Тестирование и исправление ИБ».
  5. Отмечаем флажками пункты: «Переиндексация», «Проверка физической целостности», «Пересчет итогов».
  6. Запускаем процесс. Выполнение пересчета итогов через механизм Конфигуратора работает напрямую со структурами базы и завершается значительно быстрее, чем открытие периода в режиме «1С:Предприятие».

Способ 2. Очистка таблиц итогов вручную при сильном повреждении

Если таблицы итогов переполнены мусорными данными, а открытие периода висит бесконечно, можно очистить накопленные агрегаты и пересчитать их с нуля:

  1. Выгружаем всех пользователей из программы и делаем копию базы.
  2. В каталоге информационной базы удаляем все файлы с маской RG*.dbf (таблицы итогов). Файлы RA*.dbf (движения документов) удалять нельзя, так как в них хранится реальная история проводок.
  3. Удаляем все индексные файлы с маской *.cdx.
  4. Запускаем «Конфигуратор» в монопольном режиме. Программа автоматически выполнит переиндексацию базы данных.
  5. Заходим в меню «Администрирование» — «Тестирование и исправление ИБ» и запускаем операцию «Пересчет итогов». Платформа заново сгенерирует файлы RG*.dbf только с актуальными данными на основе имеющихся движений.

Способ 3. Пересоздание периферийной базы в распределенной структуре (УРИБ)

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

  1. Выполняем сеанс обмена: выгружаем все накопившиеся изменения из периферийной базы и успешно загружаем их в центральную базу.
  2. Убеждаемся, что в центральном узле все данные приняты и актуальны.
  3. В центральной базе в Конфигураторе через механизм «Управление распределенными ИБ» формируем новую первичную выгрузку для данного периферийного узла.
  4. Разворачиваем новую чистую периферийную базу из созданного файла выгрузки.
  5. Устанавливаем соответствующий префикс информационной базы для сохранения правильной нумерации новых документов.

Технические рекомендации по ускорению работы с файловой базой

Для предотвращения медленной работы при открытии периода обратим внимание на аппаратные и программные настройки окружения:

  1. Исключения антивируса: В настройки сканирования антивирусного ПО на сервере необходимо добавить каталог с базой данных, а также маски файлов *.dbf, *.cdx, *.1sd, *.tmp. Антивирусная проверка каждого блока при перезаписи сотен мегабайт таблиц итогов замедляет процесс в 5–10 раз.
  2. Каталог временных файлов: Убеждаемся, что переменная среды %TEMP% указывает на быстрый локальный SSD-накопитель и на диске достаточно свободного места для сортировки временных таблиц.
  3. Сжатие таблиц (Pack DBF): При интенсивной работе в DBF накапливаются записи, помеченные на удаление, которые продолжают считываться при расчете итогов. Регулярная упаковка таблиц и переиндексация сокращают физический размер файлов и повышают скорость операций.
← На главную