project QadFinancials > class BDInvoice > method CalcWeekNumbersForSales1

query calculated fields procedure

Description

Assign a value to query calculated field tqDInvoiceByDebtor.tiWeekNumbersForSales (available in preprocessor {&tiWeekNumbersForSales})


Parameters


iiCompanyIdinputintegerCompany id
iiDebtorIDinputinteger
itInvoicStartDateinputdate
itInvoiceEndDateinputdate
ilDInvoiceIsOpeninputlogical
icCompanyListIDinputcharacter
icInvoiceTypeinputcharacter
icCurrencyCodeinputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
query DinvoiceByDebtorITypeCurr


program code (program1/bdinvoice.p)

assign vttempdate = date(1,1,year({&ttDInvoiceDueDate})) + (2 - weekday(date(1,1,year({&ttDInvoiceDueDate})))).
if weekday(date(1,1,year({&ttDInvoiceDueDate}))) >= 6 then 
    vttempdate = vttempdate + 7.

assign {&tiWeekNumbersForSales} = truncate(((date({&ttDInvoiceDueDate}) - vttempdate) + 7) / 7 , 0).

if {&tiWeekNumbersForSales} > 52 
then do:
    assign vttempdate = date(1,1,year({&ttDInvoiceDueDate}) + 1) + (2 - weekday(date(1,1,year({&ttDInvoiceDueDate}) + 1))).
    if weekday(date(1,1,year({&ttDInvoiceDueDate}) + 1)) >= 6 then 
        vttempdate = vttempdate + 7.
    if {&ttDInvoiceDueDate} < vttempdate then
         {&tiWeekNumbersForSales} = 52.           
end.