Kofax MarkView KTM Project 10.1.0 Fix Pack 7
Build Date: January 10, 2023
© 2023 Kofax. All rights reserved.
Use is subject to license terms.
Issues Resolved in This Fix Pack
None
Issues Resolved in Previous Fix Packs
1320738: MarkView KTM - Splitting or creating a document in KTM Validation caused an error
Applies To
Only use the instructions in this readme file if your MarkView solution includes KTM Project and you have not upgraded the KTM Project files to 10.1.0.3.
Files Included
File name | Version |
---|---|
KofaxMarkView-10.1.0.7.zip | 10.1.0.7 |
ReadMe-KofaxMarkView_KTMProject-10.1.0.7.htm | 10.1.0.7 |
ReadMe-KofaxMarkView-10.1.0.7.htm | 10.1.0.7 |
Install This Fix Pack
This Fix Pack contains manual steps to update the KTM Project.
Note that in some cases the following changes modify KTM Script Code.
If you have any customizations in these functions, you need to integrate your customizations into the new Product Code.
Before performing the instructions in this readme file:
Install Kofax Transformation Modules 6.2.1 and higher.
- Install MarkView KTM Project Files 10.1.0.0 (see the associated MarkView 10.1 Product documentation).
Upgrade KTM Project
Install Fix Pack 3 (10.1.0.3)
FIX12428 addresses FIX12428: Splitting or creating a document in KTM Validation caused an error.
Bug 1320738: MarkView KTM - Splitting or creating a document in KTM Validation caused an error.
To resolve this issue without performing a full KTM Project upgrade:
In the Invoice - Script code, make the following changes:
Locate
Private Sub SL_Vendor_LocateAlternatives(ByVal pXDoc As CASCADELib.CscXDocument, ByVal pLocator As CASCADELib.CscXDocField)
Add the following double if–then construct in the beggining of the procedure right before
Dim orgid As String
:If pXDoc.Locators.Exists("SL_Document") = False Then
Exit Sub
End If
If pXDoc.Locators.Exists("VL") = False Then
Exit Sub
End If
Locate
Private Sub ValidationForm_ButtonClicked(ByVal ButtonName As String, ByVal pXDoc As CASCADELib.CscXDocument)
Locate the following row in the
ValidationForm_ButtonClicked
procedure:
Case "btnVendorAlternatives"
Replace the case block between
Case "btnVendorAlternatives"
andCase "btnVendorFuzzy"
as follows:If pXDoc.Locators.Exists("DB_Vendor_SR") = True Then
Dim SR As CscXDocField
Set SR = pXDoc.Locators.ItemByName("DB_Vendor_SR")
'## Due to bug #292345(When you reopen the "Vendor Alternatives", Vendors
'## of locator "DB_Vendor" duplicated) to resolve it
'## was decided to move procedure altcopy in the Document_AfterExtract event.
'## In this event altcopy will be run only once, so Vendors won't be duplicated
'## any more.
'## altcopy(pXDoc.Locators.ItemByName("DB_Vendor"), SR)
FilterVendor(SR, pXDoc.Fields.ItemByName("InvoiceOrganisationID").Text)
End If
Exit SubLocate
Private Sub ValidationForm_SetDocumentFields(ByVal pXDoc As CASCADELib.CscXDocument, ByVal sDocumentType As String)
Locate the following row in the
ValidationForm_SetDocumentFields
procedure:
If pXDoc.Locators.ItemByName("DB_Vendor").Alternatives.Count = 0 Then
Add the following if–then construct around the current if–then block right before
Select Case sDocumentType
:If pXDoc.Locators.Exists("DB_Vendor") = True Then
If pXDoc.Locators.ItemByName("DB_Vendor").Alternatives.Count = 0 Then
Dim pVendorLoc As CASCADELib.CscXDocField
Set pVendorLoc = pXDoc.Locators.ItemByName("DB_Vendor")
pVendorLoc.Alternatives.Create
pVendorLoc.Alternatives(0).Confidence = 0.0
pVendorLoc.Alternatives(0).SubFields.Create("Org ID")
pVendorLoc.Alternatives(0).SubFields.ItemByName("Org ID").Text = pXDoc.Fields.ItemByName("InvoiceOrganisationID").Text
pVendorLoc.Alternatives(0).SubFields.ItemByName("Org ID").Confidence = 0.0
End If
End IfLocate
Private Sub SL_AGL_Format_LocateAlternatives(ByVal pXDoc As CASCADELib.CscXDocument, ByVal pLocator As CASCADELib.CscXDocField)
Replace the
SL_AGL_Format_LocateAlternatives
procedure as follows:Private Sub SL_AGL_Format_LocateAlternatives(ByVal pXDoc As CASCADELib.CscXDocument, ByVal pLocator As CASCADELib.CscXDocField)
'#######################################################################################
'## If the Amounts Group Locator does not find any values the amounts
'## fields will be empty, and therefore invalid
'## This script takes care of that
Dim bAGLAlternativesExists As Boolean
bAGLAlternativesExists = False
If pXDoc.Locators.Exists("AGL") = True Then
If pXDoc.Locators.ItemByName("AGL").Alternatives.Count > 0 Then
bAGLAlternativesExists = True
End If
End If
If bAGLAlternativesExists <> True Then
Dim fieldName As String
For Each fieldName In Split("SubTotal NetAmount0 NetAmount1 NetAmount2 NetAmount3 NetAmount4 TaxRate1 TaxRate2 TaxRate3 TaxRate4 TaxAmount1 TaxAmount2 TaxAmount3 TaxAmount4 Total Postage Packaging Discount Total")
Dim daf As ICscFieldFormatter
Set daf= Project.FieldFormatters(Project.DefaultAmountFormatter)
pXDoc.Fields.ItemByName(fieldName).Text = "0.00"
daf.FormatField(pXDoc.Fields.ItemByName(fieldName))
Next
End If
End Sub
Save your Project.
Resynchronize your project and republish the corresponding batch classes.