1
0
mirror of https://github.com/firstBitSportivnaya/PSSL.git synced 2024-11-24 08:42:27 +02:00
PSSL/docs/СоответствиеОбъектовИнформационнойБазы.md
DenisUshakov f2b4e99c67
Changing prefixes (#71)
Изменен префикс на пбп_
2024-05-15 12:49:31 +03:00

4.3 KiB

Подсистема "Соответствие объектов информационной базы"

Для хранения соответствия 2-3х объектов в системе предназначен регистр сведений (РС) пбп_СоответствияОбъектовИБ. В некоторых случаях можно создавать отдельные регистры (при использовании в высоконагруженных транзакциях или при наличии большого (более 100) количества соответствий или при более чем 3 соответствующих объектов).

Порядок создания соответствия:

  • Добавить новое значение в перечисление "Тип соответствия объектов ИБ", если нужно, расширить типы измерений/ресурсов через определяемый тип пбп_ТипыОбъектовСоответствийИБ.
  • Создаем запись в регистре

Варианты получения соответствия:

  • пбп_ОбщегоНазначенияСервер.ПолучитьСоответствиеОбъектовИБ(ИдентификаторНастройки, Объект1, Объект2, Объект3, ИспользоватьКэш) - (параметры: Объект1, Объект2, Объект3, ИспользоватьКэш - необязательные) - Возвращает массив структур соответствий по установленному отбору
  • пбп_ОбщегоНазначенияСервер.ПолучитьЗначенияОбъектаСоответствияПоКлючу(ИдентификаторНастройки, ИмяКлюча, ЗначениеКлюча, ИмяОбъекта, ИспользоватьКэш) - (параметры: ИспользоватьКэш - необязательные) - Возвращает массив значений произвольного типа, объекта соответствия.
  • Делать соединение с регистром в запросах
  1. ПолучитьСоответствиеОбъектовИБ - Позволяет фильтровать результаты по трем объектам.
Процедура Тест()
    // Вызов метода с заданными параметрами
    ИдентификаторНастройки = "Тест";
    МассивСоответствий = пбп_ОбщегоНазначенияСервер.ПолучитьСоответствиеОбъектовИБ(ИдентификаторНастройки, Тест1, Тест2, , Истина);

    Если ЗначениеЗаполнено(МассивСоответствий) Тогда
        РезультатТест = МассивСоответствий[0].Объект3;
    КонецЕсли;

КонецПроцедуры
  1. ПолучитьЗначенияОбъектаСоответствияПоКлючу - Позволяет получить массив значений по ключу
Процедура Тест()
    ИмяКлюча = "Объект1";
    ЗначениеКлюча = Склад;
    ИмяОбъекта = "Объект3";
    // Вызов метода с заданными параметрами
    ИдентификаторНастройки = "Тест";
    Значения = пбп_ОбщегоНазначенияСервер.ПолучитьЗначенияОбъектаСоответствияПоКлючу(ИдентификаторНастройки, "Объект1", Тест, "Объект2");
    
    // Пример использования полученного массива значений
    Если ЗначениеЗаполнено(Значения) Тогда
        Для Каждого Значение Из Значения Цикл
            Сообщить("Значение объекта: " + Значение);
        КонецЦикла;
    Иначе
        Сообщить("По заданному ключу объекты не найдены.");
    КонецЕсли;
КонецПроцедуры