Объект авторизации используется. Проверяет, что объект информационной базы используется в качестве объекта авторизации
// Проверяет, что объект информационной базы используется в качестве объекта авторизации
// какого-нибудь внешнего пользователя, кроме заданного внешнего пользователя (если задан).
//
Функция ОбъектАвторизацииИспользуется(Знач СсылкаНаОбъектАвторизации,
Знач СсылкаНаТекущегоВнешнегоПользователя,
НайденныйВнешнийПользователь = Неопределено,
ЕстьПравоДобавленияВнешнегоПользователя = Ложь,
ТекстОшибки = "") Экспорт
ЕстьПравоДобавленияВнешнегоПользователя = ПравоДоступа(
"Добавление", Метаданные.Справочники.ВнешниеПользователи);
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 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
///////////////////////////////////////////////////////////////////////////////////////////////////////
ПустыеСсылкиТиповОбъектовАвторизации (БСП)
ПолучитьОбъектАвторизацииВнешнегоПользователя (БСП)
ПослеИзмененияОбъектаАвторизацииВнешнегоПользователя (БСП)
ДополнительноеСвойствоИспользуется (БСП)
ИспользоватьДопРеквизиты (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)