Тема: Архив
можно ли по TREE_ID найти раздел архива, его наименование?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Для большинства деревьев в системе достаточно метода DbNodeByNodeId. Но для более сложных деревьев (например как в архиве) лучше использовать функции типа такого (дабы нюансы не учитывать) код модифицировать конечно, так как он не совсем это делает, но выполняет аналогичную операцию)
'<doc Поиск ноды в дереве по полному пути '<par DbTree As IDbTree> '<par FullPath Полный путь> '<type As Integer Идентификатор ноды. -1 Не найдена> '> Function GetDbTreeNodeId( DbTree, FullPath ) GetDbTreeNodeId = -1 Paths = Split( CStr(FullPath), "\\" ) If Not IsArray(Paths) Then Exit Function Set PNode = Nothing 'Dim PNode as IDbNode Lvl = 0 For i=0 To DbTree.RootNodes.Count-1 Set PNode = DbTree.RootNodes.Item(i) If PNode.Text=Paths(Lvl) Then Exit For Set PNode = Nothing Next For Lvl=1 To UBound(Paths) If Not PNode Is Nothing Then Set Node = Nothing 'Dim Node As IDbNode For I=0 To PNode.Count-1 Set Node = PNode.Item(i) If Node.Text=Paths(Lvl) Then Exit For Set Node = Nothing Next Set PNode = Node End If Next If Not PNode Is Nothing Then GetDbTreeNodeId = PNode.NodeId End Function '<doc Поиск ноды в дереве по идентификатору '<par DbTree As IDbTree> '<par PNode As IDbNode > '<par NodeId As Integer > '<type As Boolean > '> Function SelectDbTreeByNodeId( DbTree, PNode, NodeId ) SelectDbTreeByNodeId = False If PNode Is Nothing Then For i=0 To DbTree.RootNodes.Count-1 Set PNode = DbTree.RootNodes.Item(i) If PNode.NodeId=NodeId Then PNode.Selected = True SelectDbTreeByNodeId = True Else SelectDbTreeByNodeId = SelectDbTreeByNodeId( DbTree, PNode, NodeId ) End If If SelectDbTreeByNodeId Then Exit Function Next Else For i=0 To PNode.Count-1 Set Item = PNode.Item(i) 'Item As IDbNode If Item.NodeId=NodeId Then Item.Selected = True SelectDbTreeByNodeId = True Else If Item.HasChildNodes Then SelectDbTreeByNodeId = SelectDbTreeByNodeId( DbTree, Item, NodeId ) End If If SelectDbTreeByNodeId Then Exit Function Next End If End Function
Прошу помочь разобраться с пересылкой документа из nanoCAD Механики в Архив TechnologiCS: при выполнении действия в nanoCAD Механике "Положить в базу" для уже существующего документа, но с внесенными в него изменениями, в TechnologiCSе вместо добавления следующей версии открывается окно "Создание нового документа". Как добавить новую версию документа к уже существующей?
Укажите пожалуйста точную версию nanoCAD Механики. Честно говоря не припомню интеграцию TechnologiCS с nanoCAD, или это сторонняя разработка?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться