ПользовательПоИдентификаторуСуществует (БСП)

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

Пользователь по идентификатору существует. Определяет наличие элемента в справочнике Пользователи

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

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

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

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

НайтиНеоднозначныхПользователейИБ (БСП)

ПользовательЗарегистрированКакНеразделенный (БСП)

ФайлСуществует (БСП)

FTPКаталогСуществует (БСП)

ПодсистемаСуществует (БСП)

ОбновитьСуществующиеСтраныМира (БСП)

TurboConf ИР адаптер 2.63