Выгрузить дерево из СКД и с загрузить это дерево обратно.

1. Merkalov 11 11.12.19 02:32 Сейчас в теме
Задача: Сделать некие действия со строками на самом верхнем уровне иерархии и у детальных записей, т.е у уровня допустим 0 и 5, строить дерево через запрос - очень сомнительная затея, строю дерево с помощью СКД - получаю на выходе тз (потому что дз-то обратно в СКД не засунуть) что-то делаю с этой ТЗ, а именно с её двумя уровнями и вот как быть дальше? Как мне вернуть эту тз (которая на самом деле дз) в СКД? Вопрос не про то как прописать ВнешниеНаборыДанных, а как сделать так что бы СКД адекватно восприняла эту тз и построила дерево. Такое вообще возможно?

ps: Задача - построить отчет, поэтому нужно обратно в СКД, но расчет данных в тех двух уровнях внутри СКД невозможен (в том числе и даже через общие модули, нужно работать со всем деревом)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. TrofimovOK 11.12.19 08:31 Сейчас в теме
(1) Разницы между набором запрос или внешний объект нет, вывод данных происходит средствами СКД. Укажите необходимые группировки и получается дерево. Для поля группировки можно указать тип группировки "Иерархия" для получение данных с иерархией.
2. TimoninD 11.12.19 07:35 Сейчас в теме
Вы же понимаете какие данные будете получать, и какие поля будут являться уровнями иерархии. Не вижу смысла "играться" в ДЗ.. Получите свои данные запросом, измените нужные колонки (ваши уровни иерархии в отчете). И передайте это все обратно в СКД. Или я что-то упускаю в задаче..
3. Merkalov 11 11.12.19 08:01 Сейчас в теме
(2)
, и какие поля будут являться уровнями иерархии.

Есть номенклатура, у неё есть группы, я могу получить номенклатуру и верхнюю группу (Родитель = Неопределено, ЭтоГруппа = Истина) - мне эти две вещи и нужны, а как быть дальше? У меня будет ТЗ с низшим уровнем (номенклатурой) и высшим (самой верхней группой куда эта номенклатура вложена), как дальше из двух групп дерево строить в СКД?


ps: я в СКД очень слаб.
6. dhurricane 11.12.19 20:46 Сейчас в теме
(3)
ps: я в СКД очень слаб.
Давайте, мы попробуем помочь. Расскажите, что именно Вы хотите сделать с корневым родителем и с его последним потомком? Быть может мы сможем подсказать, как обойтись без выгрузки/загрузки.
7. vasgius 14.12.19 13:20 Сейчас в теме
(3) Для этого можно обойтись без выгрузки-загрузки дерева. Для этого необходимо сделать следующий настройки отчета:

1) добавляем группировку по полю "Ссылка" - Иерархия. В ЭТУ группировку:
1.1 добавляем группу отборов с видом И (можно и "ИЛИ" - без разницы) и устанавливаем для нее применение "После группировки или для иерархии".
1.2 в группу отборов добавляем отбор: "Системные поля. Уровень" Равен 1

2) добавляем подчиненную группировку по полю "Ссылка" - без иерархии.

при таких настройках в первой группировке будут выведены элементы располагающиеся на верхнем уровне иерархии, а на втором элементы. Но это будет работать, только если в данных (т.е. в запросе СКД) у вас получены исключительно элементы.

Так же если у вас есть элементы (признак ЭтоГруппа = Ложь) располагающиеся на верхнем уровне, то во второй группировке необходимо будет добавить отбор исключающий повторный вывод таких элементов
5. x_x 3 11.12.19 11:08 Сейчас в теме
Так будет получается таблица с верхним уровнем номенклатуры ( группой) и вторая с номенклатурой и вхождением в иерархию группы родителя без групп и соединяйте две таблицы и делайте дз.
8. Merkalov 11 16.12.19 02:38 Сейчас в теме
Всем спасибо за ответы, проблема решилась иначе: подготовка дерева и всех данных через запрос/программный код, далее подаю ТЗ (которое на самом деле дерево) в СКД и там строю "свою иерархию", про постройку своей иерархии достаточно информации в гугле.
Оставьте свое сообщение

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