При работе с файловыми информационными базами 1С:Предприятие 8.3 конфигурации 1С:Управление торговлей в терминальном режиме (RDP) пользователи нередко сталкиваются с ситуацией, когда открытие стандартного журнала документов занимает от 30 до 60 секунд даже при небольшом объеме базы и низкой загрузке процессора. Разберем по шагам причины такого поведения платформы и рассмотрим комплексный алгоритм диагностики и оптимизации системы.
Прежде чем менять системные параметры, необходимо выяснить точное место возникновения задержки в коде конфигурации. Для этого подключим отладчик и выполним замер времени выполнения процедур формы:
Проанализируем полученную таблицу замеров. Обратим особое внимание на события формы ПриСозданииНаСервере, ПриОткрытии, а также на обработчик динамического списка ПриПолученииДанныхНаСервере. Если задержка происходит в вызовах общих модулей подсистемы БСП (например, при проверке прав, функциональных опций или актуализации реестров), мы сможем локализовать проблемную процедуру.
В типовых решениях УТ журнал документов продаж формируется на основе динамического списка с произвольным запросом к служебному регистру сведений РегистрСведений.РеестрДокументов. Типовой текст запроса выглядит следующим образом:
ВЫБРАТЬ
РеестрДокументов.Ссылка КАК Ссылка,
РеестрДокументов.НомерДокументаИБ КАК Номер,
РеестрДокументов.ДатаДокументаИБ КАК Дата,
РеестрДокументов.Статус КАК Статус,
РеестрДокументов.Проведен КАК Проведен,
РеестрДокументов.ПометкаУдаления КАК ПометкаУдаления,
РеестрДокументов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
РеестрДокументов.Партнер КАК Партнер,
РеестрДокументов.Контрагент КАК Контрагент,
РеестрДокументов.Организация КАК Организация,
РеестрДокументов.Подразделение КАК Подразделение,
РеестрДокументов.МестоХранения КАК Склад,
РеестрДокументов.Валюта КАК Валюта,
РеестрДокументов.Сумма КАК СуммаДокумента,
РеестрДокументов.Ответственный КАК Менеджер,
РеестрДокументов.Комментарий КАК Комментарий,
РеестрДокументов.НомерПервичногоДокумента КАК НомерВходящегоДокумента,
РеестрДокументов.ДатаПервичногоДокумента КАК ДатаВходящегоДокумента,
РеестрДокументов.Дополнительно КАК Дополнительно,
СостоянияЭД.СостояниеВерсииЭД КАК СостояниеВерсииЭД,
ВЫБОР
КОГДА ДокументыСОшибкамиПроверкиКонтрагентов.Документ ЕСТЬ NULL
ТОГДА ЛОЖЬ
ИНАЧЕ ИСТИНА
КОНЕЦ КАК ЕстьОшибкиПроверкиКонтрагентов,
ТИПЗНАЧЕНИЯ(РеестрДокументов.Ссылка) КАК ТипЗначения
ИЗ
РегистрСведений.РеестрДокументов КАК РеестрДокументов
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияЭД КАК СостоянияЭД
ПО (СостоянияЭД.СсылкаНаОбъект = РеестрДокументов.Ссылка)}
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыСОшибкамиПроверкиКонтрагентов КАК ДокументыСОшибкамиПроверкиКонтрагентов
ПО (РеестрДокументов.Ссылка = ДокументыСОшибкамиПроверкиКонтрагентов.Документ)
И (&ИспользованиеПроверкиВозможно)}
Для ускорения чтения данных динамическим списком проверим следующие параметры:
ДинамическоеСчитываниеДанных установлен в значение Истина. В противном случае платформа будет пытаться считать всю выборку таблицы целиком при первом открытии.В файловом режиме любые фоновые операции разделяют единый файл базы 1Cv8.1CD, накладывая табличные блокировки на запись и чтение:
1Cv8.lgd) создает дополнительную дисковую нагрузку. Выполним сокращение журнала через меню Администрирование → Настройка журнала регистрации.Характерный признак зависания формы ровно на 30–60 секунд в RDP-сессии — опрос очереди подсистемы печати Windows при инициализации табличного документа или командной панели формы. Если перенаправленный из клиентской машины принтер недоступен или сетевой порт не отвечает, вызов зависает на время системного сетевого таймаута.
Для устранения этой проблемы выполним следующие действия:
Файловый движок 1С крайне чувствителен к однопоточной производительности процессора и задержкам дисковой подсистемы. Выполним оптимизацию окружения:
resmon.exe, перейдем на вкладку Диск и проанализируем длину очереди диска и процент активного времени во время открытия журнала. Для файловой базы критически важно расположение на быстром SSD-накопителе.1cv8.exe, 1cv8c.exe в список исключений сканирования в реальном времени.chdbfl.exe (из каталога bin платформы 1С) и запустим процедуру Тестирование и исправление информационной базы в конфигураторе с переиндексацией таблиц.Для кардинального ускорения файловой базы при одновременной работе нескольких пользователей по сети или RDP рекомендуется опубликовать базу на локальном веб-сервере (Internet Information Services (IIS) или Apache). Подключение тонкого клиента по протоколу HTTP/HTTPS разделяет серверную и клиентскую логику, изолирует кэширование метаданных в пуле веб-сервера и минимизирует блокировки файлов базы данных.