diff --git "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" index e075fb4..8469060 100644 --- "a/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" +++ "b/src/\320\234\320\276\320\264\321\203\320\273\320\270/\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.os" @@ -207,10 +207,7 @@ Результат = Новый Массив(); Для Каждого ТекЭлемент Из МассивЭлементов Цикл - ЭлементДляДобавления = Новый Соответствие(); - Для Каждого ТекПоле Из ПоляЭлемента Цикл - ЭлементДляДобавления.Вставить(ТекПоле.Ключ, ТекЭлемент.Получить(ТекПоле.Ключ)); - КонецЦикла; + ЭлементДляДобавления = ОбъектВСоответствие(ТекЭлемент, ПоляЭлемента); Результат.Добавить(ЭлементДляДобавления); КонецЦикла; @@ -218,6 +215,31 @@ КонецФункции // МассивОбъектовВМассивСоответствий() +// Функция преобразует все объект кластера в соответствия с аналогичным набором полей +// +// Параметры: +// Объект - Произвольный - Обрабатываемый объект +// ПоляОбъекта - Соответствие - Описания полей объекта +// +// Возвращаемое значение: +// Соответствие - объект для преобразования +// +Функция ОбъектВСоответствие(Объект, ПоляОбъекта) Экспорт + + Если ТипЗнч(Объект) = Тип("Соотвествие") Тогда + Возврат Объект; + КонецЕсли; + + Результат = Новый Соответствие(); + + Для Каждого ТекПоле Из ПоляОбъекта Цикл + Результат.Вставить(ТекПоле.Ключ, Объект.Получить(ТекПоле.Ключ)); + КонецЦикла; + + Возврат Результат; + +КонецФункции // ОбъектВСоответствие() + // Функция признак необходимости обновления данных // // Параметры: