С типами понятно, ПакетXDTO.Получить("СписокТоваров"). А свойства зачем?
Помимо этого под свойством любого типа типа можно создать "определение типа" и так по иерархии. Тоже не совсем понятно зачем это поскольку во всех примерах типы идут одним списком без вложений.
Документ - тип.
реквизит - свойства этого типа.
ТЧ - тоже тип. хотя тут да, тут удобнее сделать вложенный тип поскольку он больше ни в одном другом свойстве не будет использоваться.
Но корневые свойства зачем?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший