11/04/2014
					Лёгкое программирование под Autodesk Vault. Часть 9
Добавление групп представляет собой довольно простую операцию – для этого достаточно осущзествить вызов соответствующего метода AddGroup(). Самым проблематичным в данной ситуации является получение всех требуемых параметров, а именно идентификаторов ролей и хранилищ.
Коды требуемых хранилищ можно получить по их именам при помощи метода GetKnowledgeVaultsByNames. ID ролей по именам можно получить путём фильтрации всех объектов по требуемым критерию «Name»:
Собственно, полный код программы:
Код - PowerShell: [Выделить]
					- Add-Type -Path "c:\Program Files (x86)\Autodesk\Autodesk Vault 2014 SDK\bin\Autodesk.DataManagement.Client.Framework.Vault.Forms.dll"
 - $global:g_login=[Autodesk.DataManagement.Client.Framework.Vault.Forms.Library]::Login($null)
 - $groupName = 'New group'
 - $atype = 'ActiveDir' # or 'Vault'
 - $isActive = $true
 - $emailDL = 'newGroup@email.com'
 - $roleNameArray = "Редактор документа (уровень 2)", "Диспетчер ERP"
 - $vaultNameArray = "Vault", "Vault Test-Drive"
 - # Получаем ID хранилищ по именам
 - $vaultIdArray = $g_login.WebServiceManager.FilestoreVaultService.GetKnowledgeVaultsByNames($vaultNameArray).Id
 - # Получаем ID ролей по именам
 - $roleIdArray = ($g_login.WebServiceManager.AdminService.GetAllRoles() | Where {$roleNameArray -contains $_.Name}).Id
 - #Создаём группу
 - $newGroup = $g_login.WebServiceManager.AdminService.AddGroup($groupName, $atype, $isActive, $emailDL, $roleIdArray, $vaultIdArray)
 - # Выводим результат
 - $newGroup | Out-GridView -Title 'Новая группа'
 
                        Автор: Дмитрий Емельянов
Автор перевода: Дмитрий Емельянов
						
Отредактировано 06.08.2014 в 15:04:05
				Автор перевода: Дмитрий Емельянов
Обсуждение: http://adn-cis.org/forum/index.php?topic=668
Опубликовано 11.04.2014Отредактировано 06.08.2014 в 15:04:05