Сбой при создании документа в DMS Matter Centric HP/Autonomy WorkSite (iManage)
Я пытаюсь создать документ в DMS, установить некоторые атрибуты, а затем зарегистрировать его. Это работало отлично, пока мы не запретили регистрацию в плоском пространстве. Теперь мне нужно указать папку рабочей области, прежде чем я смогу ее сохранить, но я не могу понять, как это сделать.
lcDoc = mcDatabase.CreateDocument()
lcDoc.Security.DefaultVisibility = imSecurityType.imView
lcDoc.Security.GroupACLs.Add("INFORMATION_TECHNOLOGY", imAccessRight.imRightAll)
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileDescription, FileName)
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileAuthor, msUserID)
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileOperator, msUserID)
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileType, "ANSI")
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileClass, "ADMIN")
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileCustom1, ClientID)
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileCustom2, MatterID)
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileCustom10, "060")
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileCustom14, DMSServerName)
' Fails here with error: [Folder ][AddDocument ]Operation requested on a record that does not exist.
DirectCast(loFolder, NRTFolder).AddDocument(DirectCast(lcDoc, NRTDocument))
' If I comment out the line above, this line returns a failure:
' This operation is currently not available due to flatspace filing restrictions.
Dim lcResults As IManCheckinResult = lcDoc.CheckInWithResults(lsFilePath, imCheckinDisposition.imCheckinNewDocument, imCheckinOptions.imDontKeepCheckedOut)
Я изо всех сил пытаюсь найти правильный документ API, который дает этот ответ.
1 ответ
Решение
Итак, решение было в интерфейсе, о котором я не знал, но нашел руководство разработчика COM на стр. 81.
lcDoc = mcDatabase.CreateDocument()
'lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileLocation, loFolder.ObjectID)
lcDoc.Security.DefaultVisibility = imSecurityType.imView
lcDoc.Security.GroupACLs.Add("APPLICATIONSDEVELOPMENTALL", imAccessRight.imRightAll)
lcDoc.Security.GroupACLs.Add("INFORMATION_TECHNOLOGY", imAccessRight.imRightAll)
' [04/21/2014 KB] Changed this to use the specified name instead of a hard coded one.
' lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileDescription, String.Format("iManageAPI:{0}", "Test Create Document"))
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileDescription, FileName)
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileAuthor, msUserID)
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileOperator, msUserID)
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileType, "ANSI")
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileClass, "ADMIN")
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileCustom1, ClientID)
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileCustom2, MatterID)
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileCustom10, "060")
lcDoc.Profile.SetAttributeByID(imProfileAttributeID.imProfileCustom14, DMSServerName)
''loFolder.AddDocument(lcDoc) 'Add document to folder
'DirectCast(loFolder, NRTFolder).AddDocument(DirectCast(lcDoc, NRTDocument))
'Dim lcResults As IManCheckinResult = lcDoc.CheckInWithResults(lsFilePath, imCheckinDisposition.imCheckinNewDocument, imCheckinOptions.imDontKeepCheckedOut)
lcResults = DirectCast(lcDoc, IManDocument3).
CheckInExToFolderAsNewDocumentWithResults(lsFilePath, imCheckinOptions.imDontKeepCheckedOut, loFolder,
imHistEvent.imHistoryNew,
System.Reflection.Assembly.GetExecutingAssembly().FullName,
"", "")