Description
Return all the invoice in current bill, if it need to print item detail, so GetDInvoiceDetailInfo method will be used to get more detail info.
Parameters
idPreBillBalance | input | decimal | |
iiCurHighWaterMark | input | integer | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/bbillreport.p)
/* Create output DInvoice DS */
for each tDinvoiceForBillFilterDS:
if tDinvoiceForBillFilterDS.tcDInvoiceType = {&INVOICETYPE-PREPAYMENT} or
tDinvoiceForBillFilterDS.tcDInvoiceType = {&INVOICETYPE-ADJUSTMENT} or
tDinvoiceForBillFilterDS.tcDInvoiceType = {&INVOICETYPE-DEDUCTION}
then next.
<Q-43 run GetDebtorPrintInvHistoryByBill (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input tDinvoiceForBillFilterDS.tiBill_ID, (BillID)
output dataset tqGetDebtorPrintInvHistoryByBill) in BBillReport>
find first tqGetDebtorPrintInvHistoryByBill no-lock no-error.
if available(tqGetDebtorPrintInvHistoryByBill) then
assign vlPrintItemDetail = tqGetDebtorPrintInvHistoryByBill.tlDebtorIsPrintBillWithItemDet.
vcInvoiceNbr = tDinvoiceForBillFilterDS.tcDInvoiceDIText.
if tDinvoiceForBillFilterDS.tcDInvoiceType = {&INVOICETYPE-INVOICE} and vlPrintItemDetail
then do:
<M-75 run GetDInvoiceDetailInfo
(input vcInvoiceNbr (icInvoiceNumber),
output vlAvailItemDetails (olAvailItemDetails),
output oiReturnStatus (oiReturnStatus)) in BBillReport>
end.
if tDinvoiceForBillFilterDS.tcDInvoiceType = {&INVOICETYPE-INVOICE} and
vlPrintItemDetail and vlAvailItemDetails then
do:
for each tBillReportBillItemDetails:
create tqBillReportDInvoice.
/* Copy custom field */
find first tqGetDebtorInfoForBill where tqGetDebtorInfoForBill.tiBill_ID = tDinvoiceForBillFilterDS.tiBill_ID no-error.
if available tqGetDebtorInfoForBill then
buffer-copy tqGetDebtorInfoForBill to tqBillReportDInvoice.
assign tqBillReportDInvoice.tcBillCurrency = tDinvoiceForBillFilterDS.tcCurrencyCode
tqBillReportDInvoice.tiBillReport_ID = viBillReport_ID
tqBillReportDInvoice.tiBillNumber = tDinvoiceForBillFilterDS.tiBillNumber
tqBillReportDInvoice.tiBillYear = viBillYear
tqBillReportDInvoice.tcBillCollector = tDinvoiceForBillFilterDS.tcEmployeeCode
tqBillReportDInvoice.tcBillScheduleCode = tDinvoiceForBillFilterDS.tcBillScheduleCode
tqBillReportDInvoice.tcDInvoiceType = tDinvoiceForBillFilterDS.tcDInvoiceType
tqBillReportDInvoice.tdPreviousBalance = idPreBillBalance
tqBillReportDInvoice.ttDueDate = tDinvoiceForBillFilterDS.ttBillDueDate
tqBillReportDInvoice.ttIssuedDate = today
tqBillReportDInvoice.tiDInvoice_ID = tDinvoiceForBillFilterDS.tiDInvoice_ID
tqBillReportDInvoice.ttBillDate = vtBillDate
tqBillReportDInvoice.tcBankNumberSwiftCode = vcbanknumberswiftcode
tqBillReportDInvoice.tcBankName = vcbankname
tqBillReportDInvoice.tcDInvoiceReference = vcInvoiceNbr
tqBillReportDInvoice.ttDInvoiceDate = tDinvoiceForBillFilterDS.ttDInvoiceDate
tqBillReportDInvoice.tcDInvoiceBalanceCrDt = if tDinvoiceForBillFilterDS.tdDInvoiceBalanceCreditTC <> 0 and
tDinvoiceForBillFilterDS.tdDInvoiceBalanceCreditTC <> ?
then {&CREDITDEBITABBREVIATION-CREDIT-TR}
else {&CREDITDEBITABBREVIATION-DEBIT-TR}
tqBillReportDInvoice.tdDInvoiceBalance = tBillReportBillItemDetails.tdSales + tBillReportBillItemDetails.tdTax
tqBillReportDInvoice.tdDInvoiceOriginalBalance = tBillReportBillItemDetails.tdSales + tBillReportBillItemDetails.tdTax
tqBillReportDInvoice.tdDInvoiceVatBalance = tBillReportBillItemDetails.tdTax
tqBillReportDInvoice.tdDInvoiceVatExchangeRate = tDinvoiceForBillFilterDS.tdDInvoiceExchangeRate
tqBillReportDInvoice.tcDebtorCodeInReport = tDinvoiceForBillFilterDS.tcDebtorCode
tqBillReportDInvoice.tiBill_ID = tDinvoiceForBillFilterDS.tiBill_ID
tqBillReportDInvoice.tcBusinessRelationID = vcBusinessRelationID
tqBillReportDInvoice.tcBusinessRelationName = vcBusinessRelationName
tqBillReportDInvoice.tcBusinessRelationAddr1 = vcBusinessRelationAddr1
tqBillReportDInvoice.tcBusinessRelationAddr2 = vcBusinessRelationAddr2
tqBillReportDInvoice.tcPaymentConditionCode = vcPaymentConditionCode
tqBillReportDInvoice.tcBankNumber = vcbanknumber
tqBillReportDInvoice.tcBankNumberBranch = vcbanknumberbranch
tqBillReportDInvoice.tcBankAccountCode = vcBankAccountCode
tqBillReportDInvoice.tcBankAccountType = vcBankAccountType
tqBillReportDInvoice.tcCompanyAddress = vcCompanyAddress
tqBillReportDInvoice.tcCompanyName = vcCompanyName
tqBillReportDInvoice.tcContactInfo = vcContactInfo
tqBillReportDInvoice.ttShipDate = tBillReportBillItemDetails.ttShipDate
tqBillReportDInvoice.tcSONbr = tBillReportBillItemDetails.tcSONbr
tqBillReportDInvoice.tiSOLine = tBillReportBillItemDetails.tiSOLine
tqBillReportDInvoice.tcItemCode = tBillReportBillItemDetails.tcItemCode
tqBillReportDInvoice.tcItemDescription1 = tBillReportBillItemDetails.tcItemDescription1
tqBillReportDInvoice.tcItemDescription2 = tBillReportBillItemDetails.tcItemDescription2
tqBillReportDInvoice.tdQty = tBillReportBillItemDetails.tdQty
tqBillReportDInvoice.tcUM = tBillReportBillItemDetails.tcUM
tqBillReportDInvoice.tdPrice = tBillReportBillItemDetails.tdPrice
tqBillReportDInvoice.tcShipTo = tBillReportBillItemDetails.tcShipTo
tqBillReportDInvoice.tcRmks = tBillReportBillItemDetails.tcRmks
tqBillReportDInvoice.tlIsPreBillInitial = vlIsPreBillInitial
tqBillReportDInvoice.tlPrintItemDetail = vlPrintItemDetail
vdSalesAmt = vdSalesAmt + tqBillReportDInvoice.tdDInvoiceOriginalBalance
vdSalesTax = vdSalesTax + tqBillReportDInvoice.tdDInvoiceVatBalance.
end. /* for each tBillReportBillItemDetails */
end.
else
do:
create tqBillReportDInvoice.
/* Copy custom field */
find first tqGetDebtorInfoForBill where tqGetDebtorInfoForBill.tiBill_ID = tDinvoiceForBillFilterDS.tiBill_ID no-error.
if available tqGetDebtorInfoForBill then
buffer-copy tqGetDebtorInfoForBill to tqBillReportDInvoice.
assign tqBillReportDInvoice.tcBillCurrency = tDinvoiceForBillFilterDS.tcCurrencyCode
tqBillReportDInvoice.tiBillReport_ID = viBillReport_ID
tqBillReportDInvoice.tiBillNumber = tDinvoiceForBillFilterDS.tiBillNumber
tqBillReportDInvoice.tiBillYear = viBillYear
tqBillReportDInvoice.tcBillCollector = vcBillCollector
tqBillReportDInvoice.tcBillScheduleCode = tDinvoiceForBillFilterDS.tcBillScheduleCode
tqBillReportDInvoice.tcDInvoiceType = tDinvoiceForBillFilterDS.tcDInvoiceType
tqBillReportDInvoice.tdPreviousBalance = idPreBillBalance
tqBillReportDInvoice.ttDueDate = tDinvoiceForBillFilterDS.ttBillDueDate
tqBillReportDInvoice.ttIssuedDate = today
tqBillReportDInvoice.tiDInvoice_ID = tDinvoiceForBillFilterDS.tiDInvoice_ID
tqBillReportDInvoice.ttBillDate = vtBillDate
tqBillReportDInvoice.tcBankNumberSwiftCode = vcbanknumberswiftcode
tqBillReportDInvoice.tcBankName = vcbankname
tqBillReportDInvoice.tcDInvoiceReference = vcInvoiceNbr
tqBillReportDInvoice.ttDInvoiceDate = tDinvoiceForBillFilterDS.ttDInvoiceDate
tqBillReportDInvoice.tcDInvoiceBalanceCrDt = if tDinvoiceForBillFilterDS.tdDInvoiceBalanceCreditTC <> 0 and
tDinvoiceForBillFilterDS.tdDInvoiceBalanceCreditTC <> ?
then {&CREDITDEBITABBREVIATION-CREDIT-TR}
else {&CREDITDEBITABBREVIATION-DEBIT-TR}
tqBillReportDInvoice.tdDInvoiceBalance = if tDinvoiceForBillFilterDS.tdDInvoiceBalanceCreditTC <> 0 and
tDinvoiceForBillFilterDS.tdDInvoiceBalanceCreditTC <> ?
then (tDinvoiceForBillFilterDS.tdDInvoiceBalanceCreditTC * -1)
else tDinvoiceForBillFilterDS.tdDInvoiceBalanceDebitTC
tqBillReportDInvoice.tdDInvoiceOriginalBalance = if tDinvoiceForBillFilterDS.tdDInvoiceOriginalCreditTC <> 0 and
tDinvoiceForBillFilterDS.tdDInvoiceOriginalCreditTC <> ?
then (tDinvoiceForBillFilterDS.tdDInvoiceOriginalCreditTC * -1)
else tDinvoiceForBillFilterDS.tdDInvoiceOriginalDebitTC
tqBillReportDInvoice.tdDInvoiceVatBalance = if tDinvoiceForBillFilterDS.tdDInvoiceVatCreditTC <> 0 and
tDinvoiceForBillFilterDS.tdDInvoiceVatCreditTC <> ?
then tDinvoiceForBillFilterDS.tdDInvoiceVatCreditTC
else (tDinvoiceForBillFilterDS.tdDInvoiceVatDebitTC * -1)
tqBillReportDInvoice.tdDInvoiceVatExchangeRate = tDinvoiceForBillFilterDS.tdDInvoiceExchangeRate
tqBillReportDInvoice.tcDebtorCodeInReport = tDinvoiceForBillFilterDS.tcDebtorCode
tqBillReportDInvoice.tiBill_ID = tDinvoiceForBillFilterDS.tiBill_ID
tqBillReportDInvoice.tcBusinessRelationID = vcBusinessRelationID
tqBillReportDInvoice.tcBusinessRelationName = vcBusinessRelationName
tqBillReportDInvoice.tcBusinessRelationAddr1 = vcBusinessRelationAddr1
tqBillReportDInvoice.tcBusinessRelationAddr2 = vcBusinessRelationAddr2
tqBillReportDInvoice.tcPaymentConditionCode = vcPaymentConditionCode
tqBillReportDInvoice.tcBankNumber = vcbanknumber
tqBillReportDInvoice.tcBankNumberBranch = vcbanknumberbranch
tqBillReportDInvoice.tcBankAccountCode = vcBankAccountCode
tqBillReportDInvoice.tcBankAccountType = vcBankAccountType
tqBillReportDInvoice.tcCompanyAddress = vcCompanyAddress
tqBillReportDInvoice.tcCompanyName = vcCompanyName
tqBillReportDInvoice.tcContactInfo = vcContactInfo
tqBillReportDInvoice.tlIsPreBillInitial = vlIsPreBillInitial
tqBillReportDInvoice.tlPrintItemDetail = vlPrintItemDetail
vdSalesAmt = vdSalesAmt + tqBillReportDInvoice.tdDInvoiceOriginalBalance
vdSalesTax = vdSalesTax + tqBillReportDInvoice.tdDInvoiceVatBalance.
end. /* else then do */
end. /* for each tDinvoiceForBillFilterDS */
empty temp-table tqGetDebtorInfoForBill.