project QadFinancials > class BCInvoice > method ReverseCInvoiceSubTables
Description
submethod of ReverseCInvoice : contains the reversal of CInvoiceVat, CInvoiceBank and CInvoiceStage and CInvoiceWHT
Parameters
icCInvoiceRowId | input | character | Rowid of the Invoice |
ilReverseBySign | input | logical | Is it reverse by sign or not ? |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program3/bcinvoice.p)
/* ========================================================================================================== */
/* Reverse subtables created for original invoice being reversed and attach this new subtables to new invoice */
/* ========================================================================================================== */
/* Parameters: (I) NewCInvoiceRowId RowId of new invoice which reverse original one */
/* (I) ReverseBySign Reverse by sign */
/* ========================================================================================================== */
assign oiReturnStatus = -98.
for each tCInvoiceVat where
tCInvoiceVat.tc_ParentRowid = icCInvoiceRowId :
if ilReverseBySign
then assign tCInvoiceVat.CInvoiceVatVatBaseDebitTC = - tCInvoiceVat.CInvoiceVatVatBaseDebitTC
tCInvoiceVat.CInvoiceVatVatBaseDebitLC = - tCInvoiceVat.CInvoiceVatVatBaseDebitLC
tCInvoiceVat.CInvoiceVatVatBaseDebitCC = - tCInvoiceVat.CInvoiceVatVatBaseDebitCC
tCInvoiceVat.tdCInvoiceVatVatBaseDebitVC = - tCInvoiceVat.tdCInvoiceVatVatBaseDebitVC
tCInvoiceVat.CInvoiceVatVatBaseCreditTC = - tCInvoiceVat.CInvoiceVatVatBaseCreditTC
tCInvoiceVat.CInvoiceVatVatBaseCreditLC = - tCInvoiceVat.CInvoiceVatVatBaseCreditLC
tCInvoiceVat.CInvoiceVatVatBaseCreditCC = - tCInvoiceVat.CInvoiceVatVatBaseCreditCC
tCInvoiceVat.tdCInvoiceVatVatBaseCreditVC = - tCInvoiceVat.tdCInvoiceVatVatBaseCreditVC
tCInvoiceVat.CInvoiceVatVatDebitTC = - tCInvoiceVat.CInvoiceVatVatDebitTC
tCInvoiceVat.CInvoiceVatVatDebitLC = - tCInvoiceVat.CInvoiceVatVatDebitLC
tCInvoiceVat.CInvoiceVatVatDebitCC = - tCInvoiceVat.CInvoiceVatVatDebitCC
tCInvoiceVat.tdCInvoiceVatVatDebitVC = - tCInvoiceVat.tdCInvoiceVatVatDebitVC
tCInvoiceVat.CInvoiceVatVatCreditTC = - tCInvoiceVat.CInvoiceVatVatCreditTC
tCInvoiceVat.CInvoiceVatVatCreditLC = - tCInvoiceVat.CInvoiceVatVatCreditLC
tCInvoiceVat.CInvoiceVatVatCreditCC = - tCInvoiceVat.CInvoiceVatVatCreditCC
tCInvoiceVat.tdCInvoiceVatVatCreditVC = - tCInvoiceVat.tdCInvoiceVatVatCreditVC.
else assign vdAmountTC = tCInvoiceVat.CInvoiceVatVatBaseDebitTC
vdAmountLC = tCInvoiceVat.CInvoiceVatVatBaseDebitLC
vdAmountCC = tCInvoiceVat.CInvoiceVatVatBaseDebitCC
vdAmountVC = tCInvoiceVat.tdCInvoiceVatVatBaseDebitVC
tCInvoiceVat.CInvoiceVatVatBaseDebitTC = tCInvoiceVat.CInvoiceVatVatBaseCreditTC
tCInvoiceVat.CInvoiceVatVatBaseDebitLC = tCInvoiceVat.CInvoiceVatVatBaseCreditLC
tCInvoiceVat.CInvoiceVatVatBaseDebitCC = tCInvoiceVat.CInvoiceVatVatBaseCreditCC
tCInvoiceVat.tdCInvoiceVatVatBaseDebitVC = tCInvoiceVat.tdCInvoiceVatVatBaseCreditVC
tCInvoiceVat.CInvoiceVatVatBaseCreditTC = vdAmountTC
tCInvoiceVat.CInvoiceVatVatBaseCreditLC = vdAmountLC
tCInvoiceVat.CInvoiceVatVatBaseCreditCC = vdAmountCC
tCInvoiceVat.tdCInvoiceVatVatBaseCreditVC = vdAmountVC
vdAmountTC = tCInvoiceVat.CInvoiceVatVatDebitTC
vdAmountLC = tCInvoiceVat.CInvoiceVatVatDebitLC
vdAmountCC = tCInvoiceVat.CInvoiceVatVatDebitCC
vdAmountVC = tCInvoiceVat.tdCInvoiceVatVatDebitVC
tCInvoiceVat.CInvoiceVatVatDebitTC = tCInvoiceVat.CInvoiceVatVatCreditTC
tCInvoiceVat.CInvoiceVatVatDebitLC = tCInvoiceVat.CInvoiceVatVatCreditLC
tCInvoiceVat.CInvoiceVatVatDebitCC = tCInvoiceVat.CInvoiceVatVatCreditCC
tCInvoiceVat.tdCInvoiceVatVatDebitVC = tCInvoiceVat.tdCInvoiceVatVatCreditVC
tCInvoiceVat.CInvoiceVatVatCreditTC = vdAmountTC
tCInvoiceVat.CInvoiceVatVatCreditLC = vdAmountLC
tCInvoiceVat.CInvoiceVatVatCreditCC = vdAmountCC
tCInvoiceVat.tdCInvoiceVatVatCreditVC = vdAmountVC.
end. /* for each tCInvoiceVat where */
for each tCInvoiceBank where
tCInvoiceBank.tc_ParentRowid = icCInvoiceRowId:
if ilReverseBySign = true
then assign tCInvoiceBank.CInvoiceBankToPayTC = - tCInvoiceBank.CInvoiceBankToPayTC.
end. /* for each tCInvocieBank where */
for each tCInvoiceStage where
tCInvoiceStage.tc_ParentRowid = icCInvoiceRowId:
if ilReverseBySign = true
then assign tCInvoiceStage.CInvoiceStageAmountTC = - tCInvoiceStage.CInvoiceStageAmountTC
tCInvoiceStage.CInvoiceStageAmountLC = - tCInvoiceStage.CInvoiceStageAmountLC
tCInvoiceStage.CInvoiceStageAmountCC = - tCInvoiceStage.CInvoiceStageAmountCC
tCInvoiceStage.CInvoiceStageAmtAppliedTC = - tCInvoiceStage.CInvoiceStageAmtAppliedTC.
end. /* for each tCInvoiceStage where */
for each tCInvoiceWHT where
tCInvoiceWHT.tc_ParentRowid = icCInvoiceRowId :
if ilReverseBySign
then assign tCInvoiceWHT.CInvoiceWHTFeeDebitTC = - tCInvoiceWHT.CInvoiceWHTFeeDebitTC
tCInvoiceWHT.CInvoiceWHTFeeCreditTC = - tCInvoiceWHT.CInvoiceWHTFeeCreditTC
tCInvoiceWHT.CInvoiceWHTExpenseDebitTC = - tCInvoiceWHT.CInvoiceWHTExpenseDebitTC
tCInvoiceWHT.CInvoiceWHTExpenseCreditTC = - tCInvoiceWHT.CInvoiceWHTExpenseCreditTC
tCInvoiceWHT.CInvoiceWHTTaxFeeDebitTC = - tCInvoiceWHT.CInvoiceWHTTaxFeeDebitTC
tCInvoiceWHT.CInvoiceWHTTaxFeeDebitLC = - tCInvoiceWHT.CInvoiceWHTTaxFeeDebitLC
tCInvoiceWHT.CInvoiceWHTTaxFeeDebitCC = - tCInvoiceWHT.CInvoiceWHTTaxFeeDebitCC
tCInvoiceWHT.CInvoiceWHTTaxFeeCreditTC = - tCInvoiceWHT.CInvoiceWHTTaxFeeCreditTC
tCInvoiceWHT.CInvoiceWHTTaxFeeCreditLC = - tCInvoiceWHT.CInvoiceWHTTaxFeeCreditLC
tCInvoiceWHT.CInvoiceWHTTaxFeeCreditCC = - tCInvoiceWHT.CInvoiceWHTTaxFeeCreditCC
tCInvoiceWHT.CInvoiceWHTAmtDebitTC = - tCInvoiceWHT.CInvoiceWHTAmtDebitTC
tCInvoiceWHT.CInvoiceWHTAmtDebitLC = - tCInvoiceWHT.CInvoiceWHTAmtDebitLC
tCInvoiceWHT.CInvoiceWHTAmtDebitCC = - tCInvoiceWHT.CInvoiceWHTAmtDebitCC
tCInvoiceWHT.CInvoiceWHTAmtCreditTC = - tCInvoiceWHT.CInvoiceWHTAmtCreditTC
tCInvoiceWHT.CInvoiceWHTAmtCreditLC = - tCInvoiceWHT.CInvoiceWHTAmtCreditLC
tCInvoiceWHT.CInvoiceWHTAmtCreditCC = - tCInvoiceWHT.CInvoiceWHTAmtCreditCC.
else assign vdAmountTC = tCInvoiceWHT.CInvoiceWHTFeeDebitTC
tCInvoiceWHT.CInvoiceWHTFeeDebitTC = tCInvoiceWHT.CInvoiceWHTFeeCreditTC
tCInvoiceWHT.CInvoiceWHTFeeCreditTC = vdAmountTC
vdAmountTC = tCInvoiceWHT.CInvoiceWHTExpenseDebitTC
tCInvoiceWHT.CInvoiceWHTExpenseDebitTC = tCInvoiceWHT.CInvoiceWHTExpenseCreditTC
tCInvoiceWHT.CInvoiceWHTExpenseCreditTC = vdAmountTC
vdAmountTC = tCInvoiceWHT.CInvoiceWHTTaxFeeDebitTC
vdAmountLC = tCInvoiceWHT.CInvoiceWHTTaxFeeDebitLC
vdAmountCC = tCInvoiceWHT.CInvoiceWHTTaxFeeDebitCC
tCInvoiceWHT.CInvoiceWHTTaxFeeDebitTC = tCInvoiceWHT.CInvoiceWHTTaxFeeCreditTC
tCInvoiceWHT.CInvoiceWHTTaxFeeDebitLC = tCInvoiceWHT.CInvoiceWHTTaxFeeCreditLC
tCInvoiceWHT.CInvoiceWHTTaxFeeDebitCC = tCInvoiceWHT.CInvoiceWHTTaxFeeCreditCC
tCInvoiceWHT.CInvoiceWHTTaxFeeCreditTC = vdAmountTC
tCInvoiceWHT.CInvoiceWHTTaxFeeCreditLC = vdAmountLC
tCInvoiceWHT.CInvoiceWHTTaxFeeCreditCC = vdAmountCC
vdAmountTC = tCInvoiceWHT.CInvoiceWHTAmtDebitTC
vdAmountLC = tCInvoiceWHT.CInvoiceWHTAmtDebitLC
vdAmountCC = tCInvoiceWHT.CInvoiceWHTAmtDebitCC
tCInvoiceWHT.CInvoiceWHTAmtDebitTC = tCInvoiceWHT.CInvoiceWHTAmtCreditTC
tCInvoiceWHT.CInvoiceWHTAmtDebitLC = tCInvoiceWHT.CInvoiceWHTAmtCreditLC
tCInvoiceWHT.CInvoiceWHTAmtDebitCC = tCInvoiceWHT.CInvoiceWHTAmtCreditCC
tCInvoiceWHT.CInvoiceWHTAmtCreditTC = vdAmountTC
tCInvoiceWHT.CInvoiceWHTAmtCreditLC = vdAmountLC
tCInvoiceWHT.CInvoiceWHTAmtCreditCC = vdAmountCC.
end. /* for each tCInvoiceWHT where */
if oiReturnStatus = -98 then assign oiReturnStatus = 0.