При развертывании системы «1С:Предприятие» технические специалисты часто сталкиваются с ситуацией, когда аппаратный или программный ключ на определенное количество пользователей приобретен и установлен, но программа при запуске выдает ошибку: «Не обнаружена лицензия на запуск сервера» или «Ключ защиты не найден». В этой статье мы подробно разберем, почему 1С может не видеть лицензии, в чем заключается разница между клиентскими и серверными ключами, и как правильно настроить систему для работы в файловом или клиент-серверном вариантах.
Первое, что нам необходимо сделать, — это четко разграничить два основных типа лицензий 1С. Многие начинающие администраторы полагают, что покупки клиентской лицензии (например, на 10 рабочих мест) достаточно для запуска полноценного сервера. Это не так. Давайте проанализируем структуру лицензирования:
NET10 ORGL8, это означает, что одновременно в программе могут работать 10 человек. Однако эта лицензия не дает права на работу самого серверного процесса 1С (ragent).Проанализируем визуальные отличия аппаратных ключей защиты (HASP), так как это поможет быстро диагностировать проблему на физическом уровне. Рассмотрим маркировку:
Рассмотрим ситуацию: у нас есть база данных. Выбор режима работы этой базы напрямую определяет требования к лицензированию. Проанализируем два сценария:
Сценарий 1: База данных в формате SQL (Client-Server). В этом режиме данные хранятся в системе управления базами данных (СУБД), такой как Microsoft SQL Server или PostgreSQL. Для этого режима обязательно требуются:
Сценарий 2: Файловая база данных. В этом режиме база представляет собой один файл 1Cv8.1CD. Для такой работы серверная лицензия 1С не требуется. Пользователи просто подключаются к общему сетевому ресурсу. Однако при количестве пользователей более 5-10 человек производительность файлового режима резко падает.
Если мы убедились, что используем файловый режим, но 1С все равно не видит ключ на 10 пользователей, нам необходимо проверить работу специальной службы. Посмотрим на алгоритм настройки HASP License Manager:
Просто вставить красный USB-ключ в сервер недостаточно. Чтобы другие компьютеры в сети его «увидели», на сервере должна быть установлена и запущена утилита HASP License Manager. Рассмотрим основные шаги проверки:
Sentinel LDK-License Manager (или аналогичная) находится в статусе «Выполняется».nnhasp.ini на клиентских машинах. Иногда широковещательный опрос сети не срабатывает. В этом случае нам нужно явно указать адрес сервера лицензий.Пример настройки файла nnhasp.ini (обычно находится в папке C:\Program Files\Common Files\Aladdin Shared\HASP\):
[NH_COMMON]
NH_TCPIP = ENABLE
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100 ; Указываем IP-адрес сервера с ключом
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = DISABLE
Рассмотрим вопрос выбора серверной части базы данных. Если бюджет ограничен, мы можем использовать бесплатные альтернативы платному Microsoft SQL Server. Выясним нюансы работы с ними:
1. MS SQL Server Express. Это бесплатное издание от Microsoft. Разберем его ограничения:
2. PostgreSQL. Это мощная бесплатная СУБД с открытым исходным кодом. Важно понимать, что обычная «ванильная» версия с сайта разработчика не подойдет для 1С. Разберем, что нужно использовать:
Важное замечание: Использование бесплатного SQL (Express или Postgres) не освобождает вас от необходимости покупки лицензии на сервер «1С:Предприятие». Серверная лицензия 1С нужна в любом случае, если база не файловая.
Существует еще один способ работы, который упоминали участники обсуждения. Мы можем опубликовать файловую базу на веб-сервере (Apache или IIS). В этом случае пользователи будут подключаться через тонкий клиент или браузер по протоколу HTTP/HTTPS.
В такой схеме:
Некоторые системные администраторы пытаются использовать «дыры» в защите старых версий 1С для Linux, которые позволяли запускать сервер без лицензии. Выясним текущую ситуацию:
Начиная с релизов платформы 8.3.20 и выше, фирма 1С существенно ужесточила контроль лицензирования на операционных системах семейства Linux. Теперь сервер на Linux требует наличия лицензии так же строго, как и на Windows. Если лицензия отсутствует, сервер позволит создать только один сеанс (обычно для административных целей). Поэтому рассчитывать на бесплатную работу серверной части в современных реалиях не стоит — это является нарушением лицензионного соглашения.
Если ваша 1С не видит лицензию, проанализируйте ситуацию по следующим шагам:
Понимая эти фундаментальные принципы лицензирования, вы сможете избежать ошибок при проектировании архитектуры системы и обеспечите стабильную работу пользователей без внезапных блокировок со стороны системы защиты программного обеспечения.