Лёгкое программирование под Autodesk Vault Часть 28
Перемещение файлов осуществляется при помощи метода MoveFile класса DocumentService.
Требуемые методом параметры:
- System.long fileMasterId – главный Id файла
- System.long srcFolderId – исходная папка
- System.long dstFolderId – конечная папка
Будем пользоваться Vault2014PowerPack.
- # Получим исходную папку, содержащую файл
- $fold1 = Get-VaultFolder -folderName "$/Designs/pump"
- # Получим конечную папку, в которую перемещаем файл
- $fold1 = Get-VaultFolder -folderName "$/Designs/pump2"
- # Получим конкретный файл в папке
- $file1 = $vltDocumentSvc.GetLatestFilesByFolderId($fold.Id, $false) | Where-Object {$_.Name -eq "pump1.iam"}
- # Переместим файл
- $vltDocumentSvc.MoveFile($file1.MasterId, $fold1.Id, $fold2.Id)
Стоит отметить, что может возникнуть ряд ошибок на стороне сервера, коды которых будут возвращены в случае отсутствия возможности переместить файл:
Код |
Название |
Примечание |
1028 |
MoveFileFailed |
Невозможно переместить файл. |
1029 |
MoveFileExists |
Есть только Id файла, не имя |
1045 |
ConcurrentMoveFailed |
Запрос на перемещение файла завершается сбоем, так как существует конкурентный запрос на перемещение файла в ту же папку, либо по причине конкурентного запроса на перемещение файла в другую папку |
1120 |
FolderFileNameCollision |
AddFile, CheckinFile, MoveFile, ShareFile, AddFolder |
Обсуждение: http://adn-cis.org/forum/index.php?topic=897
Опубликовано 08.08.2014Отредактировано 08.08.2014 в 12:27:34