Как исправить ошибку «Тип не определен (AddIn.Licence.LicenceExtension20)» при работе с СЛК на сервере Linux?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет Промышленность, строительство и АПК
← На главную

При переходе с файлового варианта работы 1С на клиент-серверный с использованием сервера под управлением Ubuntu часто возникают специфические проблемы с отраслевыми конфигурациями. Одной из самых частых является ошибка AddIn.Licence.LicenceExtension20, которая блокирует работу с защищенным функционалом. Давайте разберем, почему это происходит и как устранить данную неисправность.

Причины возникновения сбоя

Система лицензирования конфигураций СЛК от компании «1С-Рарус» исторически проектировалась с ориентацией на стек технологий Microsoft Windows. При установке сервера 1С:Предприятие на ОС Linux возникают трудности с подгрузкой внешних компонент защиты. Проблема проявляется не всегда: зачастую основной интерфейс программы запускается успешно, но при попытке обратиться к защищенному модулю (например, оформлению поступления сырья или готовой продукции) 1С не может инициализировать объект AddIn.Licence, так как компонент не зарегистрирован в текущей сессии сервера.

Способ решения №1: Изменение порядка запуска служб

Иногда проблема кроется в последовательности старта процессов. Если сервер 1С запускается раньше, чем сервер СЛК, могут возникать конфликты при захвате лицензий или инициализации соединений. Попробуйте выполнить следующие действия:

  1. Полностью остановите службу сервера 1С:Предприятие.
  2. Остановите службу сервера СЛК на машине, где она установлена (даже если это удаленный Windows-сервер).
  3. Запустите службу СЛК и убедитесь, что сервер защиты успешно стартовал и «слушает» соответствующие порты.
  4. Запустите службу сервера 1С:Предприятие.

Этот метод часто помогает, если сервер 1С при старте «не дождался» ответа от защиты и пометил компоненту как недоступную.

Способ решения №2: Перенос серверной части на Windows

Анализ показывает, что наиболее надежным и «беспроблемным» способом работы отраслевых решений, использующих СЛК, является развертывание кластера серверов 1С на платформе Windows. Это обусловлено тем, что компоненты защиты LicenceExtension требуют корректной регистрации в реестре и библиотек зависимостей, которые отсутствуют в стандартных дистрибутивах Linux.

Если вы столкнулись с подобной проблемой на Ubuntu, и способ с перезапуском служб не помог, рассмотрите возможность переноса сервера на ОС Windows (SQL-база при этом может оставаться на Linux/PostgreSQL, если это необходимо). Это позволит избежать «танцев с бубном» при попытке подружить Linux-библиотеки с закрытыми отраслевыми алгоритмами защиты.

Почему ошибка возникает выборочно?

Важно понимать, что отраслевые конфигурации часто устроены следующим образом: основной функционал 1С работает на типовых механизмах, а СЛК «подключается» только при вызове специфических методов расширения. Если 1С не обнаруживает AddIn.Licence.LicenceExtension20 в момент обращения к защищенному документу, она выдает ошибку типизации. Именно поэтому вы можете работать в программе, но при выполнении конкретной операции — забивании поступления — получать сбой.

Диагностика и отладка

Если вы обладаете навыками программирования 1С, вы можете провести диагностику самостоятельно:

  1. Используйте Конфигуратор и попробуйте отследить место вызова компоненты защиты в общем модуле или обработке.
  2. Посмотрите логи СЛК (обычно находятся в каталоге установки службы). В них фиксируются все входящие запросы. Если запрос от сервера 1С не доходит до СЛК, проблема заключается в сетевых настройках или отсутствии инициализации компоненты на стороне сервера.
  3. Проверьте Firewall. Часто пакеты, инициируемые сервером Linux в сторону Windows-машины с СЛК, блокируются правилами безопасности.

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

← На главную