ADN Club > Vault API
переименоване файла
(1/1)
Bazinga:
https://forums.autodesk.com/t5/vault-customization/vault-api-how-to-rename-a-file/td-p/5720508 делаю по аналогии с этим решением.
Если файл заново переименовываю метод CheckOut возвращает постоянно null.
--- Код - C# [Выбрать] ---private File CheckOut(Folder folder, File file, Connection connection) { string localpath = connection.WorkingFoldersManager.GetWorkingFolder(folder.FullName).FullPath; if (!System.IO.Directory.Exists(localpath)) System.IO.Directory.CreateDirectory(localpath); VDF.Vault.Settings.AcquireFilesSettings settings = new VDF.Vault.Settings.AcquireFilesSettings(connection); settings.OptionsRelationshipGathering.FileRelationshipSettings.VersionGatheringOption = VDF.Vault.Currency.VersionGatheringOption.Latest; settings.OptionsResolution.OverwriteOption = VDF.Vault.Settings.AcquireFilesSettings.AcquireFileResolutionOptions.OverwriteOptions.ForceOverwriteAll; settings.LocalPath = new VDF.Currency.FolderPathAbsolute(localpath); settings.AddFileToAcquire(new VDF.Vault.Currency.Entities.FileIteration(connection, file), VDF.Vault.Settings.AcquireFilesSettings.AcquisitionOption.Download | VDF.Vault.Settings.AcquireFilesSettings.AcquisitionOption.Checkout); VDF.Vault.Results.AcquireFilesResults results = connection.FileManager.AcquireFiles(settings); foreach(var r in results.FileResults) { return connection.WebServiceManager.DocumentService.GetFileById(r.File.EntityIterationId); } return null; }Почему на повторное переименование так возвращает?
Можно как-то иначе реализовать переименование?
Александр Ривилис:
Bazinga,
Ты делаешь и CheckOut и CheckIn для переименования? Ну и похоже исправленный вариант кода здесь: https://forums.autodesk.com/t5/vault-customization/vault-api-how-to-rename-a-file/m-p/6240829/highlight/true#M4051
Bazinga:
Александр Ривилис, проблема даже не в ссылках, а в том что сам метод CheckOut возвращает null.
если в метод для переименования просто файл передавать, фаталит с ошибкой "1018 CheckinNotCheckedOut Cannot check in file because the file is not currently checked out"
В sdk еще можно изменить с помощью метода
--- Код - C# [Выбрать] ---public CustEnt UpdateCustomEntity( System.long customEntityId, System.string newName) но тоже выдает ошибку (283 BadEntityId )
Навигация
Перейти к полной версии