При переводе инфраструктуры 1С:Предприятие на операционные системы семейства Linux часто возникает задача организовать удаленную работу пользователей. Если база построена на базе конфигурации с обычными формами (например, «Управление торговлей 10.3»), администраторы сталкиваются с рядом жестких технологических ограничений: невозможностью запустить веб-клиент, отсутствием клиентской части в старых версиях платформы и ошибками при обращении к Windows-специфичным технологиям. Разберем по шагам, как правильно развернуть терминальный доступ на сервере Linux, перевести конфигурацию на актуальную платформу и обойти системные ошибки, связанные с COM-компонентами.
Выясним причину, почему классическая связка из «1С:Предприятие 8.2» и «Управление торговлей 10.3» не позволяет напрямую подключить удаленных пользователей через веб-браузер или терминальный доступ на Linux:
ragent). Клиентского приложения (толстого или тонкого клиента) под операционные системы Linux для платформы 8.2 не существует. Запуск клиента 8.2 на Linux возможен только через слой совместимости Wine, что на практике приводит к низкой стабильности, сбоям интерфейса и сложностям с печатью.Единственным штатным выходом является переход на платформу 1С:Предприятие 8.3. Платформа 8.3 содержит полноценный нативный толстый клиент под Linux и сохраняет обратную совместимость с конфигурациями на обычных формах в режиме совместимости «Версия 8.2.13» или «Версия 8.2.16».
Рассмотрим порядок организации терминальной среды на примере дистрибутива CentOS:
xrdp открывает стандартный порт 3389 и позволяет подключаться к Linux-серверу с любых рабочих станций через встроенный системный клиент Windows (RDP / mstsc.exe).1c-enterprise83-client. После корректной установки бинарный файл клиента становится доступен по пути /opt/1C/v8.3/x86_64/1cv8 или /opt/1C/v8.3/i386/1cv8.Для оптимизации удаленного подключения можно использовать альтернативные решения, например, протокол X2Go. Он обеспечивает более высокую отзывчивость графики на нестабильных каналах связи и поддерживает публикацию отдельных окон (режим Single Application), скрывая рабочий стол Linux от конечного пользователя.
После развертывания толстого клиента 1С на терминальном сервере Linux в конфигурациях на обычных формах при запуске базы часто возникает системное предупреждение: «COM-объекты поддерживаются только в операционных системах Windows».
Проанализируем техническую причину: технология COM (Component Object Model) является проприетарным механизмом Microsoft Windows. В среде Linux она отсутствует на системном уровне. В типовой конфигурации «Управление торговлей 10.3» COM-вызовы встроены во множество стандартных модулей:
V8x.COMConnector и прямого запуска V8x.Application в обработках обмена между конфигурациями («Обмен данными XML»).COMОбъект("Excel.Application") или COMОбъект("Word.Application").WScript.Shell, VBScript.RegExp и службе WbemScripting.SWbemLocator (WMI) для опроса сетевого окружения и системных параметров.Чем чревато игнорирование ошибки? Если просто заблокировать вывод ошибки блоком Попытка ... Исключение, конфигурация запустится, но любой бизнес-процесс, использующий данные участки кода (печать чека, импорт накладной из файла Excel, синхронизация с «1С:Бухгалтерией»), будет падать с аварийной ошибкой выполнения или приводить к незаметной потере передаваемых данных.
Разберем конкретные способы переработки участков конфигурации для бесперебойной работы в среде Linux:
ТабличныйДокумент:
ТабДок = Новый ТабличныйДокумент;
Попытка
ТабДок.Прочитать(ПутьКФайлу);
Исключение
Сообщить("Не удалось прочитать файл таблицы: " + ОписаниеОшибки());
КонецПопытки;
Прочитать() корректно разбирает форматы XLS, XLSX и ODT без наличия установленного офисного пакета и COM-компонент..so).HTTPСоединение.Для завершения настройки терминального сервера проверим следующие компоненты операционной системы:
msttcore-fonts или liberation-fonts) печатные формы накладных, счетов и актов будут деформироваться, текст начнет наползать на соседние ячейки, а штрихкоды перестанут считываться сканерами.webkitgtk актуальной версии.setxkbmap), чтобы исключить «залипание» функциональных клавиш при быстром вводе данных.Таким образом, организовать терминальный доступ для конфигурации «Управление торговлей 10.3» на Linux возможно только путем переноса информационной базы на платформу «1С:Предприятие 8.3» с установкой нативного толстого клиента и заменой Windows-зависимых COM-механизмов на платформенные аналоги.