(изменено: pavelAgregat73, 25 мая 2023 10:16:21)

Тема: Ошибка при итерации дерева ИТП (BOM)

Доброго дня!

В интерфейсе ИТП хотим просмотреть дерево и скопировать его в AxDbTree формы. Для этого пользуемся итератором:

  Dim it 'As IDbTreeIterator
  Set it = Tree.CreateDbTreeIterator( Nothing, NUll )

  if it.InitDbTreeIterator( Null ) Then
    Do
      ...
    Loop While it.GetNextNode
  End if

При этом вызов метода

InitDbTreeIterator

отдаёт ошибку:

Query: Field 'TRID' not found
CSDN.DbTreeIterator

В интерфейсе, к примеру, итоговой спецификации - никакой ошибки не возникает

Re: Ошибка при итерации дерева ИТП (BOM)

Upd.
Добавление структуры дерева через метод .LoadFromDBTree отдаёт ту же ошибку

Set dbTree = Module.DbTree                        'Module = ИТП BOM
Dim TreeHolder :: Set TreeHolder = Form.c_AxTree
TreeHolder.LoadFromDBTree( dbTree )

При этом тип Tree - DbTree, он не Null, не Nothing, не Empty.

Кроме того небольшой вопрос относительно самого метода .LoadFromDBTree:
Когда пробовал его использовать на дереве итоговой спецификации, в AxDbTree формы копировалась только наследственная структура с заголовками. Все поля дерева, значения - не перенеслись. Так и планировалось?

Re: Ошибка при итерации дерева ИТП (BOM)

Не увидел ответ свой почему то. О каком дереве идет речь? в ИТП их много просто

Re: Ошибка при итерации дерева ИТП (BOM)

Олег Зырянов пишет:

О каком дереве идет речь? в ИТП их много просто

Дерево, которое по умолчанию показывается при переходе в BOM. Связанная с последовательностью операций. Без перехода в состав или последовательность сборки.

На данный момент найдено другое решение, через набор данных, но всё ещё интересуют два вопроса, связанных с деревьями:
1. Относительно метода .LoadFromDBTree:
Когда пробовал его использовать на дереве итоговой спецификации, в AxDbTree формы копировалась только наследственная структура с заголовками. Все поля дерева, значения - не перенеслись. Так и планировалось?

2. Есть ли возможность экспортировать куда-либо дерево с AxDbTree? Word/Excel или что-то в этом роде, как сделано для других модулей (Grid)

Спасибо сказали: Олег Зырянов1

Re: Ошибка при итерации дерева ИТП (BOM)

Дерево, которое по умолчанию показывается при переходе в BOM. Связанная с последовательностью операций. Без перехода в состав или последовательность сборки.

спасибо, посмотрим что с ним.

1. Относительно метода .LoadFromDBTree:
Когда пробовал его использовать на дереве итоговой спецификации, в AxDbTree формы копировалась только наследственная структура с заголовками. Все поля дерева, значения - не перенеслись. Так и планировалось?

В настоящий момент копируется только структура дерева с заголовками. Больше  ничего.

Если вам важно все данные скопировать, и скопировать для обработки - тут надо в любом случае свою писать. Иначе сопоставить два дерева будет не просто

2. Есть ли возможность экспортировать куда-либо дерево с AxDbTree? Word/Excel или что-то в этом роде, как сделано для других модулей (Grid)

В модулях TevhnologiCS (не Grid, и именно модуль), есть команды передать данные грида или дерева в бурер обмена, Excel|Open Office, rtf, Html.

Re: Ошибка при итерации дерева ИТП (BOM)

Спасибо. Разобрались. Там дерево работает неправильно, именно в этом модуле. В остальных проблем нет. Ошибки могут быть не предсказуемы в данном случае (при работе с деревом в этом модуле). В новых сборках поправим конечно.