Справочное руководство по TDMS 7.0 API
VB Script
Смотри также Отправить замечание

Glossary Item Box

Исходный текст

Option Explicit
Call ShowUserList()


'==============================================================================
'Показать в диалоге выбора список пользователей, работающих в указанном отделе
'==============================================================================
Sub ShowUserList()

        Dim ArDept, DeptCol, Dept, UsersCol, user, SelDlg, RetVal, i, count
        
        'Получить ссылку на коллекцию вложенных классификаторов узла "Отдел"
        Set DeptCol = ThisApplication.Departments.Classifiers
        count = DeptCol.Count
        
        'Если ни одного отдела пока не создано, выйти из процедуры
        If count=0 Then Exit Sub
        
        'Заполнить массив ссылками на классификаторы-подразделения
        ReDim ArDept(count)
        For i=0 To count-1
                Set ArDept(i) = DeptCol.Item(i)
        Next
        
        'Открыть диалог выбора, передав на вход массив ссылок на подразделения
        Set SelDlg = ThisApplication.Dialogs.SelectDlg
        SelDlg.SelectFrom = ArDept
        SelDlg.Caption = "Список подразделений"
        SelDlg.Prompt = "Выберите подразделение:"
        RetVal = SelDlg.Show
        
        'Если пользователь отменил диалог или выбрал не один отдел, выйти из процедуры
        If (Not RetVal) Or (UBound(SelDlg.Objects)<>0) Then Exit Sub
        
        'Получить ссылку на выбранный отдел; если в нем не зарегистрировано ни
        'одного пользователя - выйти из процедуры
        DeptCol = SelDlg.Objects
        
        If DeptCol(0).AssignedUsers.Count = 0 Then Exit Sub
        
        'Передать на вход диалога выбора коллекцию пользователей выбранного отдела
        SelDlg.SelectFrom = DeptCol(0).AssignedUsers
        SelDlg.Show

End Sub
'==============================================================================
© 2023 CSoft Development. Все права защищены.