Skip to content

Latest commit

 

History

History
48 lines (39 loc) · 4.29 KB

СоответствиеОбъектовИнформационнойБазы.md

File metadata and controls

48 lines (39 loc) · 4.29 KB

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

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

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

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

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

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

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

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