begin
TotalAmount = 0;
For
Select
A.ID
From
Firms A
Where
A.Hidden = 'N' and
(
(A.MainNACECode_ID = :InNACEID) or
(:InNACEID = '')
) and
(
(A.ID in (select OBJ_ID from SELDAT where SEL_ID = :InFirmSelID)) or
(
(A.ID = :InFirmID) and
((:InFirmSelID = '') or (:InFirmSelID is null)) and
((A.Firm_ID = '') or (A.Firm_ID is null))
) or
(
((:InFirmID = '') or (:InFirmID is null)) and
((:InFirmSelID = '') or (:InFirmSelID is null)) and
((A.Firm_ID = '') or (A.Firm_ID is null))
)
)
Into
:mFirmID
do begin
mFirmTotalAmount = 0;
Select
Coalesce(Sum(LocalAmount - LocalPaidAmount - (LocalCreditAmount - LocalPaidCreditAmount)), 0)
From
IssuedInvoices II
Where
(II.Firm_ID = :mFirmID) and
(:InDocDateUsed <> 'A' or (II.DocDate$Date >= :InDocDateFrom and II.DocDate$Date < :InDocDateTo)) and
(:InDueDateUsed <> 'A' or (II.DueDate$Date >= :InDueDateFrom and II.DueDate$Date < :InDueDateTo)) and
((LocalAmount - LocalPaidAmount) > (LocalCreditAmount - LocalPaidCreditAmount))
Into
:mFirmTotalAmount;
TotalAmount = TotalAmount + mFirmTotalAmount;
For
Select
A.ID
From
Firms A
Where
A.Firm_ID = :mFirmID
Into
:mFirmID2
do begin
mFirmTotalAmount = 0;
Select
Coalesce(Sum(LocalAmount - LocalPaidAmount - (LocalCreditAmount - LocalPaidCreditAmount)), 0)
From
IssuedInvoices II
Where
(II.Firm_ID = :mFirmID2) and
(:InDocDateUsed <> 'A' or (II.DocDate$Date >= :InDocDateFrom and II.DocDate$Date < :InDocDateTo)) and
(:InDueDateUsed <> 'A' or (II.DueDate$Date >= :InDueDateFrom and II.DueDate$Date < :InDueDateTo)) and
((LocalAmount - LocalPaidAmount) > (LocalCreditAmount - LocalPaidCreditAmount))
Into
:mFirmTotalAmount;
TotalAmount = TotalAmount + mFirmTotalAmount;
end
end
suspend;
end;