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

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

При работе с платформой 1С:Предприятие 8.3 в среде Linux, особенно на отечественных дистрибутивах вроде Astra Linux, разработчики и системные администраторы часто сталкиваются с неприятным визуальным багом. Суть проблемы заключается в том, что при попытке открыть форму (например, форму списка справочника или документа) вместо полноценного интерфейса пользователь видит лишь узкую полоску — обрезанный заголовок формы без какого-либо содержимого. При этом в конфигураторе форма выглядит корректно, а на ОС Windows та же база работает без нареканий.

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

Выясняем причину: системный баг или ошибка кода?

Первым делом нам необходимо исключить вероятность программной ошибки в самой конфигурации. Если форма списка не показывает данные, это может быть вызвано установленными функциональными опциями или ошибками в запросе динамического списка. Однако, если под другой операционной системой (например, Windows) форма открывается нормально, мы имеем дело с платформенной ошибкой отрисовки, специфичной для Linux-клиента.

Рассмотрим подробнее основные факторы, которые приводят к «схлопыванию» форм в Astra Linux:

  1. Конфликты с аппаратным ускорением видеокарты через OpenGL.
  2. Отсутствие необходимых библиотек рендеринга WebKit.
  3. Некорректное масштабирование интерфейса при высоком DPI.
  4. Специфические настройки оконного менеджера Fly.
  5. Отсутствие стандартных шрифтов Microsoft, по которым 1С рассчитывает геометрию окон.

Решение 1: Настройка графической подсистемы и отключение аппаратного ускорения

Одной из наиболее частых причин пустых форм является конфликт платформы с драйверами видеокарты. Платформа 1С пытается использовать аппаратное ускорение для отрисовки управляемых форм, что в некоторых реализациях OpenGL на Linux приводит к критическим ошибкам визуализации.

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


export LIBGL_ALWAYS_SOFTWARE=1
/opt/1cv8/common/1cestart

Если после этого формы начали отображаться корректно, значит, проблема в драйверах видеокарты или реализации аппаратного ускорения в текущей версии ядра. В этом случае стоит добавить данную переменную в скрипт запуска 1С или в настройки профиля пользователя .bashrc.

Решение 2: Проверка зависимостей WebKit

Платформа 1С активно использует движок WebKit для отрисовки элементов интерфейса, особенно динамических списков и полей HTML-документа. Если в системе установлена неподходящая версия библиотек или они отсутствуют, контейнер формы просто не сможет инициализироваться.

Разберем, какие пакеты должны быть установлены в Astra Linux для стабильной работы. Нам необходимо убедиться в наличии следующих библиотек:

Для проверки и установки воспользуемся менеджером пакетов apt. Проанализируем состояние системы командой:


sudo apt-get update
sudo apt-get install libwebkit2gtk-4.0-37

Также важно убедиться, что установлены пакеты libcanberra-gtk-module и libcanberra-gtk3-module, отсутствие которых иногда мешает корректному выводу графических элементов в GTK-приложениях.

Решение 3: Масштабирование и настройки DPI

В Linux-версиях 1С часто возникают ошибки, если в настройках рабочего стола установлено масштабирование экрана (например, 125% или 150%). Платформа может некорректно рассчитать геометрию окна, из-за чего содержимое «схлопывается», оставляя только заголовок.

Посмотрим на алгоритм действий для исправления этой ситуации:

  1. Установим системный масштаб в 100%.
  2. Если используется монитор с высоким разрешением, попробуем запустить 1С с параметром игнорирования системного DPI.
  3. В настройках рабочего стола Fly (Astra Linux) проверим параметры шрифтов. Несоответствие DPI шрифтов и DPI экрана часто сбивает расчет высоты строк в ДинамическийСписок.

Решение 4: Установка шрифтов MS Core Fonts

Хотя это кажется незначительным, 1С жестко привязана к метрикам шрифтов семейства Microsoft (Arial, Verdana, Times New Roman). Если в Linux они отсутствуют, система подставляет альтернативные шрифты (например, Liberation Sans), метрики которых отличаются. Это приводит к тому, что контейнеры элементов формы рассчитываются с нулевой высотой.

Рассмотрим, как установить необходимые шрифты в Astra Linux:


sudo apt-get install ttf-mscorefonts-installer
sudo fc-cache -f -v

После установки обязательно обновим кэш шрифтов и перезапустим сеанс 1С.

Решение 5: Глубокая очистка конфигурационного кэша

Если проблема «работала, а потом перестала» сохраняется, возможно, в локальном кэше скопились некорректные данные о состоянии окон (сохраненные настройки положения и размеров). В Linux кэш хранится не так, как в Windows.

Выясним расположение кэша и выполним очистку. Основные данные находятся по пути ~/.1cv8. Мы рекомендуем не просто удалять временные файлы через параметры запуска, а полностью очистить папку конкретной информационной базы:

  1. Закроем все процессы 1С.
  2. Перейдем в каталог ~/.1cv8/1C/1cv8/.
  3. Найдем папку с уникальным идентификатором вашей базы и удалим её содержимое (или переименуем для теста).

Решение 6: Особенности оконного менеджера Fly

Оболочка Astra Linux (Fly) имеет свои специфические механизмы управления окнами. Иногда формы 1С конфликтуют с функцией «Группировка окон» или правилами размещения модальных окон.

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

Заключение

Проблема «обрезанных» форм в 1С на Linux — это комплексный вопрос, который редко решается правкой кода в конфигураторе. Как мы выяснили, чаще всего причина кроется в системных библиотеках WebKit, настройках OpenGL или отсутствии шрифтов CoreFonts. Рекомендуется последовательно проверять каждый из предложенных методов, начиная с отключения аппаратного ускорения, так как это дает положительный результат в 80% случаев при работе на Astra Linux.

← На главную