RDT1C/src/DataProcessors/ирРедакторПользователей/Ext/ObjectModule.bsl
Администратор bdde37fa82 .
2025-09-15 10:31:22 +03:00

110 lines
7.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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