Куда 1С:Предприятие 8.3 складывает программные лицензии и как вернуть их после сбоя
Содержание
В Windows файлы лицензий 1С лежат в папке C:\ProgramData\1C\licenses и имеют расширение .lic. Это общий каталог для всех пользователей компьютера. Лицензии, полученные «только для текущего пользователя», платформа ищет в профиле: %APPDATA%\1C\licenses. В Linux основной каталог — /var/1C/licenses.
Частое заблуждение: файл лицензии можно скопировать на другой компьютер, и 1С заработает. Не заработает. Программная лицензия привязана к параметрам оборудования, на котором её активировали. Копия на чужой машине даст ту же ошибку, что и отсутствие файла. Поэтому знать расположение полезно для резервной копии и диагностики, а не для переноса.
Всё ниже относится к платформе 1С:Предприятие 8.3 и не зависит от конфигурации: в БП, ЗУП и УТ лицензии хранятся одинаково.
Программные лицензии на рабочем месте с Windows
Программная лицензия — это файл вида 20231114093512345.lic. Имя состоит из даты и времени активации, поэтому по нему легко понять, когда лицензию получили. Один файл — один пин-код. Если вы активировали основную поставку и дополнительную клиентскую на 5 мест, в папке будет два файла.
Где платформа ищет файлы:
| Каталог | Для кого | Когда используется |
|---|---|---|
%ProgramData%\1C\licenses (обычно C:\ProgramData\1C\licenses) | все пользователи компьютера | при активации выбран вариант «для всех пользователей» |
%APPDATA%\1C\licenses (C:\Users\<имя>\AppData\Roaming\1C\licenses) | один пользователь Windows | при активации выбран вариант «для текущего пользователя» |
📁 Обе папки по умолчанию скрыты. Проще всего вставить путь целиком в адресную строку Проводника: переменные окружения Windows раскроет сама.
Если не помните, куда сохраняли лицензию, найдите все файлы командой PowerShell:
Get-ChildItem -Path C:\ -Filter *.lic -Recurse -ErrorAction SilentlyContinue |
Select-Object FullName, LastWriteTime
Или в обычной командной строке:
dir /s /b "%ProgramData%\1C\licenses\*.lic"
dir /s /b "%APPDATA%\1C\licenses\*.lic"
Расширение .lic используют и другие программы. В выдаче поиска смотрите только на файлы из папок 1C\licenses, остальные к 1С отношения не имеют.
Права доступа
тоже важны. Пользователь, под которым запускается 1С, должен иметь право чтения на папку и файлы. Если лицензию активировал администратор, а потом на папку «закрутили» права, обычный пользователь увидит ошибку Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия! — хотя файл на месте.
Лицензии на сервере 1С:Предприятия под Windows Server
В клиент-серверном варианте лицензий две разновидности, и лежат они в разных местах:
- 🖥️ Серверная лицензия (на сам сервер 1С) хранится на компьютере, где работает служба «Агент сервера 1С:Предприятия 8.3». Каталог тот же:
C:\ProgramData\1C\licenses. - 👥 Клиентские лицензии могут лежать либо на каждом рабочем месте, либо на сервере. Во втором случае их тоже кладут в
C:\ProgramData\1C\licensesна сервере, а сервер раздаёт их подключившимся клиентам.
Чтобы сервер выдавал клиентам лицензии со своей машины, в свойствах информационной базы в консоли кластера включают параметр «Выдача лицензий сервером 1С:Предприятия». Без него клиент ищет лицензию у себя локально.
Служба сервера по умолчанию работает от учётной записи USR1CV8. Отсюда два практических правила:
- Активируйте серверную лицензию для всех пользователей компьютера, а не «для текущего». Иначе файл попадёт в профиль администратора, и служба его не увидит.
- Проверьте, что у
USR1CV8(или у той учётной записи, под которой запущена служба) есть право чтения наC:\ProgramData\1C\licenses.
Посмотреть, какую лицензию получил каждый сеанс, можно в консоли администрирования серверов: раскройте кластер, базу и список сеансов — у сеанса есть ветка с лицензиями. Из командной строки то же самое покажет утилита rac:
rac cluster list
rac session list --cluster=<id_кластера> --licenses
В выводе видно тип лицензии (программная или ключ), путь к файлу .lic и компьютер, на котором она найдена.
Если сервер не видит лицензию после правки прав, службу агента придётся перезапустить. Перезапуск обрывает все сеансы пользователей — делайте это вне рабочего времени и предупредите людей заранее.
Каталоги лицензий в Linux и macOS
В Linux программные лицензии хранятся в /var/1C/licenses. Это аналог ProgramData в Windows: каталог общий для всех пользователей и для сервера 1С.
Проверить содержимое и права:
ls -l /var/1C/licenses/
sudo -u usr1cv8 ls /var/1C/licenses/
Вторая команда показывает, видит ли файлы пользователь, от которого работает сервер. Если в ответ пришло «Permission denied», выдайте права на чтение:
sudo chmod 755 /var/1C /var/1C/licenses
sudo chmod 644 /var/1C/licenses/*.lic
Лицензии «для текущего пользователя» платформа кладёт в скрытый каталог в домашней папке. Путь к нему отличается в зависимости от сборки и дистрибутива, поэтому надёжнее искать по расширению:
sudo find / -name "*.lic" -path "*1C*" 2>/dev/null
На macOS работает та же команда find. Клиент 1С для macOS тоже использует программные лицензии с привязкой к оборудованию, и правила те же: файл с одного Mac на другой не переносится.
🐧 Особенность Linux: привязка лицензии чувствительна к смене сетевых интерфейсов и имени хоста. После перенастройки сети или пересоздания виртуальной машины лицензия часто «слетает», хотя файл остался на месте.
Аппаратные ключи HASP: где здесь файлы
У аппаратного ключа файла лицензии нет вообще. Лицензия зашита в сам USB-ключ, а на компьютере нужны только драйвер и настройки поиска.
Что есть на диске при работе с ключами:
- 🔌 Драйвер ключа защиты (Sentinel / HASP Device Driver). Без него платформа ключ не увидит. Ставится из дистрибутива платформы или с сайта производителя ключей.
- 🌐 Менеджер лицензий (HASP License Manager) — только для сетевых ключей. Ставится на тот компьютер, куда вставлен ключ, и работает как служба. Клиенты обращаются к нему по порту 475.
- 📝 Файл
nethasp.ini— настройки поиска сетевого ключа на стороне клиента. Лежит в подпапкеconfкаталога установленной платформы, напримерC:\Program Files\1cv8\8.3.xx.xxxx\bin\conf\nethasp.ini.
Пример nethasp.ini, который убирает широковещательный поиск и указывает адрес машины с ключом напрямую:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
Такая настройка ускоряет запуск 1С и помогает, когда ключ стоит в другой подсети. Адрес подставьте свой.
Ключи и программные лицензии можно использовать одновременно. Платформа сначала ищет программную лицензию, а ключи — если её не нашлось. Параметр запуска /UseHwLicenses- отключает поиск ключей, /UseHwLicenses+ включает.
Как проверить, какая лицензия используется
Начинайте не с поиска файлов, а с вопроса к самой программе. Запустите 1С в режиме «1С:Предприятие» и откройте окно «О программе» (значок «?» или меню с тремя полосками в правом верхнем углу → «Справка» → «О программе»). Там указано, какая лицензия получена: программная — с путём к файлу .lic, или из ключа защиты.
Если база не запускается, используйте эту таблицу как шпаргалку:
Для сложных случаев на сервере включите технологический журнал с событием LIC. Он покажет, в каких каталогах сервер искал лицензии и почему отклонил найденные. Файл logcfg.xml кладут в каталог conf платформы:
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\techlog" history="24">
<event>
<eq property="name" value="LIC"/>
</event>
<property name="all"/>
</log>
</config>
Через минуту после сохранения в C:\techlog появятся логи. После диагностики удалите logcfg.xml: журнал растёт быстро и нагружает диск.
Восстановление и перенос лицензий 1С
Перенести программную лицензию на новый компьютер можно только одним способом — заново активировать её там. Сам файл .lic для этого не нужен.
Что понадобится:
- 🔑 пин-код, по которому лицензию получали в прошлый раз;
- 📄 регистрационный номер продукта (с конверта или из документов поставки);
- 📋 регистрационные данные, введённые при первой активации: организация, ИНН, адрес и прочее.
Порядок действий:
- Запустите 1С на новом компьютере. При отсутствии лицензии платформа сама предложит её получить.
- Выберите повторное получение лицензии и введите регистрационный номер и пин-код.
- Внесите регистрационные данные. Они должны совпадать с первыми буква в букву, вплоть до кавычек и сокращений. Любое расхождение — и сервер лицензирования откажет.
- Выберите, для кого сохранить лицензию. Для сервера и общих рабочих мест — «для всех пользователей».
- После успешной активации в папке
licensesпоявится новый файл.
Если повторная активация не проходит, используйте резервный пин-код из конверта. Их число ограничено, поэтому тратить их при каждой переустановке Windows не стоит. Когда резервные коды закончились, восстановлением лицензии занимается партнёр, у которого покупали продукт, — через обращение в фирму 1С с документами о покупке.
Старый файл .lic на прежнем компьютере после переноса лучше удалить. Две копии одной лицензии с разной привязкой не дают лишних мест, но запутывают диагностику.
Как не потерять лицензию в будущем:
Копия файла .lic выручит, если вы переустановили Windows на том же самом железе. При неизменном оборудовании привязка совпадёт, и достаточно вернуть файл в C:\ProgramData\1C\licenses. На другом компьютере копия бесполезна.
Частые ошибки при работе с файлами лицензий
❌ Активация «для текущего пользователя» на сервере или терминальном сервере. Файл попадает в профиль одного человека. Остальные пользователи и служба сервера его не видят.
❌ Удаление «лишних» файлов из папки licenses. Каждый файл — отдельный набор мест. Удалили один — потеряли часть лицензий, а вернуть его можно только повторной активацией.
❌ Перенос виртуальной машины без подготовки. Смена хоста, MAC-адреса или идентификатора диска ломает привязку. Перед миграцией убедитесь, что есть свободный резервный пин-код.
❌ Ручная правка файла .lic. Файл подписан. Любое изменение делает его недействительным.
❌ Ключ HASP и программная лицензия на одной машине без понимания, что используется. Платформа берёт программную лицензию первой. Проверяйте через «О программе», откуда реально получена лицензия.