При обновлении платформы 1С:Предприятие 8.3 до актуальных релизов (начиная с 8.3.18.1741, 8.3.19.1150, 8.3.20 и выше) системные администраторы часто сталкиваются с критической ошибкой: «Ошибка соединения с рабочим процессом. Ошибка загрузки компоненты moxel». Эта проблема парализует работу пользователей, так как компонента moxel отвечает за формирование и отображение табличных документов, отчетов и печатных форм.
В этой статье мы подробно разберем, почему возникает эта ошибка, проанализируем зависимости графической подсистемы 1С и изучим пошаговые инструкции по исправлению ситуации для различных операционных систем.
Для начала разберем техническую сторону вопроса. Компонента moxel — это ключевой модуль 1С, который занимается рендерингом (отрисовкой) таблиц. В новых версиях платформы разработчики перешли на использование современных библиотек для работы с цветовыми профилями и графикой. Основным требованием стала интеграция с библиотекой Little CMS (lcms2).
Проблема заключается в том, что при установке сервера 1С на операционные системы семейства Linux эта библиотека не всегда подтягивается автоматически как зависимость. Если в системе отсутствует нужная версия библиотеки или она имеет неверную битность, компонента moxel не может инициализироваться, что приводит к обрыву соединения с рабочим процессом 1С.
Если ваш сервер работает под управлением CentOS или AlmaLinux, первым делом необходимо проверить наличие пакета lcms2. Проанализируем типичный сценарий: вы обновили платформу, и базы перестали открываться. Посмотрим, как это исправить через терминал.
Для установки недостающего компонента воспользуемся пакетным менеджером yum или dnf. Выполним следующую команду:
yum install lcms2
В некоторых случаях, особенно на серверах с минимальной установкой ОС, может потребоваться установка графической библиотеки gtk3, так как она содержит необходимые ресурсы для отрисовки элементов интерфейса на стороне сервера. Проанализируем команду установки:
yum install gtk3
После установки библиотек обязательно перезапустим службу сервера 1С:Предприятие, чтобы изменения вступили в силу:
systemctl restart srv1cv8-8.3.20.1710@default (укажите вашу версию платформы).
В дистрибутивах, основанных на Debian, пакет имеет несколько иное название. Рассмотрим порядок действий для системного администратора. В большинстве случаев достаточно установить пакет liblcms2-2. Выполним обновление списков пакетов и установку:
apt-get update
apt-get install liblcms2-2
Важное замечание по архитектуре: если вы используете 32-битный сервер 1С на 64-битной операционной системе Ubuntu или Debian, вам необходимо установить библиотеку соответствующей разрядности. Разберем, как это сделать:
dpkg --add-architecture i386
apt-get update
apt-get install liblcms2-2:i386
Проанализируем ситуацию, когда установка основной библиотеки не помогает. На Debian 11 иногда требуется установка дополнительных пакетов разработки или графических библиотек:
apt-get install liblcms2-dev
apt-get install libgtk-3-0
Рассмотрим интересную ситуацию, описанную многими специалистами: основной рабочий сервер 1С работает под управлением Windows, а сервер лицензирования (или менеджер кластера) вынесен на Linux. Казалось бы, moxel нужен для отчетов, которые формируются на рабочем сервере. Однако ошибка все равно появляется.
Выясним причину: при инициализации сеанса платформа проверяет окружение на всех узлах кластера. Если на узле, отвечающем за раздачу лицензий, не хватает системных библиотек для загрузки базовых модулей 1С (включая moxel), кластер может считать этот узел неисправным или выдавать ошибку загрузки компоненты при попытке обмена данными. Решение: устанавливайте liblcms2 на все узлы кластера без исключения, даже если они не являются рабочими серверами (не несут нагрузку по рабочим процессам).
Помимо основной библиотеки lcms2, для стабильной работы графики (особенно если сервер работает в режиме без графической оболочки — headless) могут потребоваться и другие пакеты. Посмотрим на список наиболее важных зависимостей:
Рекомендуем превентивно установить данные пакеты, если вы сталкиваетесь с ошибками при выгрузке отчетов в PDF или Excel на Linux-сервере.
Хотя ошибка «moxel» чаще встречается в Linux-среде, пользователи Windows также не застрахованы от нее. Разберем основные причины для ОС Windows:
1. Отсутствие Microsoft Visual C++ Redistributable. Для работы современных версий 1С (8.3.19+) требуются пакеты распространяемого кода Visual Studio 2015-2022. Проверим их наличие в разделе «Программы и компоненты». Если они отсутствуют или повреждены, компонента moxel.dll не сможет загрузить свои внутренние зависимости.
2. Права доступа к каталогу bin. Проанализируем права доступа. Служба сервера 1С (обычно запущенная от имени пользователя USR1CV8) должна иметь права на «Чтение и выполнение» в папке установки платформы. Если права ограничены, загрузка DLL-файлов будет заблокирована операционной системой.
3. Повреждение файлов платформы. Если вы удаляли старую версию платформы и ставили новую, файлы могли скопироваться некорректно. В этом случае рекомендуется полная переустановка платформы 1С с очисткой временных папок.
Важно помнить, что после установки системных библиотек ошибка может сохраняться из-за кэширования состояния системы. Разберем алгоритм полной очистки кэша на сервере:
/home/usr1cv8/.1cv8/1C/1cv8 на Linux или %ProgramData%\1C\1cv8 на Windows)./tmp (для Linux) или %TEMP% пользователя службы.Если вы занимаетесь контейнеризацией приложений и разворачиваете 1С в Docker, убедитесь, что ваш Dockerfile содержит инструкции по установке необходимых библиотек. Проанализируем пример фрагмента кода для образа на базе Ubuntu:
RUN apt-get update && apt-get install -y \
liblcms2-2 \
libfontconfig1 \
libfreetype6 \
libgtk-3-0 \
&& rm -rf /var/lib/apt/lists/*
Без этих строк контейнер запустится, но при первой же попытке пользователя сформировать печатную форму или зайти в базу через тонкий клиент, возникнет обсуждаемая ошибка загрузки компоненты moxel.
Подведем итог: решение проблемы в 99% случаев сводится к установке библиотеки lcms2. Помните о необходимости проверять все узлы вашего кластера 1С и следить за актуальностью системных библиотек после каждого обновления платформы.