mirror of
https://github.com/firstBitSportivnaya/PSSL.git
synced 2024-11-21 17:56:47 +02:00
search for a match by ID (#62)
Изменен параметр получения соответствия на строковый идентификатор соответствия
This commit is contained in:
parent
19a90ad081
commit
99a7374d0a
@ -58,7 +58,7 @@
|
||||
// Возвращает таблицу соответствий по отбору.
|
||||
//
|
||||
// Параметры:
|
||||
// ТипСоответствия - Перечисление.__ТипСоответствияОбъектовИБ - Тип соответствия.
|
||||
// ИдентификаторНастройки - Строка - Идентификатор элемента справочника "Тип соответствия объектов ИБ".
|
||||
// Объект1 - ПроизвольныйТип - Объект1.
|
||||
// Объект2 - ПроизвольныйТип - Объект2.
|
||||
// Объект3 - ПроизвольныйТип - Объект3.
|
||||
@ -66,16 +66,20 @@
|
||||
// Возвращаемое значение:
|
||||
// - ТаблицаЗначений - Таблица соответствий по отбору.
|
||||
//
|
||||
Функция ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1 = Неопределено, Объект2 = Неопределено, Объект3 = Неопределено) Экспорт
|
||||
Функция ПолучитьСоответствиеОбъектовИБ(ИдентификаторНастройки, Объект1 = Неопределено, Объект2 = Неопределено, Объект3 = Неопределено) Экспорт
|
||||
|
||||
Возврат РегистрыСведений.__СоответствияОбъектовИБ.ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1, Объект2, Объект3);
|
||||
Возврат РегистрыСведений.__СоответствияОбъектовИБ.ПолучитьСоответствиеОбъектовИБ(
|
||||
ИдентификаторНастройки,
|
||||
Объект1,
|
||||
Объект2,
|
||||
Объект3);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает массив значений произвольного типа, объекта соответствия.
|
||||
//
|
||||
// Параметры:
|
||||
// ТипСоответствия - СправочникСсылка.__ТипСоответствияОбъектовИБ - Тип соответствия.
|
||||
// ИдентификаторНастройки - Строка - Идентификатор элемента справочника "Тип соответствия объектов ИБ".
|
||||
// ИмяКлюча - Строка - поле регистра сведений __СоответствияОбъектовИБ, по которому устанавливается отбор.
|
||||
// ЗначениеКлюча - ПроизвольныйТип - Значение ключа по которому установлен отбор.
|
||||
// ИмяОбъекта - Строка - получаемое поле регистра сведений __СоответствияОбъектовИБ.
|
||||
@ -84,10 +88,10 @@
|
||||
// - Массив - Значения объекта из регистра сведений __СоответствияОбъектовИБ,
|
||||
// если соответствие одно в массив будет один элемент
|
||||
//
|
||||
Функция ПолучитьЗначенияОбъектаСоответствияПоКлючу(ТипСоответствия, ИмяКлюча, ЗначениеКлюча, ИмяОбъекта) Экспорт
|
||||
Функция ПолучитьЗначенияОбъектаСоответствияПоКлючу(ИдентификаторНастройки, ИмяКлюча, ЗначениеКлюча, ИмяОбъекта) Экспорт
|
||||
|
||||
Возврат РегистрыСведений.__СоответствияОбъектовИБ.ПолучитьЗначенияОбъектаСоответствияПоКлючу(
|
||||
ТипСоответствия,
|
||||
ИдентификаторНастройки,
|
||||
ИмяКлюча,
|
||||
ЗначениеКлюча,
|
||||
ИмяОбъекта);
|
||||
|
@ -98,7 +98,7 @@
|
||||
// Возвращает массив структур соответствий по отбору
|
||||
//
|
||||
// Параметры:
|
||||
// ТипСоответствия - СправочникСсылка.__ТипСоответствияОбъектовИБ - Тип соответствия.
|
||||
// ИдентификаторНастройки - Строка - Идентификатор элемента справочника "Тип соответствия объектов ИБ".
|
||||
// Объект1 - ПроизвольныйТип - Объект1.
|
||||
// Объект2 - ПроизвольныйТип - Объект2.
|
||||
// Объект3 - ПроизвольныйТип - Объект3.
|
||||
@ -107,12 +107,16 @@
|
||||
// Возвращаемое значение:
|
||||
// - Массив - соответствие объектов ИБ в виде структур.
|
||||
//
|
||||
Функция ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1 = Неопределено, Объект2 = Неопределено, Объект3 = Неопределено, ИспользоватьКэш = Ложь) Экспорт
|
||||
Функция ПолучитьСоответствиеОбъектовИБ(ИдентификаторНастройки, Объект1 = Неопределено, Объект2 = Неопределено, Объект3 = Неопределено, ИспользоватьКэш = Ложь) Экспорт
|
||||
|
||||
Если ИспользоватьКэш Тогда
|
||||
Возврат __ОбщегоНазначенияПовтИсп.ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1, Объект2, Объект3);
|
||||
Возврат __ОбщегоНазначенияПовтИсп.ПолучитьСоответствиеОбъектовИБ(ИдентификаторНастройки, Объект1, Объект2, Объект3);
|
||||
Иначе
|
||||
Возврат РегистрыСведений.__СоответствияОбъектовИБ.ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1, Объект2, Объект3);
|
||||
Возврат РегистрыСведений.__СоответствияОбъектовИБ.ПолучитьСоответствиеОбъектовИБ(
|
||||
ИдентификаторНастройки,
|
||||
Объект1,
|
||||
Объект2,
|
||||
Объект3);
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
@ -779,7 +783,7 @@
|
||||
// Возвращает массив значений произвольного типа, объекта соответствия.
|
||||
//
|
||||
// Параметры:
|
||||
// ТипСоответствия - СправочникСсылка.__ТипСоответствияОбъектовИБ - Тип соответствия.
|
||||
// ИдентификаторНастройки - Строка - Идентификатор элемента справочника "Тип соответствия объектов ИБ".
|
||||
// ИмяКлюча - Строка - поле регистра сведений __СоответствияОбъектовИБ, по которому устанавливается отбор.
|
||||
// ЗначениеКлюча - ПроизвольныйТип - Значение ключа по которому установлен отбор.
|
||||
// ИмяОбъекта - Строка - получаемое поле регистра сведений __СоответствияОбъектовИБ.
|
||||
@ -789,17 +793,17 @@
|
||||
// - Массив - Значения объекта из регистра сведений __СоответствияОбъектовИБ,
|
||||
// если соответствие одно в массив будет один элемент
|
||||
//
|
||||
Функция ПолучитьЗначенияОбъектаСоответствияПоКлючу(ТипСоответствия, ИмяКлюча, ЗначениеКлюча, ИмяОбъекта, ИспользоватьКэш = Ложь) Экспорт
|
||||
Функция ПолучитьЗначенияОбъектаСоответствияПоКлючу(ИдентификаторНастройки, ИмяКлюча, ЗначениеКлюча, ИмяОбъекта, ИспользоватьКэш = Ложь) Экспорт
|
||||
|
||||
Если ИспользоватьКэш Тогда
|
||||
Возврат __ОбщегоНазначенияПовтИсп.ПолучитьЗначенияОбъектаСоответствияПоКлючу(
|
||||
ТипСоответствия,
|
||||
ИдентификаторНастройки,
|
||||
ИмяКлюча,
|
||||
ЗначениеКлюча,
|
||||
ИмяОбъекта);
|
||||
Иначе
|
||||
Возврат РегистрыСведений.__СоответствияОбъектовИБ.ПолучитьЗначенияОбъектаСоответствияПоКлючу(
|
||||
ТипСоответствия,
|
||||
ИдентификаторНастройки,
|
||||
ИмяКлюча,
|
||||
ЗначениеКлюча,
|
||||
ИмяОбъекта);
|
||||
|
@ -25,7 +25,7 @@
|
||||
// Возвращает массив структур соответствий по отбору.
|
||||
//
|
||||
// Параметры:
|
||||
// ТипСоответствия - СправочникСсылка.__ТипСоответствияОбъектовИБ - Тип соответствия.
|
||||
// ИдентификаторНастройки - Строка - Идентификатор элемента справочника "Тип соответствия объектов ИБ".
|
||||
// Объект1 - ПроизвольныйТип - Объект1.
|
||||
// Объект2 - ПроизвольныйТип - Объект2.
|
||||
// Объект3 - ПроизвольныйТип - Объект3.
|
||||
@ -33,7 +33,7 @@
|
||||
// Возвращаемое значение:
|
||||
// - Массив - соответствие объектов ИБ в виде структур.
|
||||
//
|
||||
Функция ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1 = Неопределено, Объект2 = Неопределено, Объект3 = Неопределено) Экспорт
|
||||
Функция ПолучитьСоответствиеОбъектовИБ(ИдентификаторНастройки, Объект1 = Неопределено, Объект2 = Неопределено, Объект3 = Неопределено) Экспорт
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
|
||||
@ -43,9 +43,10 @@
|
||||
| СоответствияОбъектовИБ.Объект2 КАК Объект2,
|
||||
| СоответствияОбъектовИБ.Объект3 КАК Объект3
|
||||
|ИЗ
|
||||
| РегистрСведений.__СоответствияОбъектовИБ КАК СоответствияОбъектовИБ
|
||||
|ГДЕ
|
||||
| СоответствияОбъектовИБ.ТипСоответствия = &ТипСоответствия";
|
||||
| Справочник.__ТипСоответствияОбъектовИБ КАК ТипСоответствияОбъектовИБ
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.__СоответствияОбъектовИБ КАК СоответствияОбъектовИБ
|
||||
| ПО (ТипСоответствияОбъектовИБ.ИдентификаторНастройки = &ИдентификаторНастройки)
|
||||
| И ТипСоответствияОбъектовИБ.Ссылка = СоответствияОбъектовИБ.ТипСоответствия";
|
||||
|
||||
Схема = Новый СхемаЗапроса();
|
||||
Схема.УстановитьТекстЗапроса(ТекстЗапроса);
|
||||
@ -73,7 +74,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Запрос.Текст = Схема.ПолучитьТекстЗапроса();
|
||||
Запрос.УстановитьПараметр("ТипСоответствия", ТипСоответствия);
|
||||
Запрос.УстановитьПараметр("ИдентификаторНастройки", ИдентификаторНастройки);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
@ -95,7 +96,7 @@
|
||||
// Возвращает массив значений произвольного типа, объекта соответствия.
|
||||
//
|
||||
// Параметры:
|
||||
// ТипСоответствия - СправочникСсылка.__ТипСоответствияОбъектовИБ - Тип соответствия.
|
||||
// ИдентификаторНастройки - Строка - Идентификатор элемента справочника "Тип соответствия объектов ИБ".
|
||||
// ИмяКлюча - Строка - поле регистра сведений __СоответствияОбъектовИБ, по которому устанавливается отбор.
|
||||
// ЗначениеКлюча - ПроизвольныйТип - Значение ключа по которому установлен отбор.
|
||||
// ИмяОбъекта - Строка - получаемое поле регистра сведений __СоответствияОбъектовИБ.
|
||||
@ -104,7 +105,7 @@
|
||||
// - Массив - Значения объекта из регистра сведений __СоответствияОбъектовИБ,
|
||||
// если соответствие одно в массив будет один элемент
|
||||
//
|
||||
Функция ПолучитьЗначенияОбъектаСоответствияПоКлючу(ТипСоответствия, ИмяКлюча, ЗначениеКлюча, ИмяОбъекта) Экспорт
|
||||
Функция ПолучитьЗначенияОбъектаСоответствияПоКлючу(ИдентификаторНастройки, ИмяКлюча, ЗначениеКлюча, ИмяОбъекта) Экспорт
|
||||
|
||||
МетаданныеРегистра = Метаданные.РегистрыСведений.__СоответствияОбъектовИБ;
|
||||
|
||||
@ -131,18 +132,31 @@
|
||||
Запрос = Новый Запрос;
|
||||
|
||||
ТекстЗапроса =
|
||||
"ВЫБРАТЬ
|
||||
| __СоответствияОбъектовИБ.%1 КАК Объект
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| СоответствияОбъектовИБ.Объект1 КАК Объект
|
||||
|ИЗ
|
||||
| РегистрСведений.__СоответствияОбъектовИБ КАК __СоответствияОбъектовИБ
|
||||
| Справочник.__ТипСоответствияОбъектовИБ КАК ТипСоответствияОбъектовИБ
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.__СоответствияОбъектовИБ КАК СоответствияОбъектовИБ
|
||||
| ПО (ТипСоответствияОбъектовИБ.ИдентификаторНастройки = &ИдентификаторНастройки)
|
||||
| И ТипСоответствияОбъектовИБ.Ссылка = СоответствияОбъектовИБ.ТипСоответствия
|
||||
|ГДЕ
|
||||
| __СоответствияОбъектовИБ.ТипСоответствия = &ТипСоответствия
|
||||
| И __СоответствияОбъектовИБ.%2 = &Ключ";
|
||||
| СоответствияОбъектовИБ.Объект2 = &Ключ";
|
||||
|
||||
Запрос.Текст = СтрШаблон(ТекстЗапроса, ИмяОбъекта, ИмяКлюча);
|
||||
ВыражениеПоля = СтрШаблон("СоответствияОбъектовИБ.%1", ИмяОбъекта);
|
||||
ТекстЗапроса = __СхемыЗапросов.ДобавитьПолеВыборкиВЗапрос(ТекстЗапроса, ВыражениеПоля, "Объект", , , Истина);
|
||||
|
||||
СхемаЗапроса = Новый СхемаЗапроса;
|
||||
СхемаЗапроса.УстановитьТекстЗапроса(ТекстЗапроса);
|
||||
Отбор = СхемаЗапроса.ПакетЗапросов[0].Операторы[0].Отбор;
|
||||
|
||||
ВыражениеОтбора = Новый ВыражениеСхемыЗапроса(СтрШаблон("СоответствияОбъектовИБ.%1 = &Ключ", ИмяКлюча));
|
||||
Отбор.Установить(0, ВыражениеОтбора);
|
||||
ТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса();
|
||||
|
||||
Запрос.Текст = ТекстЗапроса;
|
||||
|
||||
Запрос.УстановитьПараметр("Ключ", ЗначениеКлюча);
|
||||
Запрос.УстановитьПараметр("ТипСоответствия", ТипСоответствия);
|
||||
Запрос.УстановитьПараметр("ИдентификаторНастройки", ИдентификаторНастройки);
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
ТаблицаОбъектов = Запрос.Выполнить().Выгрузить();
|
||||
|
Loading…
Reference in New Issue
Block a user