Kofax logo

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:

  1. Install Kofax Transformation Modules 6.2.1 and higher.

  2. 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:

  1. In the Invoice - Script code, make the following changes:

    1. Locate Private Sub SL_Vendor_LocateAlternatives(ByVal pXDoc As CASCADELib.CscXDocument, ByVal pLocator As CASCADELib.CscXDocField)

    2. 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

    3. Locate Private Sub ValidationForm_ButtonClicked(ByVal ButtonName As String, ByVal pXDoc As CASCADELib.CscXDocument)

    4. Locate the following row in the ValidationForm_ButtonClicked procedure:
      Case "btnVendorAlternatives"

    5. Replace the case block between Case "btnVendorAlternatives" and Case "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 Sub

    6. Locate Private Sub ValidationForm_SetDocumentFields(ByVal pXDoc As CASCADELib.CscXDocument, ByVal sDocumentType As String)

    7. Locate the following row in the ValidationForm_SetDocumentFields procedure:
      If pXDoc.Locators.ItemByName("DB_Vendor").Alternatives.Count = 0 Then

    8. 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 If

    9. Locate Private Sub SL_AGL_Format_LocateAlternatives(ByVal pXDoc As CASCADELib.CscXDocument, ByVal pLocator As CASCADELib.CscXDocField)

    10. 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

  2. Save your Project.

  3. Resynchronize your project and republish the corresponding batch classes.