1

我正在尝试在 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 文档。

4

1 回答 1

2

好的,所以解决方案是在一个我不知道的界面上,但在第 81 页找到了 COM 开发人员指南。

        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,
                                                      "", "")
于 2014-05-01T19:46:50.733 回答