Ситуация, когда после активации резервного пин-кода 1С база становится доступна локально, но выдает ошибку отсутствия лицензии при попытке входа через веб-клиент, является классической проблемой настройки прав доступа и путей поиска файлов лицензий. Разберем детально, как работает этот механизм, и решим проблему по шагам.
Когда мы запускаем 1С локально («толстым» или «тонким» клиентом), поиск лицензии выполняет процесс текущего пользователя Windows. В этом случае программа ищет файл .lic в профиле этого пользователя. Однако при публикации базы через веб-сервер (в нашем случае Apache), лицензию запрашивает не клиентское приложение, а сам веб-сервер. Выясним важный нюанс: служба Apache обычно запускается от имени системной учетной записи (например, Local System), которая не имеет доступа к папкам в профилях пользователей (C:\Users\...). Именно поэтому локальный вход работает, а веб-вход — нет.
Рассмотрим, где могут находиться файлы лицензий. Программные лицензии 1С сохраняются в файлах с расширением .lic. Для корректной работы веб-сервера необходимо, чтобы все действующие лицензии находились в «общем» для всех пользователей месте. Проанализируем стандартные пути:
C:\ProgramData\1C\licenses — рекомендуемое место. Файлы здесь доступны всем службам.C:\Users\ИмяПользователя\AppData\Local\1C\1Cv8\Conf — здесь лицензия оказывается, если активация проводилась «под собой» без прав администратора.C:\Program Files\1cv8\conf — устаревшее место, но иногда используется.Выполним следующее действие: найдем все файлы .lic, созданные сегодня (после активации резервного пин-кода), и перенесем их в папку C:\ProgramData\1C\licenses. Если такой папки нет, создадим её вручную.
Даже если мы положили файлы в правильную папку, служба Apache может не иметь прав на их чтение. Разберем, как настроить права доступа. Посмотрим на свойства папки C:\ProgramData\1C\licenses:
Все (или Everyone в английской версии) и нажмем ОК.Важный момент: если ваша служба Apache работает под специфическим пользователем (например, usr1cv8), убедитесь, что именно этот пользователь имеет полный доступ к папке с лицензиями.
Проанализируем ситуацию, когда в папке скопилось много старых файлов лицензий. 1С при запуске сканирует папку и пытается сопоставить параметры компьютера с данными в файлах. Если файлов много, и среди них есть невалидные (от которых мы получили резервные коды), это может замедлять работу или вызывать ошибки «Лицензия не обнаружена». Рассмотрим алгоритм очистки:
Backup_Old..lic, кроме тех, которые были получены сегодня при восстановлении.Если у вас комплект на 3 или более рабочих мест с одним регистрационным номером, важно понимать логику 1С. Выясним причину, почему восстановление только одной лицензии из трех может не «оживить» веб-сервер. Когда база опубликована через Apache, веб-сервер часто требует наличия всей группы лицензий для корректного распределения сессий. Если вы активировали только один резервный пин-код из трех, система может считать, что лимит сессий исчерпан сразу после вашего первого входа. Рассмотрим порядок действий для многопользовательских ключей:
C:\ProgramData\1C\licenses.Разберем разницу в сообщениях системы, чтобы понять, куда двигаться дальше:
После любых манипуляций с файлами .lic или правами доступа, необходимо перезапустить службу Apache, так как она может кэшировать информацию о доступных ресурсах. Выполним команды в консоли (cmd от имени администратора):
net stop Apache2.4
net start Apache2.4
Также проверим файл публикации default.vrd. Иногда в нем могут быть жестко прописаны параметры поиска лицензий, хотя для файловой базы это редкость. Убедимся, что в строке соединения нет лишних ограничений.
Выясним причину инцидента, чтобы он не повторился. Программная лицензия «привязывается» к ключевым параметрам сервера. Рассмотрим, что могло измениться:
Рекомендация: при работе в виртуальной среде всегда фиксируйте MAC-адрес и параметры процессора/памяти как статические. Это избавит вас от необходимости запрашивать резервные коды при каждом перезапуске гипервизора.
Таким образом, мы выяснили, что основной проблемой является «невидимость» файлов лицензий для службы веб-сервера. Выполнив перенос файлов в ProgramData и настроив права для группы Все, вы восстановите работоспособность веб-доступа к базе 1С.