mirror of
https://github.com/firstBitSportivnaya/PSSL.git
synced 2024-11-24 08:42:27 +02:00
f2b4e99c67
Изменен префикс на пбп_
4.3 KiB
4.3 KiB
Подсистема "Соответствие объектов информационной базы"
Для хранения соответствия 2-3х объектов в системе предназначен регистр сведений (РС) пбп_СоответствияОбъектовИБ. В некоторых случаях можно создавать отдельные регистры (при использовании в высоконагруженных транзакциях или при наличии большого (более 100) количества соответствий или при более чем 3 соответствующих объектов).
Порядок создания соответствия:
- Добавить новое значение в перечисление "Тип соответствия объектов ИБ", если нужно, расширить типы измерений/ресурсов через определяемый тип пбп_ТипыОбъектовСоответствийИБ.
- Создаем запись в регистре
Варианты получения соответствия:
- пбп_ОбщегоНазначенияСервер.ПолучитьСоответствиеОбъектовИБ(ИдентификаторНастройки, Объект1, Объект2, Объект3, ИспользоватьКэш) - (параметры: Объект1, Объект2, Объект3, ИспользоватьКэш - необязательные) - Возвращает массив структур соответствий по установленному отбору
- пбп_ОбщегоНазначенияСервер.ПолучитьЗначенияОбъектаСоответствияПоКлючу(ИдентификаторНастройки, ИмяКлюча, ЗначениеКлюча, ИмяОбъекта, ИспользоватьКэш) - (параметры: ИспользоватьКэш - необязательные) - Возвращает массив значений произвольного типа, объекта соответствия.
- Делать соединение с регистром в запросах
- ПолучитьСоответствиеОбъектовИБ - Позволяет фильтровать результаты по трем объектам.
Процедура Тест()
// Вызов метода с заданными параметрами
ИдентификаторНастройки = "Тест";
МассивСоответствий = пбп_ОбщегоНазначенияСервер.ПолучитьСоответствиеОбъектовИБ(ИдентификаторНастройки, Тест1, Тест2, , Истина);
Если ЗначениеЗаполнено(МассивСоответствий) Тогда
РезультатТест = МассивСоответствий[0].Объект3;
КонецЕсли;
КонецПроцедуры
- ПолучитьЗначенияОбъектаСоответствияПоКлючу - Позволяет получить массив значений по ключу
Процедура Тест()
ИмяКлюча = "Объект1";
ЗначениеКлюча = Склад;
ИмяОбъекта = "Объект3";
// Вызов метода с заданными параметрами
ИдентификаторНастройки = "Тест";
Значения = пбп_ОбщегоНазначенияСервер.ПолучитьЗначенияОбъектаСоответствияПоКлючу(ИдентификаторНастройки, "Объект1", Тест, "Объект2");
// Пример использования полученного массива значений
Если ЗначениеЗаполнено(Значения) Тогда
Для Каждого Значение Из Значения Цикл
Сообщить("Значение объекта: " + Значение);
КонецЦикла;
Иначе
Сообщить("По заданному ключу объекты не найдены.");
КонецЕсли;
КонецПроцедуры