ОбъектАвторизацииИспользуется (БСП)

Автор: 1С
ОбщийМодуль.ПользователиСлужебный
БСП

Объект авторизации используется. Проверяет, что объект информационной базы используется в качестве объекта авторизации

// Проверяет, что объект информационной базы используется в качестве объекта авторизации
// какого-нибудь внешнего пользователя, кроме заданного внешнего пользователя (если задан).
//
Функция ОбъектАвторизацииИспользуется(Знач СсылкаНаОбъектАвторизации,
                                      Знач СсылкаНаТекущегоВнешнегоПользователя,
                                      НайденныйВнешнийПользователь = Неопределено,
                                      ЕстьПравоДобавленияВнешнегоПользователя = Ложь,
                                      ТекстОшибки = "") Экспорт
	
	ЕстьПравоДобавленияВнешнегоПользователя = ПравоДоступа(
		"Добавление", Метаданные.Справочники.ВнешниеПользователи);
	
	УстановитьПривилегированныйРежим(Истина);
	
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	ВнешниеПользователи.Ссылка
	|ИЗ
	|	Справочник.ВнешниеПользователи КАК ВнешниеПользователи
	|ГДЕ
	|	ВнешниеПользователи.ОбъектАвторизации = &СсылкаНаОбъектАвторизации
	|	И ВнешниеПользователи.Ссылка <> &СсылкаНаТекущегоВнешнегоПользователя";
	Запрос.УстановитьПараметр("СсылкаНаТекущегоВнешнегоПользователя", СсылкаНаТекущегоВнешнегоПользователя);
	Запрос.УстановитьПараметр("СсылкаНаОбъектАвторизации", СсылкаНаОбъектАвторизации);
	
	НачатьТранзакцию();
	Попытка
		Таблица = Запрос.Выполнить().Выгрузить();
		Если Таблица.Количество() > 0 Тогда
			НайденныйВнешнийПользователь = Таблица[0].Ссылка;
		КонецЕсли;
		
		ЗафиксироватьТранзакцию();
	Исключение
		ОтменитьТранзакцию();
		ВызватьИсключение;
	КонецПопытки;
	
	Результат = Таблица.Количество() > 0;
	Если Результат Тогда
		ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru = 'Уже существует внешний пользователь, связанный с объектом ""%1"".'"),
			СсылкаНаОбъектАвторизации);
		КонецЕсли;
	Возврат Результат;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ПустыеСсылкиТиповОбъектовАвторизации (БСП)

ПолучитьОбъектАвторизацииВнешнегоПользователя (БСП)

ПослеИзмененияОбъектаАвторизацииВнешнегоПользователя (БСП)

ДополнительноеСвойствоИспользуется (БСП)

ИспользоватьДопРеквизиты (БСП)

ИспользоватьДопСведения (БСП)

ОбъектыСКомандамиОтчетов (БСП)

ОбъектыСКомандамиЗаполнения (БСП)

TurboConf 6 - расширение Конфигуратора 1С