Тема: Навигация по спецификации средствами VBA (Excel)
Здравствуйте, уважаемые участники форума!
Возникла у меня задача получения позиций из TCS для своего приложения. Самостоятельно (дорабатывая примеры руководства ) удалось подключиться к TCS и перейти в главную сборку изделия:
Sub Test() Dim I, J As Integer Dim Number As Integer Dim NMks As CSDN.Nomenclatures Dim Spec As CSDN.NmkSpecification Dim Props1 As CSDN.PropArray Dim Props2 As CSDN.PropArray Call Login If App.NmkClasses.RunModuleForSelect("Выберите класс", False) Then Set NMks = App.Nomenclatures(App.NmkClasses.Properties("ID").AsInteger) If NMks.RunModuleForSelect("Выберите номенклатуру", True) Then ActiveWorkbook.Sheets(1).Cells(1, 1).Value = "ID" ActiveWorkbook.Sheets(1).Cells(1, 2).Value = "Децимальный номер" ActiveWorkbook.Sheets(1).Cells(1, 3).Value = "Наименование" ActiveWorkbook.Sheets(1).Cells(1, 4).Value = "Тип" ActiveWorkbook.Sheets(1).Cells(1, 5).Value = "Кол-во" Number = 2 If NMks.GotoSelectedRow(0) Then Set Spec = NMks.Properties("NmkSpecification").AsIDispatch Set Props2 = Spec.CreatePropArray(1) J = Props2.Add(0, "NMK_ID", 0) J = Props2.Add(0, "NMK_NOTE", 0) J = Props2.Add(0, "NMK_NAME", 0) J = Props2.Add(0, "NMK_CLASSIF_TYPE_NOTE", 0) J = Props2.Add(0, "QUANTITY", 0) Number = PrintDataToSheet(Number, Spec, Props2) Set Props2 = Nothing Set Spec = Nothing End If End If Set NMks = Nothing End If End Sub
Добился распечатки позиций главной сборки на лист Excel (с фильтрацией по "NMK_CLASSIF_TYPE_NOTE"). Теперь встала задача, к которой не очень представляю, как подступиться: у сборок и комплектов (свойство "NMK_CLASSIF_TYPE_NOTE" имеет значение "СБ" или "КОМПЛЕКТ") есть возможность перейти на более низкий уровень. Вручную в TCS это выполнимо двойным щелчком, но как это сделать программно? Подскажите пожалуйста. Основная идея - переписать на лист Excel все сборки, комплекты, детали и т.д. выбранного изделия с указанием входимости (от детали до главной сборки) для последующей обработки.
Заранее благодарен за помощь
С уважением
Шаронов Андрей