Лёгкое программирование под Autodesk Vault Часть 31
Создание папок
Методы
Самая простая операция в работе с папками. Осуществляется одним из двух методов:
- public new Folder AddFolder( System.string name, System.long parentId, System.bool isLibrary)
- public new Folder AddFolderWithCategory( System.string name, System.long parentId, System.bool isLibrary, System.long categoryId)
Оба метода возвращают объект Folder из пространства имен Autodesk.Connectivity.WebServices. При этом второй может сразу задавать категорию папки, однако он находится в классе DocumentServiceExtensions, а не DocumentService.
Ошибки
В процессе работы могут возникнуть ошибки, идентифицировать которые можно по их кодам:
Код |
Название |
Описание |
1011 |
AddFolderExists |
Папка не может быть создана, поскольку такая уже существует. |
1042 |
AddFolderChildRootInvalid |
Сбой проверки правила создания папки: родитель дожен существовать у всех, за исключением корневой папки. |
1043 |
AddFolderLibraryRelationshipInvalid |
Сбой проверки правила создания папки: библиотечные папки могут иметь не-библиотечного родителя, только если он - корневая папка. Библиотечные папки не могут иметь не-библиотечные дочерние папки. |
1120 |
FolderFileNameCollision |
AddFile, CheckinFile, MoveFile, ShareFile, AddFolder |
Пример использования
Предлагаю для ознакомления части модуля Vault2014PowerPack
Add-VaultFolder
Аналог команды mkdir (или md) для файловых систем – создает каталог.
- function Add-VaultFolder
- {
- [OutputType([Autodesk.Connectivity.WebServices.Folder])]
- param(
- [Parameter(Position=0, Mandatory=$true)]
- [System.String]
- $name,
- [Parameter(Position=1, Mandatory=$false)]
- [System.String]
- $parentPath
- )
- $parentPath
- if (($parentPath -eq "") -or ($parentPath -eq $null)) {$parentPath = $vltFolderCurrent.FullName}
- try {
- $pFolder = $vltDocumentSvc.GetFolderByPath($parentPath)
- $newFolder = $vltDocumentSvc.AddFolder($name, $pFolder.ID, $false)
- $newFolder
- }
- catch {
- throw
- }
- }
Автор перевода: Дмитрий Емельянов
Обсуждение: http://adn-cis.org/forum/index.php?topic=914
Опубликовано 15.08.2014Отредактировано 15.08.2014 в 11:08:33