Имя: Пароль:
1C
1С v8
Вывод последовательности документов в СКД
0 PhoenixGSV
 
28.04.23
17:06
Добрый день.

Не могу понять как написать запрос, чтобы сгруппировать документы

Есть заказы на производство связанные между собой(документ основание), заказы 1,2,7 между собой не связаны:

Заказ 1 -> Заказ 6
Заказ 2 -> Заказ 3 -> Заказ 8
Заказ 2 -> Заказ 4
Заказ 7 -> Заказ 5

Нужно вывести последовательность. Вывести документ и всю его структуру, затем следующий документ.

Заказ 1
Заказ 6
Заказ 2
Заказ 3
Заказ 8
Заказ 4
Заказ 7
Заказ 5

P.S Понимаю, что скорее всего основы основ, но не хочется ждать программиста.
1 Волшебник
 
28.04.23
17:18
А второй список — это что?
2 Волшебник
 
28.04.23
17:19
Может отступов не хватает?

Заказ 1
   Заказ 6
Заказ 2
   Заказ 3
      Заказ 8
   Заказ 4
Заказ 7
   Заказ 5


Так?
5 iddroide
 
28.04.23
17:45
(0) Если глубина подчинения/иерархии заранее неизвестна, что задача решается рекурсией (циклом пока). В обычном запросе 1С рекурсию не сделать, но можно обойтись пакетным запросом, создав в нем как бы гарантированное для решения задачи количество шагов.
6 echo77
 
28.04.23
18:51
Вопрос не простой. Можно попробовать сделать иерархию в СКД https://youtu.be/reC2Tgyg_3k
7 Волшебник
 
28.04.23
20:44
Если нужен плоский список, то можно сначала сформировать поле для упорядочивания, а потом по нему отсортировать.

Поле для сортировки должно включать полный код (полный номер с учётом всех номеров заказов вверх по иерархии).

Например, для примера выше полные номера будут такие:

1
1_6
2
2_3
2_3_8
2_4
7
7_5

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