|
Рекурсия в СКД | ☑ | ||
---|---|---|---|---|
0
PR
06.11.12
✎
15:04
|
Как вывести отчет с рекурсией средствами СКД?
Предположим, у меня есть номенклатура.
Я хочу вывести для номенклатуры "Товар 1.1.1" вывести следующее:
Это делается с помощью такого вот отчета http://www.asbins.ru/skdrek.rar, в котором задано начальное значение связи на закладке связи наборов данных. А если я хочу вывести такое для всей номенклатуры, являющейся элементами, тогда как? То есть должно получиться
Вводная: 1. Количество уровней иерархии неизвестно. 2. Хрусталева идет лесом, у нее описано построение собственной иерархии, но в данном случае мы говорим об обратной иерархии. 3. Тем, кто считает задачу нереальной, предлагаю другую, вывод подчиненности документов. А вообще речь о принципиальной возможности. |
|||
1
mzelensky
06.11.12
✎
15:11
|
(0) когда задался похожей проблемой мне один чувак с форму кинул это:
http://www.codenet.ru/db/other/trees/ Сразу скажу ,что этот бред я реализовывать не стал и обошелся меньшей кровью, но может ты замахнешься?! |
|||
2
PR
06.11.12
✎
15:20
|
(1) Текст по ссылке не располагает, думаю, что не взлетит.
|
|||
3
mzelensky
06.11.12
✎
15:22
|
(2) да, меня тоже не расположил :)
|
|||
4
mzelensky
06.11.12
✎
15:23
|
(2) я обошелся меньшей кровью:
v8: v8: Как по элементу спр найти группу, которой он принадлежит У тебя же, чисто на СКД, такой вариант не прокатит :( |
|||
5
mzelensky
06.11.12
✎
15:24
|
(4) + ты же кажется записывал "хотелка" на 8.3 ... лично моя хотелка по ссылке в посте (20)
|
|||
6
ДемонМаксвелла
06.11.12
✎
15:26
|
строишь дерево своим алгоритмом (это самое простое), преобразуешь в ТЗ (главное, не забыть про КлючСтроки и КлючРодителя), скармливаешь СКД, в СКД заново строишь иерархию, соединяя набор данных самого с собой.
|
|||
7
GomerSimpson
06.11.12
✎
15:35
|
может проще просто сформировать дерево, а потом вывести его в табличный документ, используя НачатьГруппуСтрок(), ЗакончитьГруппуСтрок() и рекурсию
|
|||
8
ДемонМаксвелла
06.11.12
✎
15:36
|
(7) в условиях задачи "с помощью СКД"
|
|||
9
ДемонМаксвелла
06.11.12
✎
15:36
|
непроверенный набор данных скармливать СКД для рекурчии не советую
|
|||
10
Chin
06.11.12
✎
15:40
|
(0) А если в качестве начального значения установить пустое значение номенклатуры - у меня работало!
|
|||
11
Chin
06.11.12
✎
15:40
|
(10) Сорри - не вник - иерархия обратная - такое не делал!
|
|||
12
samozvanec
06.11.12
✎
15:43
|
монитор перевернуть не предлагать?
|
|||
13
GomerSimpson
06.11.12
✎
15:57
|
СКД не подходит для этой задачи.
можно конечно передать ТЗ и программно установить уровни группировок, но зачем такое извращение. Уметь забивать гвозди плоскогубцами круто, только если молотка нет. |
|||
14
ДемонМаксвелла
06.11.12
✎
16:04
|
(13) С помощью одной лишь СКД эту задачу не решить. Но СКД вполне можно использовать для вывода табличного документа.
А можно и не использовать. |
|||
15
PR
09.11.12
✎
10:18
|
Странно. Неужели в начальный параметр нельзя передать список ссылок?
Или может еще одно соединение сделать? |
|||
16
GANR
09.11.12
✎
12:01
|
(0) Перефразируем вопрос:
В качестве первого уровня необходимо выбрать всё, что не являющиеся родителем по отношению к чему-то ещё в справочнике ВЫБРАТЬ Ссылка ИЗ Справочники.МойСправочник ГДЕ НЕ Ссылка В (ВЫБРАТЬ Родитель ИЗ Справочники.МойСправочник) Потом это необходимо рекурсивно соединить с остальным содержимым справочника по условию Родитель = Ссылка . Возможно это или нет посредством СКД (без кода)??? |
|||
17
PR
12.11.12
✎
20:26
|
(16) Спасибо, Кэп.
Ты спросил то же самое :)) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |