1С 8.3 Конвертировать объект в Структуру
Данные > Примеры кода 1С > 1С 8.3 Cтруктура
Перейти в основной раздел:
Возвращает структуру реквизитов объекта или ссылки, включая стандартные реквизиты и реквизиты табличной части. Можно использовать, если необходимо, например, эмулировать вызов метода, использующего объект формы.
Конвертировать Документ/Справочник в Структуру в 1С 8.3:
// Возвращает структуру реквизитов объекта или ссылки, включая стандартные реквизиты и реквизиты табличной части.
// Можно использовать, если необходимо, например, эмулировать вызов метода, использующего объект формы.
//
// Параметры:
// ВходящийОбъект - ЛюбаяСсылка или ЛюбойОбъект
//
// Возвращаемое значение:
// Структура
//
Функция КонвертироватьОбъектВСтруктуру(ВходящийОбъект)
СтруктураОбъекта = Новый Структура;
СтандартныеРеквизитыОбъекта = ВходящийОбъект.Метаданные().СтандартныеРеквизиты;
Для Каждого СтандартныйРеквизит Из СтандартныеРеквизитыОбъекта Цикл
СтруктураОбъекта.Вставить(СтандартныйРеквизит.Имя, ВходящийОбъект[СтандартныйРеквизит.Имя]);
КонецЦикла;
РеквизитыОбъекта = ВходящийОбъект.Метаданные().Реквизиты;
Для Каждого Реквизит Из РеквизитыОбъекта Цикл
СтруктураОбъекта.Вставить(Реквизит.Имя, ВходящийОбъект[Реквизит.Имя]);
КонецЦикла;
ТЧ = ВходящийОбъект.Метаданные().ТабличныеЧасти;
Для Каждого ТаблЧасть Из ТЧ Цикл
ТЗ = ВходящийОбъект[ТаблЧасть.Имя].Выгрузить();
Массив = ОбщегоНазначения.ТаблицаЗначенийВМассив(ТЗ);
СтруктураОбъекта.Вставить(ТаблЧасть.Имя, Массив);
КонецЦикла;
Возврат СтруктураОбъекта;
КонецФункции
// Можно использовать, если необходимо, например, эмулировать вызов метода, использующего объект формы.
//
// Параметры:
// ВходящийОбъект - ЛюбаяСсылка или ЛюбойОбъект
//
// Возвращаемое значение:
// Структура
//
Функция КонвертироватьОбъектВСтруктуру(ВходящийОбъект)
СтруктураОбъекта = Новый Структура;
СтандартныеРеквизитыОбъекта = ВходящийОбъект.Метаданные().СтандартныеРеквизиты;
Для Каждого СтандартныйРеквизит Из СтандартныеРеквизитыОбъекта Цикл
СтруктураОбъекта.Вставить(СтандартныйРеквизит.Имя, ВходящийОбъект[СтандартныйРеквизит.Имя]);
КонецЦикла;
РеквизитыОбъекта = ВходящийОбъект.Метаданные().Реквизиты;
Для Каждого Реквизит Из РеквизитыОбъекта Цикл
СтруктураОбъекта.Вставить(Реквизит.Имя, ВходящийОбъект[Реквизит.Имя]);
КонецЦикла;
ТЧ = ВходящийОбъект.Метаданные().ТабличныеЧасти;
Для Каждого ТаблЧасть Из ТЧ Цикл
ТЗ = ВходящийОбъект[ТаблЧасть.Имя].Выгрузить();
Массив = ОбщегоНазначения.ТаблицаЗначенийВМассив(ТЗ);
СтруктураОбъекта.Вставить(ТаблЧасть.Имя, Массив);
КонецЦикла;
Возврат СтруктураОбъекта;
КонецФункции
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник