【发布时间】:2021-08-03 15:22:09
【问题描述】:
我正在开发一个包含多个验证步骤的 Kofax KTM 项目。 在 KTM 服务器模块之后,批次将根据批次名称路由到另一个验证步骤。
现在路由运行良好,但如果它不是第一个验证步骤,则会发生以下错误:
有人知道如何解决这个问题吗? 谢谢
这是我的代码:
' Rout Document to the Correct Validation step.
Private Sub Batch_Close(ByVal pXRootFolder As CASCADELib.CscXFolder, ByVal CloseMode As
CASCADELib.CscBatchCloseMode)
Dim i As Long
Dim mandat As String
Dim lVal As Long
Dim strVal As String
Dim oXDocInfo As CASCADELib.CscXDocInfo
Dim folder As CASCADELib.CscXFolder
' only enter after extraction and after validation
If CloseMode = CASCADELib.CscBatchCloseFinal Then
If Project.ScriptExecutionMode = CscScriptModeServer Or Project.ScriptExecutionMode = CscScriptModeValidation Then
' get root folder
Set folder = pXRootFolder
While Not folder.IsRootFolder
Set folder = folder.ParentFolder
Wend
' get batch name
mandat = folder.XValues.ItemByName("AC_BATCH_CLASS_NAME").Value
lVal = 0
strVal = ""
Select Case mandat
Case "x"
lVal = 0
Case "y"
lVal = 2
End Select
strVal = CStr(lVal)
If Project.ScriptExecutionMode = CscScriptModeValidation Then
For i = 0 To folder.GetTotalDocumentCount - 1
Set oXDocInfo = folder.GetDocInfoByGlobalIndex(i)
oXDocInfo.XValues.Set("KTM_DOCUMENTROUTING", strVal)
Next
folder.XValues.Set("KTM_DOCUMENTROUTING_QUEUE_" & strVal, "kfxpdf.exe")
ElseIf Project.ScriptExecutionMode = CscScriptModeServer Then
For i = 0 To folder.GetTotalDocumentCount - 1
Set oXDocInfo = folder.GetDocInfoByGlobalIndex(i)
oXDocInfo.XValues.Set("KTM_DOCUMENTROUTING", strVal)
oXDocInfo.XDocument.NextValidationInstance = lVal
Next
' validation is not done => rout to the depending validation instance
If(lVal = 0) Then
folder.XValues.Set("KTM_DOCUMENTROUTING_QUEUE_" & strVal, "KTM.Validation")
Else
folder.XValues.Set("KTM_DCOUMENTROUTING_QUEUE_" & strVal, "KTM.Validation")
folder.XValues.Set("KTM_DOCUMENTROUTING_QUEUE_" & strVal, "KTM.Validation" & strVal)
pXRootFolder.Valid = False
End If
End If
End If
End If
End Sub
【问题讨论】: