1
0
mirror of https://github.com/firstBitSportivnaya/PSSL.git synced 2024-11-24 08:42:27 +02:00

C:/Program Files/Git/Closes #24 Добавлено кеширование для ПВХ

This commit is contained in:
DevelopersUsername 2022-09-14 18:27:44 +03:00
parent 1837ce4772
commit e290815365
3 changed files with 89 additions and 10 deletions

View File

@ -40,11 +40,13 @@
// //
// Параметры: // Параметры:
// Имя - Строка - Имена переменных ПВХ, перечисленные через запятую. // Имя - Строка - Имена переменных ПВХ, перечисленные через запятую.
// ВРазрезеКлючей - Булево - Признак получения данных в виде соответствия, где Ключ - Имя переменной.
// //
// Возвращаемое значение: // Возвращаемое значение:
// - Соответствие - Соответствие имен и значений переменных ПВХ. // - Соответствие - Соответствие имен и значений переменных ПВХ.
// - Массив - Массив значений переменных ПВХ.
// //
Функция ПолучитьПредопределенныеЗначения(Имена) Экспорт Функция ПолучитьЗначения(Имена, ВРазрезеКлючей = Ложь) Экспорт
// ++ Обход ошибки отстутствия модуля БСП, не переносить // ++ Обход ошибки отстутствия модуля БСП, не переносить
ОбщегоНазначения = Неопределено; ОбщегоНазначения = Неопределено;
@ -54,13 +56,17 @@
УстановитьПривилегированныйРежим(Истина); УстановитьПривилегированныйРежим(Истина);
СоответствиеЗначений = Новый Соответствие; Если ВРазрезеКлючей Тогда
Значения = Новый Соответствие;
Иначе
Значения = Новый Массив;
КонецЕсли;
МассивИмен = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Имена); МассивИмен = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Имена);
МассивИмен = ОбщегоНазначенияКлиентСервер.СвернутьМассив(МассивИмен); МассивИмен = ОбщегоНазначенияКлиентСервер.СвернутьМассив(МассивИмен);
Если Не МассивИмен.Количество() Тогда Если Не МассивИмен.Количество() Тогда
Возврат СоответствиеЗначений; Возврат Значения;
КонецЕсли; КонецЕсли;
Запрос = Новый Запрос; Запрос = Новый Запрос;
@ -119,12 +125,25 @@
Значение = Выборка.Значение; Значение = Выборка.Значение;
КонецЕсли; КонецЕсли;
СоответствиеЗначений.Вставить(Выборка.Имя, Значение); Если ВРазрезеКлючей Тогда
Значения.Вставить(Выборка.Имя, Значение);
Иначе
Если ТипЗнч(Значение) = Тип("Массив") Тогда
ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Значения, Значение);
Иначе
Значения.Добавить(Значение);
КонецЕсли;
КонецЕсли;
КонецЦикла; КонецЦикла;
Если Не ВРазрезеКлючей Тогда
Значения = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Значения);
КонецЕсли;
УстановитьПривилегированныйРежим(Ложь); УстановитьПривилегированныйРежим(Ложь);
Возврат СоответствиеЗначений; Возврат Значения;
КонецФункции КонецФункции

View File

@ -4,6 +4,54 @@
#Область ПрограммныйИнтерфейс #Область ПрограммныйИнтерфейс
// Возвращает значение предопределенного элемента ПВХ по имени.
//
// Параметры:
// Имя - Строка - Имя переменной ПВХ.
//
// Возвращаемое значение:
// - ПроизвольныйТип - Значение переменной ПВХ.
// - Массив - Массив значений переменной ПВХ.
//
Функция ПолучитьПредопределенноеЗначение(Имя) Экспорт
Возврат ПланыВидовХарактеристик.__ПредопределенныеЗначения.ПолучитьЗначение(Имя);
КонецФункции
// Возвращает соответствие предопределенных элементов ПВХ по имени.
//
// Параметры:
// Имя - Строка - Имена переменных ПВХ, перечисленные через запятую.
// ВРазрезеКлючей - Булево - Признак получения данных в виде соответствия, где Ключ - Имя переменной.
//
// Возвращаемое значение:
// - Соответствие - Соответствие имен и значений переменных ПВХ.
// - Массив - Массив значений переменных ПВХ.
//
Функция ПолучитьПредопределенныеЗначения(Имена, ВРазрезеКлючей = Ложь) Экспорт
Возврат ПланыВидовХарактеристик.__ПредопределенныеЗначения.ПолучитьЗначения(Имена, ВРазрезеКлючей);
КонецФункции
// Возвращает таблицу соответствий по отбору.
//
// Параметры:
// ТипСоответствия - Перечисление.__ТипСоответствияОбъектовИБ - Тип соответствия.
// Объект1 - ПроизвольныйТип - Объект1.
// Объект2 - ПроизвольныйТип - Объект2.
// Объект3 - ПроизвольныйТип - Объект3.
//
// Возвращаемое значение:
// - ТаблицаЗначений - Таблица соответствий по отбору.
//
Функция ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1 = Неопределено, Объект2 = Неопределено, Объект3 = Неопределено) Экспорт
Возврат РегистрыСведений.__СоответствияОбъектовИБ.ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1, Объект2, Объект3);
КонецФункции
#Область ПодпискиНаСобытияДокументов #Область ПодпискиНаСобытияДокументов
// Определяет соответствие типа источника подписки и имени метода. // Определяет соответствие типа источника подписки и имени метода.

View File

@ -38,14 +38,19 @@
// //
// Параметры: // Параметры:
// Имя - Строка - Имя переменной ПВХ. // Имя - Строка - Имя переменной ПВХ.
// ИспользоватьКэш - Булево - Признак получения данных из кэша.
// //
// Возвращаемое значение: // Возвращаемое значение:
// - ПроизвольныйТип - Значение переменной ПВХ. // - ПроизвольныйТип - Значение переменной ПВХ.
// - Массив - Массив значений переменной ПВХ. // - Массив - Массив значений переменной ПВХ.
// //
Функция ПолучитьПредопределенноеЗначение(Имя) Экспорт Функция ПолучитьПредопределенноеЗначение(Имя, ИспользоватьКэш = Ложь) Экспорт
Возврат ПланыВидовХарактеристик.__ПредопределенныеЗначения.ПолучитьЗначение(Имя); Если ИспользоватьКэш Тогда
Возврат __ОбщегоНазначенияПовтИсп.ПолучитьПредопределенноеЗначение(Имя);
Иначе
Возврат ПланыВидовХарактеристик.__ПредопределенныеЗначения.ПолучитьЗначение(Имя);
КонецЕсли;
КонецФункции КонецФункции
@ -53,13 +58,20 @@
// //
// Параметры: // Параметры:
// Имя - Строка - Имена переменных ПВХ, перечисленные через запятую. // Имя - Строка - Имена переменных ПВХ, перечисленные через запятую.
// ВРазрезеКлючей - Булево - Признак получения данных в виде соответствия, где Ключ - Имя переменной.
// ИспользоватьКэш - Булево - Признак получения данных из кэша.
// //
// Возвращаемое значение: // Возвращаемое значение:
// - Соответствие - Соответствие имен и значений переменных ПВХ. // - Соответствие - Соответствие имен и значений переменных ПВХ.
// - Массив - Массив значений переменных ПВХ.
// //
Функция ПолучитьПредопределенныеЗначения(Имена) Экспорт Функция ПолучитьПредопределенныеЗначения(Имена, ВРазрезеКлючей = Ложь, ИспользоватьКэш = Ложь) Экспорт
Возврат ПланыВидовХарактеристик.__ПредопределенныеЗначения.ПолучитьЗначения(Имена); Если ИспользоватьКэш Тогда
Возврат __ОбщегоНазначенияПовтИсп.ПолучитьПредопределенныеЗначения(Имена, ВРазрезеКлючей);
Иначе
Возврат ПланыВидовХарактеристик.__ПредопределенныеЗначения.ПолучитьЗначения(Имена, ВРазрезеКлючей);
КонецЕсли;
КонецФункции КонецФункции
@ -70,7 +82,7 @@
// Объект1 - ПроизвольныйТип - Объект1. // Объект1 - ПроизвольныйТип - Объект1.
// Объект2 - ПроизвольныйТип - Объект2. // Объект2 - ПроизвольныйТип - Объект2.
// Объект3 - ПроизвольныйТип - Объект3. // Объект3 - ПроизвольныйТип - Объект3.
// ИспользоватьТолькоКэш - Булево - Признак получения данных из кэша. // ИспользоватьКэш - Булево - Признак получения данных из кэша.
// //
// Возвращаемое значение: // Возвращаемое значение:
// - ТаблицаЗначений - Таблица соответствий по отбору. // - ТаблицаЗначений - Таблица соответствий по отбору.