Дерево значений на форме. Транспонирование с помощью СКД и хранение в ТЧ

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

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

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


Подскажите, пожалуйста, каким образом это лучше хранить и как это отображать на форме?
Прикрепленные файлы:
Вознаграждение за ответ
Показать полностью
Найденные решения
15. Sashares 34 11.08.20 09:50 Сейчас в теме +1 $m
(14)Допустим, вывести не проблема.
Выбираете различных клиентов (из тех, что есть в тч2), в цикле обходите их, создаете реквизиты формы, создаете элементы формы. Запоминаете в соответствие клиентов и имена колонок.

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

Интерфейсно сложнее изменить их состав.
Drivingblind; ipoloskov; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Sashares 34 11.08.20 09:07 Сейчас в теме
(1)Не очень понятно, зачем все это - СКД, траспонирование и прочее.
Допустим будет 10 разных клиентов, у каждого из которых 1 строка в первой таблице.
И вы собираетесь сделать 10 колонок - для каждого из клиентов, в которых значение будет только в одной из ячеек. А если клиентов будет 20 или 50? Как с этим работать?
5. Drivingblind 228 11.08.20 09:11 Сейчас в теме
(4) клиентов будет максимум 15-20. Это требование заказчика. Видеть разрез по клиентам.
8. Sashares 34 11.08.20 09:13 Сейчас в теме
(5)Именно чтобы клиенты были в шапке?

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

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

Вариант хранения - вы правильно написали, 2 таблицы с полем ключем.
Прикрепленные файлы:
Drivingblind; +1 Ответить
11. Drivingblind 228 11.08.20 09:27 Сейчас в теме
(8) Этот вариант (который у вас на скрине) мне тоже больше нравится. Но изначальная договоренность была, чтобы клиенты были в шапке, т.к. в Excel файле заказчика клиенты хранились в виде колонок. Уточню ещё раз этот вопрос.
14. Drivingblind 228 11.08.20 09:45 Сейчас в теме
(8) уточнил. Все клиенты должны быть в колонках
15. Sashares 34 11.08.20 09:50 Сейчас в теме +1 $m
(14)Допустим, вывести не проблема.
Выбираете различных клиентов (из тех, что есть в тч2), в цикле обходите их, создаете реквизиты формы, создаете элементы формы. Запоминаете в соответствие клиентов и имена колонок.

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

Интерфейсно сложнее изменить их состав.
Drivingblind; ipoloskov; +2 Ответить
19. Drivingblind 228 13.08.20 07:57 Сейчас в теме
(15) Так и сделал. Спасибо
2. toypaul 63 11.08.20 08:33 Сейчас в теме
Как хранить не знаю, отображать дерево или таблицу не через СКД (СКД не умеет программно выводить таблицу в коллекцию)
6. Drivingblind 228 11.08.20 09:12 Сейчас в теме
(2) да я уже понял, что не через СКД
3. MishinVl 6 11.08.20 09:04 Сейчас в теме
Все хранить в одной табличной части, ключ строки тогда не нужен, ее же выводить в дерево программно или в виде отчета на форму.
7. MishinVl 6 11.08.20 09:12 Сейчас в теме
например так
ОргОбъект ТехническоеМесто Передано КлючСтроки Клиент Получено
Объект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
9. Drivingblind 228 11.08.20 09:14 Сейчас в теме
(7) Изначально так и думал, но колонки ОргОбъект ТехническоеМесто Передано будут многократно дублироваться. Будет возникать большая избыточность. Особенно это будет заметно, думаю, на большом количестве строк
10. MishinVl 6 11.08.20 09:17 Сейчас в теме
(9)Тогда делайте по своему варианту - 2 таблицы, соединяйте их запросом по ключу, используйте итоги в запросе и это дерево из запроса выводите в дерево на форме
Drivingblind; +1 Ответить
12. Drivingblind 228 11.08.20 09:30 Сейчас в теме
(10) Допустим. Но как в таком случае вывести клиентов в колонки дерева значений?
13. Sashares 34 11.08.20 09:41 Сейчас в теме
(12)Для дерева - клиенты в строках.
Именно для этой цели и дерево, а не таблица, потому что для одной строки дерева (с местом) можно добавить подчиненные строки (с клиентами).
16. MishinVl 6 11.08.20 10:06 Сейчас в теме
а какой в этом смысл тогда? пришлите скрин дерева, которое вы хотите получить
17. PiotrLoginov 11.08.20 12:01 Сейчас в теме
Резюмируя, можно сказать, что хранить такую информацию можно и в одной ТЧ, можно и в двух. Я бы организовал хранение в двух. Данные по каждому клиенту - в отдельной строке. А при выводе информации на форму для каждого отдельного клиента добавлялась бы своя колонка. Другое дело, что, вероятно, имеет смысл выводить информацию не в Таблицу, а в ТабличныйДокумент. И да, тут пригодится СКД, в настройках которой которой можно задать группировку в колонках таблицы по полю Клиент.

Если не хочется ваять обработчики для работы с Табличным документом, можно посмотреть, как работает вывод дерева из обычных ТЧ в типовых конфах. См. Табличная часть и визуальное отображение иерархии элементов
18. Drivingblind 228 13.08.20 05:16 Сейчас в теме
(17) Нет, с ТабДоком заморачиваться не очень хочется. Сделал динамический вывод колонок.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот