Всем привет. Столкнулся со следующей задачей: есть необходимость хранить в документе и отображать на форме в виде дерева значений следующую иерархическую структуру (см. рисунок во вложении).
Колонки ОргОбъект, ТехническоеМесто и Передано - заполняются на основании данных поставщика. ТехническоеМесто подчинено ОргОбъекту.
Колонки по клиентам хранят в себе информацию о том, сколько получил каждый клиент - заполняются на основании данных, полученных от клиентов.. Сумма полученных значений от клиентов не всегда равна значению в колонке Передано. Иногда бывают потери.
На данный момент всё это хранится в таблицах Excel. Нужно разработать формат хранения в 1С.

Я решил хранить данные в двух табличных частях: ДанныеОтПоставщика и ДанныеОтКлиентов, а связывать их через поле КлючСтроки. Транспонировать с помощью СКД. Для транспонирования с помощью СКД использовал это и это. Транспонировал с помощью группировки в таблицу.

Но в итоге получаю следующую ошибку СКД: Ошибка генерации макета по причине:
Не поддерживается вывод таблиц и диаграмм в универсальную коллекцию значений.

Подскажите, пожалуйста, каким образом это лучше хранить и как это отображать на форме?
---
Допустим, вывести не проблема.
Выбираете различных клиентов (из тех, что есть в тч2), в цикле обходите их, создаете реквизиты формы, создаете элементы формы. Запоминаете в соответствие клиентов и имена колонок.

Потом заполняете получившуюся таблицу данными.

Интерфейсно сложнее изменить их состав.
---
Не очень понятно, зачем все это - СКД, траспонирование и прочее.
Допустим будет 10 разных клиентов, у каждого из которых 1 строка в первой таблице.
И вы собираетесь сделать 10 колонок - для каждого из клиентов, в которых значение будет только в одной из ячеек. А если клиентов будет 20 или 50? Как с этим работать?
---
клиентов будет максимум 15-20. Это требование заказчика. Видеть разрез по клиентам.
---
Именно чтобы клиенты были в шапке?

Можно сделать 2 разные таблицы, и выводить их обе на форму.
Можно сделать дерево.
Можно сделать 1 таблицу, в которой клиенты в шапке.

Но если клиентов много, то в колонки вставлять, кажется, не самое удачное решение.
Особенно если это надо вводить вручную, а не только отображать, то есть перечень клиентов, которые выводятся, редактируется в пользовательском режиме.

Вариант хранения - вы правильно написали, 2 таблицы с полем ключем.
---
Этот вариант (который у вас на скрине) мне тоже больше нравится. Но изначальная договоренность была, чтобы клиенты были в шапке, т.к. в Excel файле заказчика клиенты хранились в виде колонок. Уточню ещё раз этот вопрос.
---
уточнил. Все клиенты должны быть в колонках
---
Допустим, вывести не проблема.
Выбираете различных клиентов (из тех, что есть в тч2), в цикле обходите их, создаете реквизиты формы, создаете элементы формы. Запоминаете в соответствие клиентов и имена колонок.

Потом заполняете получившуюся таблицу данными.

Интерфейсно сложнее изменить их состав.
---
Так и сделал. Спасибо
---
Как хранить не знаю, отображать дерево или таблицу не через СКД (СКД не умеет программно выводить таблицу в коллекцию)
---
да я уже понял, что не через СКД
---
Все хранить в одной табличной части, ключ строки тогда не нужен, ее же выводить в дерево программно или в виде отчета на форму.
---
например так
ОргОбъект ТехническоеМесто Передано КлючСтроки Клиент Получено
Объект1 Место1 50 1 Клиент1 20
Объект1 Место1 50 1 Клиент2 30
Объект1 Место1 50 1 Клиент3 0

  Место1 Передано Получено
+ Объект1 50 50
- Клиент1 20
- Клиент2 30
- Клиент3 0
---
Изначально так и думал, но колонки ОргОбъект ТехническоеМесто Передано будут многократно дублироваться. Будет возникать большая избыточность. Особенно это будет заметно, думаю, на большом количестве строк
---
Тогда делайте по своему варианту - 2 таблицы, соединяйте их запросом по ключу, используйте итоги в запросе и это дерево из запроса выводите в дерево на форме
---
Допустим. Но как в таком случае вывести клиентов в колонки дерева значений?
---
Для дерева - клиенты в строках.
Именно для этой цели и дерево, а не таблица, потому что для одной строки дерева (с местом) можно добавить подчиненные строки (с клиентами).
---
а какой в этом смысл тогда? пришлите скрин дерева, которое вы хотите получить
---
Резюмируя, можно сказать, что хранить такую информацию можно и в одной ТЧ, можно и в двух. Я бы организовал хранение в двух. Данные по каждому клиенту - в отдельной строке. А при выводе информации на форму для каждого отдельного клиента добавлялась бы своя колонка. Другое дело, что, вероятно, имеет смысл выводить информацию не в Таблицу, а в ТабличныйДокумент. И да, тут пригодится СКД, в настройках которой которой можно задать группировку в колонках таблицы по полю Клиент.

Если не хочется ваять обработчики для работы с Табличным документом, можно посмотреть, как работает вывод дерева из обычных ТЧ в типовых конфах. См. Табличная часть и визуальное отображение иерархии элементов
---
Нет, с ТабДоком заморачиваться не очень хочется. Сделал динамический вывод колонок.