Posting Functions

As of NAV 2017, these functions will no longer need to be merged.

Codeunit 80 (Sales-Post)

The following additions have been made to Codeunit 80 (Sales-Post) for archiving in Therefore™ when posting sales orders.

Function onRun()

Copy
  //-TF
  recPerm.GET( recPerm."Object Type"::Codeunit, CODEUNIT::"Pre-Post Functions" );
  IF( recPerm."Execute Permission" = recPerm."Execute Permission"::Yes ) THEN BEGIN
    IF Ship THEN
      IF ("Document Type" = "Document Type"::Order) OR
         (("Document Type" = "Document Type"::Invoice) AND SalesSetup."Shipment on Invoice")
      THEN
      cTFPostFunctions.AddDocumentToQueue(
        cTFPostFunctions.GetTableID( SalesShptHeader.TABLENAME() ), // Tablename
        SalesShptHeader."No.",                                      // Document No.
        SalesShptHeader."Posting Date",                             // Posting Date
        0,                                                          // Entry No.
        0,                                                          // Document Type
        '',                                                         // Identification ID
        SalesShptHeader."Business Case"                             // Business Case
      );
    IF Receive THEN
      IF ("Document Type" = "Document Type"::"Return Order") OR
         (("Document Type" = "Document Type"::"Credit Memo") AND SalesSetup."Return Receipt on Credit Memo")
      THEN
      cTFPostFunctions.AddDocumentToQueue(
        cTFPostFunctions.GetTableID( ReturnRcptHeader.TABLENAME() ), // Tablename
        ReturnRcptHeader."No.",                                      // Document No.
        ReturnRcptHeader."Posting Date",                             // Posting Date
        0,                                                           // Entry No.
        0,                                                           // Document Type
        '',                                                          // Identification ID
        ReturnRcptHeader."Business Case"                             // Business Case
      );
    IF Invoice THEN
      IF "Document Type" IN ["Document Type"::Order,"Document Type"::Invoice] THEN BEGIN
        cTFPostFunctions.AddDocumentToQueue(
          cTFPostFunctions.GetTableID( SalesInvHeader.TABLENAME() ), // Tablename
          SalesInvHeader."No.",                                      // Document No.
          SalesInvHeader."Posting Date",                             // Posting Date
          0,                                                         // Entry No.
          0,                                                         // Document Type
          '',                                                        // Identification ID
          SalesInvHeader."Business Case"                             // Business Case
        );
      END ELSE BEGIN
        cTFPostFunctions.AddDocumentToQueue(
          cTFPostFunctions.GetTableID( SalesCrMemoHeader.TABLENAME() ), // Tablename
          SalesCrMemoHeader."No.",                                      // Document No.
          SalesCrMemoHeader."Posting Date",                             // Posting Date
          0,                                                            // Entry No.
          0,                                                            // Document Type
          '',                                                           // Identification ID
          SalesCrMemoHeader."Business Case"                             // Business Case
        );
      END;
     //+TF

Codeunit 90 (Purch.-Post)

The following additions have been made to Codeunit 90 (Purch.-Post) for archiving in Therefore™ when posting purchase orders.

Function onRun()

Copy
//-TF
  recPerm.GET( recPerm."Object Type"::Codeunit, CODEUNIT::"Pre-Post Functions" );
  IF( recPerm."Execute Permission" = recPerm."Execute Permission"::Yes ) THEN BEGIN
    IF Receive THEN
      IF ("Document Type" = "Document Type"::Order) OR
         (("Document Type" = "Document Type"::Invoice) AND PurchSetup."Receipt on Invoice")
      THEN
      cTFPostFunctions.AddDocumentToQueue(
        cTFPostFunctions.GetTableID( PurchRcptHeader.TABLENAME() ), // Tablename
        PurchRcptHeader."No.",                                      // Document No.
        PurchRcptHeader."Posting Date",                             // Posting Date
        0,                                                          // Entry No.
        0,                                                          // Document Type
        '',                                                         // Identification ID
        PurchRcptHeader."Business Case"                             // Business Case
      );
    IF Ship THEN
      IF ("Document Type" = "Document Type"::"Return Order") OR
         (("Document Type" = "Document Type"::"Credit Memo") AND PurchSetup."Return Shipment on Credit Memo")
      THEN
      cTFPostFunctions.AddDocumentToQueue(
        cTFPostFunctions.GetTableID( ReturnShptHeader.TABLENAME() ), // Tablename
        ReturnShptHeader."No.",                                      // Document No.
        ReturnShptHeader."Posting Date",                             // Posting Date
        0,                                                           // Entry No.
        0,                                                           // Document Type
        '',                                                          // Identification ID
        ReturnShptHeader."Business Case"                             // Business Case
      );
    IF Invoice THEN
      IF "Document Type" IN ["Document Type"::Order,"Document Type"::Invoice] THEN BEGIN
        cTFPostFunctions.AddDocumentToQueue(
          cTFPostFunctions.GetTableID( PurchInvHeader.TABLENAME() ), // Tablename
          PurchInvHeader."No.",                                      // Document No.
          PurchInvHeader."Posting Date",                             // Posting Date
          0,                                                         // Entry No.
          0,                                                         // Document Type
          '',                                                        // Identification ID
          PurchInvHeader."Business Case"                             // Business Case
        );
        cTFPostFunctions.CheckDocumentInQueue(
          cTFPostFunctions.GetTableID( PurchInvHeader.TABLENAME() ), // Tablename
          PurchInvHeader."No.",                                      // Document No.
          PurchInvHeader."Posting Date",                             // Posting Date
          0,                                                         // Entry No.
          0,                                                         // Document Type
          '',                                                        // Identification ID
          PurchInvHeader."Business Case",                            // Business Case
          "No."                                                      // Temp. Document No. for Queue
        );
      END ELSE BEGIN
        cTFPostFunctions.AddDocumentToQueue(
          cTFPostFunctions.GetTableID( PurchCrMemoHeader.TABLENAME() ), // Tablename
          PurchCrMemoHeader."No.",                                      // Document No.
          PurchCrMemoHeader."Posting Date",                             // Posting Date
          0,                                                            // Entry No.
          0,                                                            // Document Type
          '',                                                           // Identification ID
          PurchCrMemoHeader."Business Case"                             // Business Case
        );
      END;
  END;
  //+TF