Рассмотрим распространенную и крайне неприятную проблему, с которой сталкиваются системные администраторы при оптимизации работы сотрудников в 1С. Ситуация выглядит следующим образом: для ускорения работы базы данных 1С публикуются на веб-сервере Apache, который развернут на мощном компьютере (например, на компьютере директора). Главный бухгалтер, работающий на слабом моноблоке, подключается к базам 1С (Бухгалтерия и Зарплата и Управление Персоналом - ЗУП) через тонкий клиент. Однако при попытке открыть вторую базу одновременно система выдает критическую ошибку: "Не найдена лицензия. Свободных лицензий нет".
В этой статье мы подробно разберем, почему возникает такая ситуация, проанализируем внутренние механизмы раздачи лицензий платформой 1С:Предприятие 8, развенчаем опасные мифы с форумов и найдем самое оптимальное, абсолютно бесплатное решение этой проблемы.
Давайте проанализируем действия системного администратора из исходной темы. Пытаясь сделать доброе дело, он перенес однопользовательский аппаратный USB-ключ защиты (HASP) с компьютера главного бухгалтера на компьютер директора (где теперь крутится веб-сервер Apache и лежат файловые базы данных). После этого главбух запускает Бухгалтерию — все работает быстро. Но как только совершается попытка запустить ЗУП, программа блокирует вход из-за нехватки лицензий.
Чтобы понять причину, нам нужно детально разобраться в том, как именно платформа 1С производит подсчет лицензий в различных режимах работы.
Это самый важный теоретический момент, незнание которого приводит к нерациональным финансовым затратам на покупку лишних лицензий. Поведение системы кардинально различается в зависимости от того, кто именно осуществляет поиск и выдачу лицензии — локальный компьютер пользователя или веб-сервер.
1. Локальное лицензирование (ключ установлен на компьютере пользователя)
Если однопользовательский USB-ключ (фиолетового цвета, маркировка ORGL8) или однопользовательская программная лицензия установлены непосредственно на рабочей станции пользователя, то применяется правило: одна лицензия на один компьютер. В этом режиме пользователь может запускать на своем компьютере неограниченное количество сеансов 1С:Предприятие (открывать 3, 5, 10 разных баз данных параллельно, запускать конфигуратор и т.д.). Все эти процессы будут успешно авторизованы одной-единственной локальной лицензией.
2. Лицензирование силами веб-сервера (ключ установлен на сервере)
Если же ключ защиты установлен на компьютере, где запущен веб-сервер Apache (или IIS), и у самого подключающегося клиента локальной лицензии нет, то обязанность по лицензированию сессии берет на себя веб-сервер. В этом случае действует жесткое правило: одна лицензия на один сеанс (подключение).
Когда главный бухгалтер открывает информационную базу "Бухгалтерия", веб-сервер забирает единственный однопользовательский USB-ключ на компьютере директора под это подключение. Лицензия занята. Когда тот же бухгалтер пытается открыть базу "ЗУП", веб-сервер снова пытается найти свободную лицензию для обеспечения нового сеанса связи, но ключ на компьютере директора всего один, и он уже занят Бухгалтерией. В результате веб-сервер возвращает ошибку нехватки лицензий.
В процессе обсуждения подобных проблем на форумах часто возникает опасное заблуждение (сформулированное, например, в сообщении 10): «Когда базу публиковали, ключ был нужен. Теперь все опубликовали и запустили - больше не нужен».
Давайте выясним техническую правду. Это абсолютно неверно!
Процесс публикации информационной базы на веб-сервере (в Apache или IIS) — это чисто административное действие. При этом в каталоге веб-сервера создается специальный файл описания виртуального ресурса с расширением .vrd. Для выполнения этой операции лицензия 1С вообще не требуется. Вы можете опубликовать базу даже на компьютере без установленной платформы или ключей.
Однако в процессе дальнейшей работы пользователей веб-сервер выполняет роль посредника. При каждом обращении клиента модуль расширения веб-сервера (например, файл wsap24.dll для Apache 2.4) инициализирует сеанс работы с базой данных. Если у веб-сервера в этот момент не будет физического доступа к действующему и свободному ключу защиты (или программной лицензии), то ни один пользователь, у которого нет собственного локального ключа, не сможет войти в систему. Ключ на сервере должен быть активен непрерывно в течение всего рабочего дня.
Также стоит упомянуть аппаратные ограничения. Однопользовательские USB-ключи маркировки ORGL8 физически не могут раздаваться по локальной сети с помощью утилиты HASP License Manager (в отличие от многопользовательских сетевых ключей красного цвета на 5, 10 и более рабочих мест).
Поэтому компьютер директора, на котором вы оставили этот USB-ключ, не может "поделиться" им по сети с компьютером бухгалтера напрямую. Веб-сервер Apache смог использовать этот ключ только потому, что сам веб-сервер запущен локально на компьютере директора, то есть имеет к нему прямой физический доступ через USB-порт.
Поскольку ваш главный бухгалтер подключается к базам через Тонкий клиент 1С (а не через обычный веб-браузер вроде Chrome или Яндекс.Браузер), у вас есть возможность настроить схему лицензирования самым оптимальным образом.
Разберем по шагам алгоритм настройки, который позволит бухгалтеру запускать одновременно и Бухгалтерию, и ЗУП без покупки каких-либо дополнительных лицензий:
http://имя_компьютера_директора/Buh).ORGL8, успешно авторизуется им и отправит запрос на веб-сервер уже со статусом "Лицензия получена на клиенте".Для лучшего понимания рассмотрим, как ведет себя тонкий клиент и веб-сервер в зависимости от места установки лицензии:
| Где установлен ключ защиты | Тип клиента | Как расходуются лицензии | Результат запуска двух баз (Бухгалтерия + ЗУП) |
|---|---|---|---|
| На компьютере пользователя (Локально) | Тонкий клиент 1С | 1 лицензия на компьютер (безлимит сессий) | Успешно. Обе базы работают одновременно под одной лицензией. |
| На компьютере с веб-сервером | Тонкий клиент 1С | Посеансовая раздача (1 сессия = 1 лицензия) | Ошибка. Вторая база потребует вторую лицензию, которой нет на сервере. |
| На компьютере с веб-сервером | Веб-браузер (Chrome/Safari) | Посеансовая раздача (1 вкладка = 1 лицензия) | Ошибка. Браузер в принципе не умеет искать локальные USB-ключи, лицензирование всегда идет на сервере. |
Если со временем вы решите полностью отказаться от USB-ключей и перейти на современные программные лицензии (пин-коды), проанализируем, как их правильно активировать в вашей инфраструктуре:
Таким образом, самым простым, надежным и технически грамотным решением в вашей текущей конфигурации является возвращение физического USB-интерфейса защиты (флешки) на рабочее место главного бухгалтера. Это полностью устранит проблему с нехваткой лицензий при одновременной работе в ЗУП и Бухгалтерии через Apache.