project QadFinancials > class BDDocument > method AdditionalUpdatesPostingXrefDIDisc3
Description
Extended method of AdditionalUpdatesPostingXrefDIDisc
Parameters
| idDiscountRatio | input | decimal | |
| odDiscBaseDebitTC | output | decimal | |
| odDiscBaseCreditTC | output | decimal | |
| odDiscBaseDebitCC | output | decimal | |
| odDiscBaseCreditCC | output | decimal | |
| odDiscBaseDebitLC | output | decimal | |
| odDiscBaseCreditLC | output | decimal | |
| odDiscTaxDebitTC | output | decimal | |
| odDiscTaxCreditTC | output | decimal | |
| odDiscTaxDebitCC | output | decimal | |
| odDiscTaxCreditCC | output | decimal | |
| odDiscTaxDebitLC | output | decimal | |
| odDiscTaxCreditLC | output | decimal | |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program5/bddocument.p)
assign oiReturnStatus = -98.
if can-do({&DOCUMENTSTATUS-INIT} + ",":U + {&DOCUMENTSTATUS-BOUNCED}, tDDocument.DDocumentStatus)
then assign vlReversalPosting = true.
else assign vlReversalPosting = false.
if tqPostingVatByPostingLineId.tltx2_pmt_disc = true
then assign odDiscBaseDebitTC = if vlReversalPosting then tqPostingVatByPostingLineId.tdPostingVatBaseDebitTC * idDiscountRatio
else tqPostingVatByPostingLineId.tdPostingVatBaseCreditTC * idDiscountRatio
odDiscBaseCreditTC = if vlReversalPosting then tqPostingVatByPostingLineId.tdPostingVatBaseCreditTC * idDiscountRatio
else tqPostingVatByPostingLineId.tdPostingVatBaseDebitTC * idDiscountRatio
odDiscTaxDebitTC = if vlReversalPosting then tqPostingVatByPostingLineId.tdPostingVatTaxDebitTC * idDiscountRatio
else tqPostingVatByPostingLineId.tdPostingVatTaxCreditTC * idDiscountRatio
odDiscTaxCreditTC = if vlReversalPosting then tqPostingVatByPostingLineId.tdPostingVatTaxCreditTC * idDiscountRatio
else tqPostingVatByPostingLineId.tdPostingVatTaxDebitTC * idDiscountRatio
odDiscBaseDebitTC = <M-46 RoundAmount
(input odDiscBaseDebitTC (idUnroundedAmount),
input ? (iiCurrencyID),
input tDDocumentInvoiceXref.tcCurrencyCode (icCurrencyCode)) in BDDocument>
odDiscBaseCreditTC = <M-85 RoundAmount
(input odDiscBaseCreditTC (idUnroundedAmount),
input ? (iiCurrencyID),
input tDDocumentInvoiceXref.tcCurrencyCode (icCurrencyCode)) in BDDocument>
odDiscTaxDebitTC = <M-39 RoundAmount
(input odDiscTaxDebitTC (idUnroundedAmount),
input ? (iiCurrencyID),
input tDDocumentInvoiceXref.tcCurrencyCode (icCurrencyCode)) in BDDocument>
odDiscTaxCreditTC = <M-84 RoundAmount
(input odDiscTaxCreditTC (idUnroundedAmount),
input ? (iiCurrencyID),
input tDDocumentInvoiceXref.tcCurrencyCode (icCurrencyCode)) in BDDocument>
odDiscBaseDebitCC = <M-98 RoundAmount
(input odDiscBaseDebitTC * tDDocumentInvoiceXref.tdCCExchangeRate * tDDocumentInvoiceXref.tdCCExchangeRateScale (idUnroundedAmount),
input viCompanyCCId (iiCurrencyID),
input vcCompanyCC (icCurrencyCode)) in BDDocument>
odDiscBaseCreditCC = <M-81 RoundAmount
(input odDiscBaseCreditTC * tDDocumentInvoiceXref.tdCCExchangeRate * tDDocumentInvoiceXref.tdCCExchangeRateScale (idUnroundedAmount),
input viCompanyCCId (iiCurrencyID),
input vcCompanyCC (icCurrencyCode)) in BDDocument>
odDiscTaxDebitCC = <M-50 RoundAmount
(input odDiscTaxDebitTC * tDDocumentInvoiceXref.tdCCExchangeRate * tDDocumentInvoiceXref.tdCCExchangeRateScale (idUnroundedAmount),
input viCompanyCCId (iiCurrencyID),
input vcCompanyCC (icCurrencyCode)) in BDDocument>
odDiscTaxCreditCC = <M-32 RoundAmount
(input odDiscTaxCreditTC * tDDocumentInvoiceXref.tdCCExchangeRate * tDDocumentInvoiceXref.tdCCExchangeRateScale (idUnroundedAmount),
input viCompanyCCId (iiCurrencyID),
input vcCompanyCC (icCurrencyCode)) in BDDocument>
odDiscBaseDebitLC = <M-74 RoundAmount
(input odDiscBaseDebitTC * tDDocumentInvoiceXref.tdLCExchangeRate * tDDocumentInvoiceXref.tdLCExchangeRateScale (idUnroundedAmount),
input viCompanyLCId (iiCurrencyID),
input vcCompanyLC (icCurrencyCode)) in BDDocument>
odDiscBaseCreditLC = <M-51 RoundAmount
(input odDiscBaseCreditTC * tDDocumentInvoiceXref.tdLCExchangeRate * tDDocumentInvoiceXref.tdLCExchangeRateScale (idUnroundedAmount),
input viCompanyLCId (iiCurrencyID),
input vcCompanyLC (icCurrencyCode)) in BDDocument>
odDiscTaxDebitLC = <M-16 RoundAmount
(input odDiscTaxDebitTC * tDDocumentInvoiceXref.tdLCExchangeRate * tDDocumentInvoiceXref.tdLCExchangeRateScale (idUnroundedAmount),
input viCompanyLCId (iiCurrencyID),
input vcCompanyLC (icCurrencyCode)) in BDDocument>
odDiscTaxCreditLC = <M-96 RoundAmount
(input odDiscTaxCreditTC * tDDocumentInvoiceXref.tdLCExchangeRate * tDDocumentInvoiceXref.tdLCExchangeRateScale (idUnroundedAmount),
input viCompanyLCId (iiCurrencyID),
input vcCompanyLC (icCurrencyCode)) in BDDocument>.
/* Tax is not discountable at payment */
else assign odDiscBaseDebitTC = 0
odDiscBaseCreditTC = 0
odDiscBaseDebitCC = 0
odDiscBaseCreditCC = 0
odDiscBaseDebitLC = 0
odDiscBaseCreditLC = 0
odDiscTaxDebitTC = 0
odDiscTaxCreditTC = 0
odDiscTaxDebitCC = 0
odDiscTaxCreditCC = 0
odDiscTaxDebitLC = 0
odDiscTaxCreditLC = 0.
if oiReturnStatus = -98 then assign oiReturnStatus = 0.