mirror of
https://github.com/firstBitSportivnaya/PSSL.git
synced 2024-11-24 08:42:27 +02:00
Добавлена функция получения списка значений ПВХ, Использование кешированных значений Соответствий объектов ИБ
This commit is contained in:
parent
47f9ecee02
commit
1837ce4772
@ -25,15 +25,7 @@
|
||||
Значение = ОбщегоНазначения.ВыгрузитьКолонку(
|
||||
ПланыВидовХарактеристик.__ПредопределенныеЗначения[Имя].ЗначенияЭлементов, "Значение", Истина);
|
||||
ИначеЕсли ПланыВидовХарактеристик.__ПредопределенныеЗначения[Имя].Пароль Тогда
|
||||
|
||||
ДанныеХранилища = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(
|
||||
Строка(ПланыВидовХарактеристик.__ПредопределенныеЗначения[Имя].УникальныйИдентификатор()));
|
||||
|
||||
Если ТипЗнч(ДанныеХранилища) = Тип("Структура") Тогда
|
||||
Значение = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДанныеХранилища, "bit_password", "");
|
||||
Иначе
|
||||
Значение = "";
|
||||
КонецЕсли;
|
||||
Значение = ПолучитьПарольПоИмени(Имя);
|
||||
Иначе
|
||||
Значение = ПланыВидовХарактеристик.__ПредопределенныеЗначения[Имя].Значение;
|
||||
КонецЕсли;
|
||||
@ -44,10 +36,124 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает соответствие предопределенных элементов ПВХ по имени.
|
||||
//
|
||||
// Параметры:
|
||||
// Имя - Строка - Имена переменных ПВХ, перечисленные через запятую.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// - Соответствие - Соответствие имен и значений переменных ПВХ.
|
||||
//
|
||||
Функция ПолучитьПредопределенныеЗначения(Имена) Экспорт
|
||||
|
||||
// ++ Обход ошибки отстутствия модуля БСП, не переносить
|
||||
ОбщегоНазначения = Неопределено;
|
||||
ОбщегоНазначенияКлиентСервер = Неопределено;
|
||||
СтроковыеФункцииКлиентСервер = Неопределено;
|
||||
// -- Обход ошибки отстутствия модуля БСП, не переносить
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
|
||||
СоответствиеЗначений = Новый Соответствие;
|
||||
|
||||
МассивИмен = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Имена);
|
||||
МассивИмен = ОбщегоНазначенияКлиентСервер.СвернутьМассив(МассивИмен);
|
||||
|
||||
Если Не МассивИмен.Количество() Тогда
|
||||
Возврат СоответствиеЗначений;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = "ВЫБРАТЬ
|
||||
| __ПредопределенныеЗначения.Ссылка КАК ПредопределенноеЗначение,
|
||||
| __ПредопределенныеЗначения.ИмяПредопределенныхДанных КАК Имя
|
||||
|ПОМЕСТИТЬ ПредопределенныеЗначения
|
||||
|ИЗ
|
||||
| ПланВидовХарактеристик.__ПредопределенныеЗначения КАК __ПредопределенныеЗначения
|
||||
|ГДЕ
|
||||
| __ПредопределенныеЗначения.ИмяПредопределенныхДанных В(&МассивИмен)
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| ПредопределенныеЗначения.Имя КАК Имя,
|
||||
| __ПредопределенныеЗначения.Значение КАК Значение,
|
||||
| ПУСТАЯТАБЛИЦА.( КАК Значение) КАК ЗначенияЭлементов,
|
||||
| __ПредопределенныеЗначения.Пароль КАК Пароль,
|
||||
| ЛОЖЬ КАК СписокЗначений
|
||||
|ИЗ
|
||||
| ПредопределенныеЗначения КАК ПредопределенныеЗначения
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.__ПредопределенныеЗначения КАК __ПредопределенныеЗначения
|
||||
| ПО ПредопределенныеЗначения.ПредопределенноеЗначение = __ПредопределенныеЗначения.Ссылка
|
||||
| И (НЕ __ПредопределенныеЗначения.СписокЗначений)
|
||||
|
|
||||
|ОБЪЕДИНИТЬ ВСЕ
|
||||
|
|
||||
|ВЫБРАТЬ
|
||||
| ПредопределенныеЗначения.Имя,
|
||||
| НЕОПРЕДЕЛЕНО,
|
||||
| __ПредопределенныеЗначения.ЗначенияЭлементов.(
|
||||
| Значение
|
||||
| ),
|
||||
| ЛОЖЬ,
|
||||
| ИСТИНА
|
||||
|ИЗ
|
||||
| ПредопределенныеЗначения КАК ПредопределенныеЗначения
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.__ПредопределенныеЗначения КАК __ПредопределенныеЗначения
|
||||
| ПО ПредопределенныеЗначения.ПредопределенноеЗначение = __ПредопределенныеЗначения.Ссылка
|
||||
| И (__ПредопределенныеЗначения.СписокЗначений)";
|
||||
|
||||
Запрос.УстановитьПараметр("МассивИмен", МассивИмен);
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
|
||||
Выборка = РезультатЗапроса.Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
Значение = Неопределено;
|
||||
|
||||
Если Выборка.Пароль Тогда
|
||||
Значение = ПолучитьПарольПоИмени(Выборка.Имя);
|
||||
ИначеЕсли Выборка.СписокЗначений Тогда
|
||||
Значение = ОбщегоНазначения.ВыгрузитьКолонку(Выборка.ЗначенияЭлементов.Выгрузить(), "Значение", Истина);
|
||||
Иначе
|
||||
Значение = Выборка.Значение;
|
||||
КонецЕсли;
|
||||
|
||||
СоответствиеЗначений.Вставить(Выборка.Имя, Значение);
|
||||
КонецЦикла;
|
||||
|
||||
УстановитьПривилегированныйРежим(Ложь);
|
||||
|
||||
Возврат СоответствиеЗначений;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти // ПрограммныйИнтерфейс
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ПолучитьПарольПоИмени(Имя)
|
||||
|
||||
// ++ Обход ошибки отстутствия модуля БСП, не переносить
|
||||
ОбщегоНазначения = Неопределено;
|
||||
ОбщегоНазначенияКлиентСервер = Неопределено;
|
||||
// -- Обход ошибки отстутствия модуля БСП, не переносить
|
||||
|
||||
Значение = Неопределено;
|
||||
|
||||
ДанныеХранилища = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(
|
||||
Строка(ПланыВидовХарактеристик.__ПредопределенныеЗначения[Имя].УникальныйИдентификатор()));
|
||||
|
||||
Если ТипЗнч(ДанныеХранилища) = Тип("Структура") Тогда
|
||||
Значение = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДанныеХранилища, "bit_password", "");
|
||||
Иначе
|
||||
Значение = "";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Значение;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти // СлужебныеПроцедурыИФункции
|
||||
|
||||
#КонецЕсли
|
@ -49,6 +49,20 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает соответствие предопределенных элементов ПВХ по имени.
|
||||
//
|
||||
// Параметры:
|
||||
// Имя - Строка - Имена переменных ПВХ, перечисленные через запятую.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// - Соответствие - Соответствие имен и значений переменных ПВХ.
|
||||
//
|
||||
Функция ПолучитьПредопределенныеЗначения(Имена) Экспорт
|
||||
|
||||
Возврат ПланыВидовХарактеристик.__ПредопределенныеЗначения.ПолучитьЗначения(Имена);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает таблицу соответствий по отбору.
|
||||
//
|
||||
// Параметры:
|
||||
@ -56,13 +70,18 @@
|
||||
// Объект1 - ПроизвольныйТип - Объект1.
|
||||
// Объект2 - ПроизвольныйТип - Объект2.
|
||||
// Объект3 - ПроизвольныйТип - Объект3.
|
||||
// ИспользоватьТолькоКэш - Булево - Признак получения данных из кэша.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// - ТаблицаЗначений - Таблица соответствий по отбору.
|
||||
//
|
||||
Функция ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1 = Неопределено, Объект2 = Неопределено, Объект3 = Неопределено) Экспорт
|
||||
//
|
||||
Функция ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1 = Неопределено, Объект2 = Неопределено, Объект3 = Неопределено, ИспользоватьКэш = Ложь) Экспорт
|
||||
|
||||
Возврат РегистрыСведений.__СоответствияОбъектовИБ.ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1, Объект2, Объект3);
|
||||
Если ИспользоватьКэш Тогда
|
||||
Возврат __ОбщегоНазначенияПовтИсп.ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1, Объект2, Объект3);
|
||||
Иначе
|
||||
Возврат РегистрыСведений.__СоответствияОбъектовИБ.ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1, Объект2, Объект3);
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user