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
| iiCompanyId | input | integer | Company id |
| iiDebtorID | input | integer | |
| itInvoicStartDate | input | date | |
| itInvoiceEndDate | input | date | |
| ilDInvoiceIsOpen | input | logical | |
| icCompanyListID | input | character | |
| icInvoiceType | input | character | |
| icCurrencyCode | input | character | |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
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.