Как настроить работу тонкого клиента 1С на Linux и решить проблемы с оборудованием и офисными файлами

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

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

Особенности работы с файловой системой в Linux

Первое, на что мы должны обратить внимание — это фундаментальное различие в работе с файлами. В отличие от Windows, Linux чувствителен к регистру имен файлов (case-sensitive). Для системы файлы Otchet.xlsx и otchet.xlsx — это два разных объекта. Разберем, как это влияет на разработку и администрирование:

  1. Пути к файлам: При написании кода 1С нельзя использовать обратные слэши. Мы должны использовать только прямой слэш /. Рекомендуется использовать встроенную функцию ПолучитьРазделительПути(), чтобы код оставался кроссплатформенным.
  2. Регистр имен: Если в вашей конфигурации есть жестко прописанные пути к картинкам или внешним обработкам, проверьте, чтобы регистр в коде полностью совпадал с именами файлов на диске.
  3. Права доступа: В Linux права на чтение и запись разграничены гораздо строже. Убедимся, что пользователь, под которым запущен тонкий клиент, имеет права rwx на папку с базой (если она файловая) и на временные каталоги.

Настройка графической подсистемы и шрифтов

Часто пользователи жалуются на "разъехавшиеся" печатные формы или нечитаемые штрихкоды. Проанализируем причину: 1С исторически завязана на шрифты Microsoft. Для корректного отображения форм нам необходимо установить пакет шрифтов. В терминале выполним команду:


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

Также важно обратить внимание на графический протокол. Современные дистрибутивы часто используют Wayland, который может вызывать мерцание окон 1С или проблемы с модальными диалогами. Рассмотрим решение через принудительное использование X11. При входе в систему (на экране логина) выберем сессию "Gnome on Xorg" или "Plasma (X11)". Это обеспечит стабильную отрисовку интерфейса тонкого клиента.

Подключение торгового оборудования (сканеры и ККТ)

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

1. Драйверы NativeAPI: Для Linux мы должны использовать только те драйверы, которые поддерживают NativeAPI. Большинство современных моделей АТОЛ и Штрих-М имеют такие библиотеки (файлы с расширением .so). При установке драйвера в 1С система сама предложит загрузить нужный компонент, если он предусмотрен производителем.

2. Права доступа к портам: Даже если драйвер установлен, 1С может не увидеть сканер, подключенный по USB (эмуляция COM). Это происходит из-за отсутствия прав доступа к устройству /dev/ttyUSB0. Добавим нашего пользователя в соответствующие группы:


sudo usermod -aG dialout $USER
sudo usermod -aG lp $USER

После выполнения этих команд необходимо перезагрузить компьютер, чтобы изменения вступили в силу.

3. Сканеры в разрыве клавиатуры: Если сканер работает как клавиатура, мы можем столкнуться с проблемой переключения раскладки. Если в момент сканирования включен русский язык, цифры могут превратиться в спецсимволы. Мы рекомендуем переводить такие сканеры в режим эмуляции COM-порта, так как в Linux это наиболее стабильный вариант работы с 1С.

Замена MS Office и работа с документами

Посмотрим на ситуацию с офисными пакетами. Прямое управление Excel через Новый COMОбъект("Excel.Application") в Linux невозможно, так как технология COM — это чистое решение Windows. Рассмотрим альтернативные подходы:

Работа в веб-клиенте через браузер

Многие мечтают о работе через браузер. Выясним, насколько это реально. Работа в веб-клиенте под Linux возможна, но имеет свои нюансы:

Для подключения оборудования потребуется установка расширения для браузера и специального локального компонента 1C:Enterprise Extension. Важно помнить, что браузеры Chrome и Firefox в Linux могут блокировать доступ к портам из соображений безопасности. В некоторых случаях придется настраивать политики AppArmor или SELinux, чтобы разрешить компоненту 1С взаимодействовать с USB-устройствами.

Разработка и отладка: Конфигуратор и EDT

Рассмотрим рабочее место программиста. Стандартный Конфигуратор под Linux может вести себя нестабильно, особенно при длительной отладке. Выясним причины и решения:

Зависания при отладке: Часто Конфигуратор "замирает" при попытке просмотреть значение сложной переменной. В таких случаях помогает только принудительное завершение процесса:


ps aux | grep 1cv8
kill -9 [ID процесса]

Переход на EDT: Мы рекомендуем рассмотреть 1C:Enterprise Development Tools (EDT). Поскольку EDT построена на базе Eclipse (нативной для Linux среды), она работает значительно стабильнее классического Конфигуратора. Это позволяет избежать проблем с графическим интерфейсом и предоставляет более современные инструменты разработки.

Итоги и рекомендации

Подъемно ли внедрение Linux-клиентов? Да, вполне. Однако это требует предварительной подготовки:

  1. Проверьте все торговое оборудование на наличие NativeAPI драйверов.
  2. Убедитесь, что в коде конфигурации нет вызовов COMОбъект.
  3. Подготовьте шаблоны настройки прав доступа пользователей к портам USB.
  4. Установите пакеты шрифтов Microsoft для корректной печати.

Проанализировав опыт коллег, можно сделать вывод, что на файловых базах Linux-клиент может показывать прирост производительности до 20-30% по сравнению с Windows, что является весомым аргументом в пользу миграции при ограниченном бюджете на серверное оборудование.

← На главную