|
Структура подчиненности запросом | ☑ | ||
---|---|---|---|---|
0
Мистикан
04.12.15
✎
11:18
|
Континент страхование.
Заключается полис (док1), потом по полису происходят изменения создается еще один (док2), потом может быть еще и еще. Первоначальный полис в последующих хранится в реквизите СтарыйПолис,последующие по хранятся в реквизите ПредыдущийПолис. ИмяДок СтарыйПолис ПредыдущийПолис Док1 Док2 Док1 Док3 Док1 Док2 Док4 Док1 Док3 Как запросом собрать эту последовательность в цепочку? Пятницо, 16.11 башка вообще не хочет ничего придумывать ((( |
|||
1
su_mai
04.12.15
✎
11:21
|
(0) >потом может быть еще и еще.
Кроме рекурсии ничего не подскажу |
|||
2
Artful Den
04.12.15
✎
11:28
|
Да, без рекурсии никак
|
|||
3
aleks_default
04.12.15
✎
11:29
|
критерием отбора
|
|||
4
mikecool
04.12.15
✎
11:30
|
(3) это если известен корень
|
|||
5
aleks_default
04.12.15
✎
11:37
|
Ну тогда произвольная иерархия в СКД(если тип документа один)
|
|||
6
Ildarovich
04.12.15
✎
12:43
|
Вот в этой статье есть решение: http://catalog.mista.ru/public/158512/ . Там приведена функция, которая строит и выполняет запрос. Если ножен только запрос, его можно получить, запустив эту функцию и вставив "Сообщить" в нужное место. В функции только "Пролог" нужно на свой случай переделать, вставив вместо
Пролог = "ВЫБРАТЬ Родитель НачалоДуги, Ссылка КонецДуги ПОМЕСТИТЬ ЗамыканияДлины1 ИЗ Справочник.Номенклатура
Пролог = "ВЫБРАТЬ ПредыдущийПолис НачалоДуги, Ссылка КонецДуги ПОМЕСТИТЬ ЗамыканияДлины1 ИЗ Документ.Полис
|
|||
7
su_mai
04.12.15
✎
14:50
|
(6) А мне понравилось :) А решал подобную задачу получения таблицы "счет - родитель" по всей иерархии, но использовал вызов запроса в цикле, по тем счетам где родитель не Null.
А если не секрет, от куда пришла идея про транзитивное соединение -непосредственно из математики или еще от куда то? |
|||
8
Ildarovich
04.12.15
✎
15:16
|
(7) Транзитивное замыкание - это не идея решения, а элемент формулировки задачи. Конечно, это математический термин.
Собственно решение - это алгоритм матричного умножения. Хотя я до него вроде сам когда-то додумался (в поиске быстрого способа определить достижимые состояния системы с известными связями состояний), алгоритм известный, в википедии он есть. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |