При работе с внешними системами документооборота, такими как Saby (СБИС), пользователи часто сталкиваются с парадоксальной ситуацией: основное приложение 1С запускается без проблем, но при попытке выгрузить документы через плагин (поможет модуль выгрузки документов в XML-формат для СБИС) возникает ошибка: «Лицензия в вашей системе не позволяет установить еще один сеанс. Расширьте лицензию или закройте сеансы. Не обнаружено свободной лицензии 1С». В этой статье мы подробно разберем, почему возникает эта коллизия и как правильно настроить систему, чтобы избежать лишних затрат на покупку дополнительных лицензий.
Рассмотрим стандартную ситуацию. У бухгалтера на компьютере установлена локальная программная однопользовательская лицензия. Платформа 1С при запуске находит этот ключ и позволяет открывать произвольное количество баз в рамках одного рабочего места. Однако, если база данных опубликована на веб-сервере (Apache или IIS), и плагин Saby использует тип подключения Fresh, механизм поиска лицензии кардинально меняется.
Разберем по шагам, что происходит в момент обращения плагина к базе:
Таким образом, даже если у вас есть свободная локальная лицензия, плагин Saby через веб-сервер ее использовать не сможет. Ему нужен свободный «слот» в серверном пуле.
Если вы приобрели комплект лицензий (например, на 5 рабочих мест), у вас обычно есть два набора пин-кодов: для однопользовательской и многопользовательской активации. Проанализируем, как ими распорядиться наиболее эффективно в нашей ситуации.
Рассмотрим рекомендуемую схему распределения:
Важное замечание: если вы активируете лицензию на сервере в многопользовательском режиме, 1С начнет строго считать сеансы. В этом случае, если бухгалтер открыл базу через Тонкий клиент и одновременно запустил синхронизацию через Saby Fresh, будут израсходованы две лицензии из общего пула. Поэтому активация локальных ключей на клиентских ПК часто оказывается более выгодной.
Если расширение серверного пула лицензий невозможно, мы можем изменить логику работы самого плагина. Проанализируем настройки подключения Saby. Вместо режима «Fresh» (подключение через URL веб-сервера), попробуем перенастроить плагин на прямое взаимодействие с базой.
Для этого выполним следующие действия:
В этом режиме плагин будет запускать фоновый процесс 1С непосредственно на компьютере пользователя. Система поиска лицензий отработает стандартно: она сначала проверит наличие локального ключа на ПК. Поскольку локальная лицензия позволяет запускать неограниченное число сеансов на одном месте, плагин «подхватит» существующий ключ и дополнительная лицензия на сервере не потребуется.
Иногда ошибка «Нет свободной лицензии» возникает не из-за физического отсутствия ключей, а из-за того, что сеансы веб-сервисов не завершаются вовремя и «подвисают» — решить эту проблему поможет обработка автоматического завершения сеансов 1С. Проанализируем файл конфигурации публикации default.vrd, который находится в каталоге публикации на веб-сервере.
В этом файле можно управлять параметрами пула соединений. Рассмотрим пример настройки:
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/MyBase"
ib="Srvr=ServerName;Ref=BaseName;">
<ws>
<pool size="10" timeout="60" />
</ws>
</point>
Разберем параметры:
size="10" — ограничивает максимальное количество одновременных соединений через веб-сервисы.timeout="60" — время (в секундах), через которое неиспользуемое соединение будет принудительно разорвано и лицензия вернется в пул.Уменьшение таймаута помогает быстрее освобождать лицензии, которые плагин Saby запрашивает для кратковременных операций выгрузки документов. Для этой задачи есть инструмент администрирования сеансов 1С в реальном времени.
Посмотрим на современные способы интеграции. Если ваша конфигурация 1С работает на управляемых формах, рекомендуется использовать «Расширение СБИС», которое встраивается непосредственно в интерфейс 1С.
Преимущество этого метода заключается в том, что расширение работает внутри уже открытого пользователем сеанса. Оно не инициирует новое HTTP-соединение под другой учетной записью и не запрашивает отдельную лицензию у сервера. Это самый стабильный и экономный вариант для работы в облачных инфраструктурах и при использовании технологии 1cFresh.
Подведем итог: для решения проблемы лицензирования Saby необходимо либо обеспечить наличие свободной лицензии на стороне веб-сервера, либо перевести плагин на работу через Тонкий клиент, чтобы задействовать локальные ключи пользователей. Проанализируйте вашу сетевую архитектуру и выберите наиболее подходящий вариант, исходя из имеющегося парка лицензий.