Quantcast
Channel: Microsoft Dynamics NAV
Viewing all articles
Browse latest Browse all 64865

Forum Post: RE: Create a payment through page service in NAV 2013 R2

$
0
0

You just have to call the codeunit passing the journal record filled with the payment data. Here's a very rough example:

OBJECT Codeunit 50000 VendorPaymentWS

{

 OBJECT-PROPERTIES

 {

   Date=04/28/14;

   Time=[ 3:46:13 PM];

   Modified=Yes;

   Version List=;

 }

 PROPERTIES

 {

   OnRun=BEGIN

         END;

 }

 CODE

 {

   PROCEDURE CreateAndPostPayment@1000000000(pVendorNo@1000000000 : Code[20];pPaymAmount@1000000001 : Decimal;pPostingDate@1000000002 : Date;pDocNo@1000000003 : Code[20];pApplToDocType@1000000007 : ' ,Payment,Invoice,Credit Memo,Finance Charge Memo,Reminder,Refund';pApplToDocNo@1000000008 : Code[20]);

   VAR

     GenJnlLine@1000000004 : Record 81;

     LineNo@1000000005 : Integer;

     GenJnlPostLine@1000000006 : Codeunit 12;

   BEGIN

     GenJnlLine.SETRANGE("Journal Template Name",'PAYMENT');

     GenJnlLine.SETRANGE("Journal Batch Name",'GENERAL');

     IF GenJnlLine.FINDLAST THEN

       LineNo := GenJnlLine."Line No." + 10000

     ELSE

       LineNo := 10000;

     GenJnlLine.INIT;

     GenJnlLine."Journal Template Name" := 'PAYMENT';  //Fill with journal used for payments

     GenJnlLine."Journal Batch Name" := 'GENERAL';  //Fill with journal used for payments

     GenJnlLine."Line No." := LineNo;

     GenJnlLine.VALIDATE("Account Type",GenJnlLine."Account Type"::Vendor);

     GenJnlLine.VALIDATE("Account No.",pVendorNo);

     GenJnlLine.VALIDATE(Amount,pPaymAmount);

     GenJnlLine.VALIDATE("Posting Date",pPostingDate);

     GenJnlLine.VALIDATE("Document No.",pDocNo);

     GenJnlLine.VALIDATE("Bal. Account Type",GenJnlLine."Bal. Account Type"::"Bank Account");  //Fill an appropriate bal. account

     GenJnlLine.VALIDATE("Bal. Account No.",'001');  //Fill an appropriate bal. account

     GenJnlLine.VALIDATE("Applies-to Doc. Type",pApplToDocType);

     GenJnlLine.VALIDATE("Applies-to Doc. No.",pApplToDocNo);

     GenJnlLine.INSERT;

     GenJnlPostLine.RUN(GenJnlLine);

   END;

   BEGIN

   END.

 }

}


Viewing all articles
Browse latest Browse all 64865

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>