Вопрос перехода разработчика 1С с Windows на Linux долгое время оставался дискуссионным из-за проблем с графическим интерфейсом конфигуратора, отсутствия поддержки привычных COM-объектов и общей нестабильности клиентских приложений. Однако с развитием платформы 1С:Предприятие 8.3 и появлением среды 1C:Enterprise Development Tools (EDT) ситуация в корне изменилась. В рамках данной статьи мы проанализируем текущее состояние разработки под Linux, разберем основные "подводные камни" и выработаем оптимальную стратегию настройки рабочего окружения.
Первое, с чем сталкивается разработчик — это выбор основного инструмента. Рассмотрим подробнее два доступных пути.
1. Классический Конфигуратор. Нативный конфигуратор для Linux существует уже давно, но именно в версиях 8.3.20 и выше он стал пригоден для профессиональной эксплуатации. Основная проблема, на которую жалуются пользователи (залипание мыши, проблемы с фокусом окон), зачастую кроется не в самой платформе, а в графическом сервере. Проанализируем ситуацию: современные дистрибутивы (например, Ubuntu 22.04+) по умолчанию используют Wayland. Конфигуратор 1С до сих пор корректно работает только в среде X11 (X.org). При переключении сессии на X11 большинство графических артефактов исчезает.
2. 1C:Enterprise Development Tools (EDT). Это современная среда разработки на базе Eclipse. На сегодняшний день EDT является основным рекомендуемым инструментом для работы в Linux. Рассмотрим её преимущества: полная интеграция с Git, мощный контекстный поиск и отсутствие проблем с отрисовкой окон, характерных для старого конфигуратора. Однако разберем и требования: для комфортной работы с типовыми конфигурациями (БП, ЗУП) требуется минимум 16 ГБ оперативной памяти, а для тяжелых решений уровня ERP — 32 ГБ и более.
Разберем по шагам, какая конфигурация оборудования необходима для того, чтобы разработка не вызывала дискомфорта:
PostgreSQL на этой же машине, ориентируйтесь на 32 ГБ.Одной из главных преград при переходе на Linux является отсутствие технологии COM/OLE. В Windows мы привыкли использовать COMОбъект("Excel.Application") или интеграции через ActiveX. Выясним причину, почему это не работает: COM — это проприетарная технология Microsoft, которой нет в ядре Linux. Рассмотрим способы обхода этой проблемы:
Вместо COM-соединения между базами 1С следует использовать современные протоколы: HTTP-сервисы или Web-сервисы. Это не только делает систему кроссплатформенной, но и значительно ускоряет обмен данными. Для работы с файлами Excel или Word проанализируем альтернативы:
XLSX (чтение и запись табличных документов).Работа серверной части 1С на связке Ubuntu + PostgreSQL зачастую показывает более высокую производительность, чем на Windows. Однако есть нюансы в администрировании. Например, сеансы пользователей на Linux могут не завершаться автоматически так эффективно, как в Windows-среде. Рассмотрим пример скрипта (псевдокод логики), который можно реализовать для контроля зависших сессий через консоль администратора:
// Пример логики для регламентного задания по очистке спящих сеансов
Сеансы = МенеджерКластера.ПолучитьСеансыИнформационнойБазы(ИмяБазы);
Для Каждого Сеанс Из Сеансы Цикл
Если Сеанс.ВремяПоследнейАктивности < ТекущаяДата() - 3600 Тогда
МенеджерКластера.ЗавершитьСеанс(Сеанс);
КонецЕсли;
КонецЦикла;
Также важно уделить внимание установке шрифтов. Отсутствие стандартных шрифтов Microsoft (Arial, Times New Roman) приводит к "разъезжанию" печатных форм. Обязательно выполним установку пакета ttf-mscorefonts-installer в вашей системе.
Разберем ситуацию, когда разработчику нужно одновременно поддерживать проекты на разных версиях платформы (например, 8.3.14 и 8.3.23). В Windows это решается установкой нескольких версий, но в Linux гораздо элегантнее использовать Docker. Мы можем создать контейнер для каждой версии сервера 1С и СУБД. Это позволяет:
Проанализируем опыт профессионалов, которые уже закрывают задачи под Linux. Рассмотрим основные рекомендации:
VirtualBox или VMware с минимальной установкой Windows. Это позволит работать в основной системе, обращаясь к виртуальной машине только в крайних случаях.Ubuntu (версии LTS), Astra Linux или РЕД ОС. Именно на эти системы ориентируются разработчики платформы при тестировании.Подводя итог, можно уверенно сказать: разработка на Linux "уже можно", если вы готовы к использованию EDT и имеете современное железо. Комфорт работы в этой среде во многом превосходит Windows-опыт за счет стабильности файловой системы, удобства работы с Git и отсутствия фоновых процессов обновлений, замедляющих систему в самый неподходящий момент.