Реквизиты объекта преобразовываются в структуры, в которых реквизиты подчиненных объектов тоже преобразуются в структуры - пока объект не развернется до иерархической структуры, содержащей значения простого типа
Уровень вхождения можно ограничить параметром, тогда конечное значение будет преобразовано в строку
Может использоваться:
- при работе с сервером с клиента (универсальность может сказаться на производительности, но тут важен контекст задачи),
- при работе с 1С по COM-интерфейсу,
- при выгрузке в XML структура простых типов выгружается предельно просто (что продемонстрировано в прилагаемой обработке). Избыточность, конечно, зашкаливает - но зачастую бывает, что на это не стоит обращать внимание
- при сохранении версий объекта при записи
В качестве бонуса к последней опции - Функция СравнитьВеткиСтруктуры() - позволяет сравнить две структуры на изменения (к примеру: для контроля изменений в версиях)
Основной функционал:
Функция ПреобразоватьОбъектВСтруктуру(Объект, НаСервере = Ложь, СтруктураСоответствия = Неопределено, Исключения = Неопределено) Экспорт
Функция ПривестиОбъектыВСтруктуреКПростомуТипу(СтруктураОбъекта, Уровень = 0, МаксимальныйУровень = Неопределено, НаСервере = Ложь) Экспорт
Функция СравнитьВеткиСтруктуры(элемент1, элемент2, СтруктураСравнения, Исключения = "", ПрерватьПриРазличии = Ложь) Экспорт
upd 20130227: вывожу УникальныйИдентификатор в любом случае
на всякий случай только заккоментировал //Если НаСервере Тогда - поиском 1 раз встречается