Периодические зависания платформы 1С:Предприятие 7.7 при построении оборотно-сальдовой ведомости, аналитических отчетов или регламентированной отчетности с двухмерным штрихкодом — распространенная проблема. Процесс может зависать «намертво» на разных версиях операционных систем (Windows XP, 7, 8, 10, Server), как на файловых, так и на SQL-базах данных. При этом другие конфигурации (например, «Торговля и склад») на тех же рабочих местах могут работать стабильно.
Разберем по шагам ключевые причины такого поведения и подробно рассмотрим все способы локализации и устранения проблемы.
Проанализируем специфику работы конфигурации «Бухгалтерский учет 7.7». При каждом открытии списка регламентированных отчетов платформа записывает информацию о списке внешних форм в индивидуальный конфигурационный файл пользователя 1cv7.cfg. Если в информационной базе накоплена отчетность за несколько лет, размер этого файла стремительно увеличивается и может достигать десятков мегабайт, что приводит к зависанию движка интерфейса при обращении к сохраненным параметрам.
Для устранения этой проблемы выполним следующие действия:
Usrs\<ИмяПользователя>, если они настроены).1cv7.cfg и удалим его либо временно переместим в архивный каталог.*.opt и списков *.lst в каталоге пользователя.1cv7.cfg минимального размера.Журнал регистрации событий платформы 1С 7.7 хранится в текстовом файле 1cv7.mlg в подкаталоге SYSLOG каталога базы данных. При активной работе пользователей и формировании тяжелых отчетов платформа непрерывно обращается к этому файлу. Если размер 1cv7.mlg превышает сотни мегабайт или гигабайт, операции записи блокируют выполнение основного потока программы.
Рассмотрим порядок очистки журнала регистрации:
1cv7s.exe или 1cv7.exe.<КаталогБазы>\SYSLOG\.1cv7.mlg (при необходимости сохраним старый файл в архив).В отличие от оперативного учета в конфигурации «Торговля и склад», стандартные бухгалтерские отчеты строятся на основе таблицы итогов 1SBKTTL. Если дата актуальности итогов сдвинута назад (например, на несколько кварталов или лет) или итоги повреждены, платформа при построении отчета начинает последовательно рассчитывать проводки «на лету» за весь пропущенный период. Это вызывает 100% загрузку процессорного ядра и создает полную иллюзию зависания программы.
Выполним актуализацию итогов:
Табличный движок Moxel.dll в платформе 1С 7.7 при каждом построении отчета инициализирует подсистему Windows GDI и обращается к драйверу принтера, назначенного по умолчанию, для точного расчета координат сетки, высоты строк и границ страниц. Если принтер по умолчанию является сетевым, выключен, долго отвечает по сети или драйвер работает некорректно, программа зависает в ожидании ответа от службы диспетчера печати (Print Spooler).
Для решения проблемы с печатью выполним следующие шаги:
regedit и очистим сохраненные настройки параметров страниц отчетов пользователя по ветке: HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\<ИмяБазы>\V7\<ИмяПользователя>.Формирование листов с двухмерным штрихкодом в регламентированных отчетах опирается на внешнюю библиотеку печати машиночитаемых бланков ФНС, шрифты EanGnivc и COM-компоненты парсера XML. При повреждении этих модулей формирование отчета останавливается без вывода ошибки.
Проверим и восстановим компоненты штрихкодирования:
EanGnivc.ttf в системном каталоге C:\Windows\Fonts.MSXML через командную строку от имени администратора с помощью команды regsvr32 msxml4.dll (или msxml6.dll).Для файловых баз данных критическое значение имеет уровень фрагментации таблиц *.dbf и индексных файлов *.cdx. При высокой фрагментации на жестком диске время выборки данных многократно возрастает.
Выполним обслуживание файловой структуры:
%TEMP% и %TMP% на всех клиентских компьютерах и сервере.*.cdx и временные файлы *.tmp. При следующем входе в программу произойдет полная переиндексация таблиц.Платформа 1С 7.7 разрабатывалась для одноядерных систем. На современных многоядерных процессорах под управлением Windows XP, 7 или 8 при интенсивных вычислениях могут возникать внутренние блокировки потоков. Рекомендуется ограничить процесс платформы одним процессорным ядром.
Запуск программы с привязкой к первому ядру процессора можно автоматизировать с помощью командного файла:
start /affinity 1 1cv7s.exe enterprise /D"C:\Bases\Accounting"
Комплексное применение описанных шагов позволяет полностью устранить зависания 1С 7.7 и восстановить нормальную скорость формирования любых отчетов.