При работе с системой 1С:Предприятие 8.3, особенно в клиент-серверном варианте с использованием лицензий КОРП, мы можем столкнуться с неожиданной и критичной проблемой. Рассмотрим ситуацию, когда сервер 1С функционирует на КОРП лицензиях, но к нему подключается пользователь, использующий локальную ПРОФ лицензию. Парадоксально, но такое подключение может привести к полной блокировке доступа для всех последующих пользователей, даже если они используют корректные КОРП лицензии, выданные сервером.
В этой статье мы подробно разберем, почему возникает такая ситуация, какие официальные правила взаимодействия лицензий существуют, и какие шаги мы можем предпринять для диагностики и временного устранения проблемы, а также для предотвращения ее в будущем.
Представим сценарий: у нас развернут сервер 1С:Предприятия с КОРП лицензиями (например, несколько ключей USB КОРП на 100 пользователей). Доступ к информационным базам осуществляется через тонкий клиент, возможно, с использованием веб-сервера Apache. Внезапно, после подключения одного из пользователей с локальной ПРОФ лицензией, все последующие попытки входа в базу завершаются ошибкой: "Операция не может быть выполнена с текущим составом лицензий...". При этом даже администратор не может получить доступ к конфигуратору или другим режимам работы с базой.
Единственный способ восстановить работу – это через консоль сервера 1С:Предприятия принудительно завершить сеанс пользователя с проблемной ПРОФ лицензией. После этого доступ для остальных пользователей, использующих КОРП лицензии, восстанавливается. Версия платформы 1С, на которой наблюдалась проблема, была 8.3.17.1851.
Мы должны понимать, что фирма "1С" с 11 февраля 2019 года технически разделила функционал платформы на ПРОФ и КОРП. Расширенные возможности сервера теперь доступны только при наличии лицензий уровня КОРП.
Согласно документации, подключение пользователей с лицензиями уровня ПРОФ к КОРП серверу допускается, но с определенными ограничениями. Рассмотрим пример, приведенный в документации 1С (ITS):
Таким образом, пользователь с лицензией ПРОФ сможет получить доступ к информационной базе только в том случае, если в момент подключения количество уникальных пользователей кластера серверов (считая стартующий сеанс) не превышает 110% от общего числа имеющихся клиентских лицензий уровня КОРП. Например, если у нас есть два ключа по 100 пользователей, то всего доступно 200 КОРП лицензий, и, соответственно, до 200 * 1.1 = 220 пользователей может быть обслужено, включая ПРОФ.
Важный нюанс: Лицензионное соглашение 1С, как правило, указывает, что использование в одной информационной базе лицензий "1С:Предприятия 8 ПРОФ" совместно с лицензиями "1С:Предприятия 8 КОРП" не допускается для использования всех функций сервера уровня КОРП. Это означает, что для полноценного использования всех возможностей КОРП необходимо, чтобы все клиентские и серверные лицензии были уровня КОРП. После перехода на КОРП все ПРОФ лицензии также должны быть обновлены до КОРП.
Несмотря на то, что официальные правила допускают подключение ПРОФ пользователей к КОРП серверу в ограниченном количестве, описанная в сообщении проблема – полная блокировка доступа для всех последующих пользователей, включая администраторов, – является аномальным поведением. Это явно противоречит задуманной логике и может быть расценено как баг платформы 1С:Предприятия, особенно в указанной версии 8.3.17.1851.
Если бы система работала корректно, то в худшем случае подключение ПРОФ пользователя просто было бы отклонено, если бы он превышал установленный лимит или если бы это вызывало конфликт функций, требующих исключительно КОРП лицензий. Полная блокировка для всех, кто подключается после ПРОФ-пользователя, указывает на ошибку в механизме подсчета или распределения лицензий.
Для того чтобы убедиться, что проблема действительно связана с локальной ПРОФ лицензией, мы можем выполнить следующие шаги:
Как мы уже выяснили, для восстановления работоспособности системы после возникновения блокировки, нам придется предпринять экстренные меры:
После завершения проблемного сеанса, доступ для остальных пользователей, включая администраторов, должен немедленно восстановиться.
Поскольку описанное поведение является, скорее всего, багом платформы, прямого серверного механизма для запрета подключения локальных ПРОФ лицензий на уровне сервера 1С:Предприятия не существует. Однако мы можем рассмотреть несколько подходов для минимизации или устранения проблемы:
Мы можем настроить тонкий клиент так, чтобы он игнорировал наличие локальных ключей защиты. Это можно сделать с помощью параметра запуска /UseHwLicenses-.
Как это работает:
/UseHwLicenses- после пути к исполняемому файлу 1С.Пример:
"C:\Program Files\1cv8\8.3.17.1851\bin\1cv8c.exe" /UseHwLicenses-
Этот параметр заставляет клиентское приложение не искать локальный ключ защиты. В таком случае, клиент будет запрашивать лицензию у сервера 1С. Если на сервере нет свободных КОРП лицензий, пользователь просто не сможет подключиться, вместо того чтобы блокировать всю систему.
Примечание: Этот метод требует настройки на каждой клиентской машине и может быть неудобен для больших сетей. Автор исходного сообщения также не счел его идеальным, поскольку он не обеспечивает централизованный серверный контроль.
Самый надежный и соответствующий лицензионному соглашению способ – это обновить все используемые лицензии до уровня КОРП. Если все клиенты будут использовать КОРП лицензии, то проблема с ПРОФ-лицензиями просто исчезнет.
Преимущества:
Учитывая, что полная блокировка доступа является аномальным и критическим поведением, настоятельно рекомендуем обратиться в техническую поддержку фирмы "1С". Опишите детально ситуацию, укажите версию платформы (8.3.17.1851 в данном случае), количество и тип лицензий. Вероятно, это известный или новый баг, который требует исправления в будущих версиях платформы.
Для централизованного управления сеансами и временного запрета входа в информационную базу мы можем использовать консоль администрирования серверов 1С:
Этот метод может быть полезен в случаях, когда нам необходимо быстро "выгнать" всех пользователей для обслуживания или выявить проблемного пользователя, а затем временно заблокировать базу до его устранения.
Мы должны помнить, что ПРОФ лицензии имеют свои ограничения, которые вступили в силу с 11 февраля 2019 года:
Если клиент с ПРОФ лицензией пытается подключиться, когда количество сеансов превышает 500 или используется более 12 ядер (и лицензия не была обновлена), он получит ошибку. Ранее многие пользователи ПРОФ могли использовать КОРП-функциональность без явных технических ограничений, но теперь они переключаются на настройки по умолчанию.
КОРП лицензии предоставляют значительно расширенные возможности, такие как:
Таким образом, переход на КОРП для всех пользователей не только решит проблему с блокировкой, но и предоставит доступ к значительно более мощным и гибким инструментам администрирования и оптимизации работы 1С:Предприятия.
Проблема блокировки доступа к базам на КОРП сервере 1С из-за подключения пользователя с локальной ПРОФ лицензией является серьезным аномальным поведением платформы. Хотя официальные правила допускают частичное взаимодействие ПРОФ и КОРП лицензий, полная блокировка всех пользователей, включая администраторов, указывает на необходимость вмешательства разработчиков 1С.
Мы рассмотрели временные меры по устранению проблемы и долгосрочные стратегии, такие как отключение поиска локальных ключей на клиентских машинах, полный переход на КОРП лицензии и обращение в техническую поддержку. Помните, что полное соответствие лицензионной политике и использование всех возможностей платформы достигается только при унификации всех лицензий до уровня КОРП.