Почему зависает подбор товаров в УТ 11 на PostgreSQL и как это исправить?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Зависание интерфейса 1С в критически важных узлах, таких как форма подбора товаров, является серьезной проблемой, особенно после миграции или восстановления базы из dt-файла. Разберем по шагам, как диагностировать и устранить подобные ситуации, когда стандартные инструменты ТиИ (Тестирование и исправление) не приносят ожидаемого результата.

Шаг 1: Первичная диагностика целостности базы

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

  1. Выгрузите текущую базу в dt.
  2. Разверните эту базу как файловый вариант 1С.
  3. Запустите утилиту chdbfl.exe (она находится в папке установки платформы 1С) для исправления физической целостности файла базы данных.
  4. После завершения проверки повторно загрузите базу в новую информационную базу на PostgreSQL.

Шаг 2: Анализ окружения и настроек сервера

Часто проблема кроется не в самой 1С, а в несоответствии параметров postgresql.conf или некорректных путях к ресурсам после восстановления. Рассмотрим, на что стоит обратить внимание:

Шаг 3: Глубинная диагностика через Технологический журнал

Если журнал регистрации 1С «молчит», необходимо использовать Технологический журнал для перехвата событий на уровне СУБД. Это позволит увидеть, на каком именно SQL-запросе подвисает сеанс. Для удобного просмотра логов прямо из базы 1С без прямого доступа к серверу можно использовать обработку для чтения файлов технологического журнала.

Настройте logcfg.xml для отслеживания событий DBPOSTGRS. Это даст возможность:

Шаг 4: Оптимизация планов выполнения запросов

PostgreSQL очень чувствителен к актуальности статистики таблиц. После загрузки больших объемов данных из dt, планировщик запросов СУБД может выбрать неэффективный план выполнения. Попробуйте принудительно обновить статистику:

Выполните команду ANALYZE для всех таблиц базы данных. Это поможет оптимизатору PostgreSQL построить актуальные планы выполнения запросов, что критически важно для производительности формы подбора, которая работает с динамическими списками номенклатуры и остатками.

Шаг 5: Проверка полнотекстового поиска

Полнотекстовый поиск часто является «узким горлышком». Если после индексации процесс всё равно зависает, попробуйте временно отключить полнотекстовый поиск в параметрах учета конфигурации. Если зависания прекратятся — значит, проблема была в повреждении индекса поиска или его перестройке, требующей значительных ресурсов системы.

Что делать, если ничего не помогает?

Если после всех манипуляций проблема сохраняется, проанализируйте версию PostgreSQL. Иногда несоответствие версий платформы 1С и конкретного релиза СУБД приводит к некорректной трансляции запросов. Убедитесь, что используемая вами версия СУБД входит в список рекомендуемых для вашей версии платформы 1С.

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

← На главную