AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.11.2019, 10:05   #1  
SuperStar88 is offline
SuperStar88
Участник
 
81 / 10 (1) +
Регистрация: 11.08.2017
? AX 2009. Дерево, получить всех предков
Есть узел, надо получить список всех узлов, куда он входит.

Есть запрос, который получает родителей по таблицам BOM и BOMTable.
PS: bomTable.ItemId_X - это код номенклатуры спецификации
X++:
while select itemId_X from bomTable
     join bom where bom.BOMId == bomTable.BOMId && 
            bom.ItemId != bomTable.ItemId_X && bom.ItemId == '01.02.08.01.01.0002'
{
   tmpItemLocal.clear();
   tmpItemLocal.ItemId  = bomTable.ItemId_X;
   tmpItemLocal.LineNum = level+1;
   tmpItemLocal.insert();
}
Как рекурсивно пройтись?

PS: в SQL это будет как-то так:
PHP код:
DECLARE @tbl TABLE (itemid NVARCHAR(33), num INT);
DECLARE @
itemId VARCHAR(MAX);
DECLARE @
kol INT, @num INT;

SET @kol 1SET @num 0;
SET @itemId '01.02.08.01.01.0002'

INSERT INTO @tbl(itemidnum)
SELECT @itemId'', @num AS num;

WHILE @
kol 0
BEGIN
    
---Ищем всех родителей
    INSERT INTO 
@tbl
    SELECT bomtable
.itemid_ztr, @num AS num
    FROM BOMTable bomtable
        JOIN BOM bom ON bom
.dataareaid bomtable.dataareaid
                        
AND bom.bomid bomtable.bomid
                        
AND bomtable.itemid_ztr <> bom.itemid
    WHERE bom
.itemid IN SELECT itemid FROM @tbl WHERE num = @num )
          AND 
bomtable.dataareaid 'xxx';

    
SELECT @kol = ( SELECT COUNT(*) FROM @tbl WHERE num = @num );

    
SELECT @num = @num 1;
END;-- WHILE

SELECT FROM @tbl ORDER BY numitemid
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Получить номер источника данных по имени (ax 2009) SuperStar88 DAX: Программирование 3 22.06.2018 13:36
dynamicsaxse: November 2017 Release – Dynamics AX 2012 R3 Blog bot DAX Blogs 0 08.12.2017 10:51
axforum blogs: Квест: Подружим Dynamics Ax 2009 Sp1 RU7 c SharePoint Foundation 2010 Blog bot DAX Blogs 4 16.10.2017 17:50
emeadaxsupport: AX Performance - Analyzing key SQL Server configuration and database settings Blog bot DAX Blogs 0 28.09.2015 14:11
axforum blogs: Квест: Подружим Dynamics Ax 2009 Sp1 RU7 c SharePoint Foundation 2010 - Этап 2 Blog bot DAX Blogs 0 12.07.2011 14:11

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:11.