diff --git "a/docs/\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213.md" "b/docs/\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213.md" index e3db903d..d7f714a3 100644 --- "a/docs/\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213.md" +++ "b/docs/\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213.md" @@ -1,22 +1,30 @@ # Соответствие объектов информационной базы через регистр сведений +Для хранения соответствия 2-3х объектов в системе предназначен регистр сведений (РС) __СоответствияОбъектовИБ. В некоторых случаях можно создавать отдельные регистры (при использовании в высоконагруженных транзакциях или при наличии большого (более 100) количества соответствий или при более чем 3 соответствующих объектов). + +Порядок создания соответствия: + - Добавить новое значение в перечисление __ТипСоответствияОбъектовИБ, если нужно, расширить типы измерений через определяемый тип __ТипыОбъектовСоответствийИБ. + - Создаем запись в регистре + +Варианты получения соответствия: + - **__ОбщегоНазначенияСервер.ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1, Объект2, Объект3, ИспользоватьКэш)** - (параметры: Объект1, Объект2, Объект3, ИспользоватьКэш - необязательные) - Возвращает массив структур соответствий по установленному отбору + - **__ОбщегоНазначенияСервер.ПолучитьЗначенияОбъектаСоответствияПоКлючу(ТипСоответствия, ИмяКлюча, ЗначениеКлюча, ИмяОбъекта, ИспользоватьКэш)** - (параметры: ИспользоватьКэш - необязательные) - Возвращает массив значений произвольного типа, объекта соответствия. + - Делать соединение с регистром в запросах + 1. ПолучитьСоответствиеОбъектовИБ - Позволяет фильтровать результаты по трем объектам. ```1C (BSL) Процедура Тест() // Вызов метода с заданными параметрами - МассивСоответствий = __ОбщегоНазначенияСервер.ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1, Объект2, , Истина); - - // Пример обработки полученного массива структур - Для Каждого Соответствие Из МассивСоответствий Цикл - Сообщить("Тип соответствия: " + Соответствие.ТипСоответствия); - Сообщить("Объект 1: " + Соответствие.Объект1); - Сообщить("Объект 2: " + Соответствие.Объект2); - Сообщить("Объект 3: " + Соответствие.Объект3); - КонецЦикла; + МассивСоответствий = __ОбщегоНазначенияСервер.ПолучитьСоответствиеОбъектовИБ(Перечисления.__ТипСоответствияОбъектовИБ.Тест, Тест1, Тест2, , Истина); + + Если ЗначениеЗаполнено(МассивСоответствий) Тогда + РезультатТест = МассивСоответствий[0].Объект3; + КонецЕсли; + КонецПроцедуры ``` -2. ПолучитьЗначенияОбъектаСоответствияПоКлючу +2. ПолучитьЗначенияОбъектаСоответствияПоКлючу - Позволяет получить массив значений по ключу ```1C (BSL) Процедура Тест() @@ -24,7 +32,7 @@ ЗначениеКлюча = Склад; ИмяОбъекта = "Объект3"; // Вызов метода с заданными параметрами - Значения = __ОбщегоНазначенияСервер.ПолучитьЗначенияОбъектаСоответствияПоКлючу(ТипСоответствия, ИмяКлюча, ЗначениеКлюча, ИмяОбъекта); + Значения = __ОбщегоНазначенияСервер.ПолучитьЗначенияОбъектаСоответствияПоКлючу(Перечисления.__ТипСоответствияОбъектовИБ.Тест, "Объект1", Тест, "Объект2"); // Пример использования полученного массива значений Если ЗначениеЗаполнено(Значения) Тогда