project QadFinancials > class BPaymentSelection > method GetCInvoiceAmounts


Parameters


icTransactionObjectTypeinputcharacter
idInvoiceOriginalDebitinputdecimal
idInvoiceOriginalCreditinputdecimal
idInvoiceBalanceDebitinputdecimal
idInvoiceBalanceCreditinputdecimal
idInvoiceVatBaseDebitinputdecimal
idInvoiceVatBaseCreditinputdecimal
idInvoiceVatDebitinputdecimal
idInvoiceVatCreditinputdecimal
idInvoiceHoldAmountinputdecimal
odOriginalInvoiceAmountoutputdecimal
odOriginalInvoiceAmountNetoutputdecimal
ocOriginalInvoiceAmountSignoutputcharacter
ocOriginalInvAmntDebitCreditAbbroutputcharacter
odInvoiceVatoutputdecimal
odInvoiceVatBaseoutputdecimal
odOpenBalInvAmountoutputdecimal
ocOpenBalInvAmntDebitCreditAbbroutputcharacter
odOpenBalInvAmntSignedoutputdecimal
ocPaymentAmntDebitCreditAbbroutputcharacter
ocDiscountAmntDebitCreditAbbroutputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BPaymentSelection.CalculatePaySelLine
method BPaymentSelection.GetToPayObjectsForCInvoice


program code (program3/bpaymentselection.p)


/* Original invoice amount     */
/* Invoice, Invoice correction */
if idInvoiceOriginalCredit <> 0 and
   idInvoiceOriginalCredit <> ?
then assign odOriginalInvoiceAmount          = idInvoiceOriginalCredit
            odOriginalInvoiceAmountNet       = idInvoiceOriginalCredit - (idInvoiceVatDebit - idInvoiceVatCredit)
            ocOriginalInvoiceAmountSign      = if idInvoiceOriginalCredit < 0 then "":U else "-":U
            ocOriginalInvAmntDebitCreditAbbr = vcCreditTR.

/* Credit note, Credit note correction, Prepayment */
else assign odOriginalInvoiceAmount          = idInvoiceOriginalDebit
            odOriginalInvoiceAmountNet       = idInvoiceOriginalDebit - (idInvoiceVatCredit - idInvoiceVatDebit)
            ocOriginalInvAmntDebitCreditAbbr = vcDebitTR
            ocOriginalInvoiceAmountSign      = if idInvoiceOriginalDebit < 0 then "-":U else "":U.
            
/* Invoice Taxes */
assign odInvoiceVatBase = idInvoiceVatBaseCredit + idInvoiceVatBaseDebit
       odInvoiceVat     = if idInvoiceVatDebit <> 0 and idInvoiceVatDebit <> ? then idInvoiceVatDebit else idInvoiceVatCredit.            
            
            
/* Open invoice amount */            
/* Invoice, Invoice correction */
if idInvoiceBalanceCredit <> 0 and
   idInvoiceBalanceCredit <> ?
then assign odOpenBalInvAmount               = idInvoiceBalanceCredit
            odOpenBalInvAmntSigned           = - idInvoiceBalanceCredit
            ocOpenBalInvAmntDebitCreditAbbr  = vcCreditTR
            ocPaymentAmntDebitCreditAbbr     = vcDebitTR
            ocDiscountAmntDebitCreditAbbr    = vcCreditTR.

/* Credit note, Credit note correction, Prepayment */
else assign odOpenBalInvAmount               = idInvoiceBalanceDebit
            odOpenBalInvAmntSigned           = idInvoiceBalanceDebit
            ocOpenBalInvAmntDebitCreditAbbr  = vcDebitTR
            ocPaymentAmntDebitCreditAbbr     = vcCreditTR
            ocDiscountAmntDebitCreditAbbr    = vcDebitTR.