АдминистрированиеРабочийПроцесс.Лицензии

Свойства · Licenses

Тип: Массив. Содержит информацию о серверных лицензиях, используемых рабочим процессом.

Полное описание, параметры и ограничения

АдминистрированиеРабочийПроцесс.Лицензии (AdministrationWorkProcess.Licenses)

АдминистрированиеРабочийПроцесс (AdministrationWorkProcess)

Лицензии (Licenses)

Доступен, начиная с версии 8.3.14.

Использование:
Только чтение.
Описание:
Тип: Массив.
Содержит информацию о серверных лицензиях, используемых рабочим процессом.
Доступность:

Тонкий клиент, сервер, толстый клиент, интеграция.

Использование в версии:

Доступен, начиная с версии 8.3.14.

Методическая информация

Практические примеры

Показать только количество серверных лицензий процесса

Лицензии возвращает массив сведений о серверных лицензиях. Для учебной диагностики выводим только размер, не серийные номера, PIN или данные владельца.

Где и как запускать

Управляемая форма учебной обработки; чтение совместимого ras только отдельного изолированного учебного кластера.

Подготовка

  1. Только отдельный учебный кластер 1С:Предприятия 8.5.1.1343 с уже настроенным ras совместимой версии. Не подключайтесь к рабочему серверу для обучения.

  2. Создайте внешнюю обработку с управляемой формой. Добавьте реквизиты АдресRAS (Строка), ПортRAS (Число), ИмяАгента, ПарольАгента, ИдентификаторКластера, ИмяАдминистратораКластера, ПарольАдминистратораКластера (Строка). Выведите поля на форму; у элементов ввода паролей в свойствах включите Режим пароля (PasswordMode).

  3. АдресRAS относится к машине серверного выполнения кода. Пример для ras на этой же тестовой машине: 127.0.0.1 и порт 1545; подтвердите фактические адрес и порт у администратора.

  4. Используйте законные учётные данные учебного агента и кластера. Оставлять имя и пароль пустыми можно только если соответствующие администраторы не зарегистрированы и среда допускает такую аутентификацию.

  5. При первом запуске оставьте ИдентификаторКластера пустым: код выведет идентификаторы и имена кластеров. Скопируйте идентификатор нужного учебного кластера в поле и повторите.

  6. Вставьте клиентскую процедуру и серверную функцию отдельно на уровне модуля формы. Код не запускает ras и не настраивает учётные записи.

  7. Добавьте реквизит ИдентификаторУчебногоПроцесса (Строка) и выведите его на форму. Создайте команду с именем клиентской процедуры соответствующего примера.

  8. После выбора учебного кластера оставьте UUID процесса пустым: получите список UUID/PID. Вставьте UUID нужного процесса, не PID Windows, затем повторите.

  9. Код только читает процесс учебного кластера. Не останавливает/перезапускает процессы, не записывает настройки и не меняет распределение клиентов.

&НаКлиенте
Процедура ПрочитатьКоличествоЛицензийПроцесса(Команда)
    Результат = ПрочитатьКоличествоЛицензийПроцессаНаСервере(АдресRAS, ПортRAS, ИмяАгента, ПарольАгента, ИдентификаторКластера, ИмяАдминистратораКластера, ПарольАдминистратораКластера, ИдентификаторУчебногоПроцесса);
    Сообщить(Результат);
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПрочитатьКоличествоЛицензийПроцессаНаСервере(АдресRAS, ПортRAS, ИмяАгента, ПарольАгента, ИдентификаторКластера, ИмяАдминистратораКластера, ПарольАдминистратораКластера, ИдентификаторУчебногоПроцесса)
    Сервер = Новый АдминистрированиеСервера(АдресRAS, ПортRAS);
    Сервер.ВыполнитьАутентификацию(ПарольАгента, ИмяАгента);
    Кластеры = Сервер.ПолучитьКластеры();
    Если Не ЗначениеЗаполнено(ИдентификаторКластера) Тогда
        Строки = Новый Массив;
        Для Каждого Элемент Из Кластеры Цикл
            Строки.Добавить(Строка(Элемент.ИдентификаторКластера) + " — " + Элемент.Имя);
        КонецЦикла;
        Если Строки.Количество() = 0 Тогда
            Возврат "Кластеров нет";
        КонецЕсли;
        Возврат СтрСоединить(Строки, Символы.ПС);
    КонецЕсли;
    Кластер = Неопределено;
    Для Каждого Элемент Из Кластеры Цикл
        Если НРег(Строка(Элемент.ИдентификаторКластера)) = НРег(СокрЛП(ИдентификаторКластера)) Тогда
            Кластер = Элемент;
            Прервать;
        КонецЕсли;
    КонецЦикла;
    Если Кластер = Неопределено Тогда
        ВызватьИсключение "Указанный учебный кластер не найден";
    КонецЕсли;
    Кластер.ВыполнитьАутентификацию(ИмяАдминистратораКластера, ПарольАдминистратораКластера);
    Процессы = Кластер.ПолучитьРабочиеПроцессы();
    Если Не ЗначениеЗаполнено(ИдентификаторУчебногоПроцесса) Тогда
        Строки = Новый Массив;
        Для Каждого Элемент Из Процессы Цикл
            Строки.Добавить(СтрШаблон("UUID=%1; PID=%2; узел=%3", Элемент.ИдентификаторРабочегоПроцесса,
                Элемент.ИдентификаторПроцесса, Элемент.ИмяКомпьютера));
        КонецЦикла;
        Если Строки.Количество() = 0 Тогда
            Возврат "Рабочих процессов в учебном кластере нет";
        КонецЕсли;
        Возврат СтрСоединить(Строки, Символы.ПС);
    КонецЕсли;
    Процесс = Неопределено;
    Для Каждого Элемент Из Процессы Цикл
        Если НРег(Строка(Элемент.ИдентификаторРабочегоПроцесса)) = НРег(СокрЛП(ИдентификаторУчебногоПроцесса)) Тогда
            Процесс = Элемент;
            Прервать;
        КонецЕсли;
    КонецЦикла;
    Если Процесс = Неопределено Тогда
        ВызватьИсключение "Рабочий процесс с данным UUID не найден в выбранном учебном кластере";
    КонецЕсли;
    Лицензии = Процесс.Лицензии;
    Возврат СтрШаблон("UUID процесса=%1; записей серверных лицензий=%2. Детали лицензий не выводятся.",
        Процесс.ИдентификаторРабочегоПроцесса, Лицензии.Количество());
КонецФункции

Разбор по шагам

  1. Выбираем процесс по UUID, затем читаем его массив Лицензии.

  2. Количество — число возвращённых записей сведений, не число всех пользователей и не остаток клиентских лицензий.

  3. Массив не перебираем и элементы не сериализуем: деталей активации/владельца в выводе нет.

Как проверить результат

  1. Выведен UUID выбранного процесса и фактическое количество записей, в том числе допустимый ноль.

  2. В коде нет Получить(0) массива лицензий, PIN, серийных номеров или выгрузки лицензий в файл.

Ожидаемый результат

Получена минимальная административная диагностика без раскрытия лицензий.

На что обратить внимание

  1. Этот счётчик не является аудитом законности лицензирования или подтверждением свободных рабочих мест.

  2. Не публикуйте административные дампы с учётными данными и лицензиями при обращении за помощью.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.