Зарегистрирована лицензия уникальной услуги. Проверяет, зарегистрирован ли в системе тарификации сервиса указанный идентифкатор
// Проверяет, зарегистрирован ли в системе тарификации сервиса указанный идентифкатор
// лицензии на использование указанной уникальной лимитированной услуги.
//
// Параметры:
// ИдентификаторПоставщика - Строка - уникальный строковый идентфикатор (код) поставщика услуг в сервисе.
// ИдентификаторУслуги - Строка - уникальный строковый идентфикатор (код) услуги в сервисе.
// ИмяЛицензии - Строка - Строка(200) уникальное строковое представление лицензии, ПОНЯТНОЕ ПОЛЬЗОВАТЕЛЮ.
// КонтекстЛицензии - Строка - Строка (200), контекст лицензии.
//
// Возвращаемое значение:
// Булево - результат проверки (Истина = лицензия зарегистрирована).
//
Функция ЗарегистрированаЛицензияУникальнойУслуги(ИдентификаторПоставщика, ИдентификаторУслуги, ИмяЛицензии, КонтекстЛицензии = "") Экспорт
Попытка
ИмяСобытия = ИмяСобытияЖР() + НСтр("ru = 'Проверка наличия лицензии уникальной услуги из приложения'");
ЗаголовокКомментария = ЗаголовокКомментария(ИдентификаторПоставщика,
ИдентификаторУслуги,
ИмяЛицензии);
// Предопределенные проверки, которые сразу помогают определить: есть доступ к услуге или нет.
Результат = РезультатПредопределенныхПроверокОперацийСЛицензиями();
Если Результат <> Неопределено Тогда
Возврат Результат;
КонецЕсли;
// Если услуга не найдена, тогда возращается ЛОЖЬ.
Услуга = УслугаПоИдентификаторуИИдентификаторуПоставщика(ИдентификаторУслуги, ИдентификаторПоставщика, Ложь);
Если Услуга = Неопределено Тогда
Возврат Ложь;
КонецЕсли;
Запрос = Новый Запрос(
"ВЫБРАТЬ
| ЗанятыеЛицензии.НомерПодписки КАК НомерПодписки
|ИЗ
| РегистрСведений.ЗанятыеЛицензии КАК ЗанятыеЛицензии
|ГДЕ
| ЗанятыеЛицензии.ИдентификаторЛицензии = &ИдентификаторЛицензии
| И ЗанятыеЛицензии.Услуга = &Услуга
| И ЗанятыеЛицензии.КонтекстЛицензии = &КонтекстЛицензии");
Запрос.УстановитьПараметр("Услуга", Услуга);
Запрос.УстановитьПараметр("ИдентификаторЛицензии", ИмяЛицензии);
Запрос.УстановитьПараметр("КонтекстЛицензии", КонтекстЛицензии);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Не ПустаяСтрока(Выборка.НомерПодписки);
КонецЕсли;
Возврат Ложь;
Исключение
Комментарий = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписатьОшибку(ИмяСобытия, ЗаголовокКомментария, Комментарий);
ВызватьИсключение Комментарий;
КонецПопытки;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ЗанятьЛицензиюУникальнойУслуги (БСП)
ОсвободитьЛицензиюУникальнойУслуги (БСП)
КоличествоЛицензийУникальнойУслуги (БСП)
ЗапроситьЛицензииУникальныхУслуг_ОбработчикОбновления (БСП)
ЗапроситьЛицензииУникальныхУслуг_РегламентноеЗадание (БСП)
ЗарегистрированаЛицензияБезлимитнойУслуги (БСП)
ЗапроситьЛицензииУникальныхУслугУМенеджераСервиса (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)