BEGIN
FOR
SELECT
A.VATIndex_ID, A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID,
A.LocalTAmountWithoutVAT, A.LocalTAmount, A.TAmountWithoutVAT, A.TAmount
FROM
IssuedCreditNotes2 A
join IssuedCreditNotes B ON A.Parent_ID = B.ID
LEFT join CreditNotesAcknowledges CNA ON CNA.CreditNote_ID = B.ID
WHERE
((B.VATByPayment = 'N') OR (A.VATMode = 1)) and
((B.Acknowledge = 0 and (B.VATDate$Date >= :AVATDateFrom and B.VATDate$Date < :AVATDateTo)) or
(B.Acknowledge = 2 and (CNA.DocDate$Date >= :AVATDateFrom and CNA.DocDate$Date < :AVATDateTo))) AND
B.VATDocument = 'A' AND B.VATCountry_ID=:AVATCountry_ID AND
(( :AFirmSelID = '' OR
(B.Firm_ID in (select OBJ_ID from SELDAT where SEL_ID = :AFirmSelID)) OR
(B.Firm_ID in (SELECT ID FROM Firms WHERE Firm_ID in (select OBJ_ID from SELDAT where SEL_ID = :AFirmSelID))) ))
INTO
:VATIndex_ID, :mDivision_ID, :mBusOrder_ID, :mBusTransaction_ID, :mBusProject_ID,
:TAmountWithoutVAT, :TAmount, :ForeignTAmountWithoutVAT, :ForeignTAmount
DO BEGIN
EXECUTE PROCEDURE CheckDivisionAndBusX
:mDivision_ID, :ADivisionsSelID, :ADivisionsWithChilds,
:mBusOrder_ID, :ABusOrdersSelID, :ABusOrdersWithChilds,
:mBusTransaction_ID, :ABusTransactionsSelID, :ABusTransactionsWithChilds,
:mBusProject_ID, :ABusProjectsSelID, :ABusProjectsWithChilds
RETURNING_VALUES
:mSuspend;
IF (mSuspend > 0) THEN
SUSPEND;
END
FOR
SELECT
A.VATIndex_ID, A.Division_ID, A.BusOrder_ID, A.BusTransaction_ID, A.BusProject_ID,
A.LocalTAmountWithoutVAT, A.LocalTAmount, A.TAmountWithoutVAT, A.TAmount
FROM
VATIssuedDCreditNotes2 A
join VATIssuedDCreditNotes B ON A.Parent_ID = B.ID
WHERE
((B.VATByPayment = 'N') OR (A.VATMode = 1)) and
B.VATDate$Date >= :AVATDateFrom AND B.VATDate$Date < :AVATDateTo AND
B.VATCountry_ID=:AVATCountry_ID AND
(( :AFirmSelID = '' OR
(B.Firm_ID in (select OBJ_ID from SELDAT where SEL_ID = :AFirmSelID)) OR
(B.Firm_ID in (SELECT ID FROM Firms WHERE Firm_ID in (select OBJ_ID from SELDAT where SEL_ID = :AFirmSelID))) ))
INTO
:VATIndex_ID, :mDivision_ID, :mBusOrder_ID, :mBusTransaction_ID, :mBusProject_ID,
:TAmountWithoutVAT, :TAmount, :ForeignTAmountWithoutVAT, :ForeignTAmount
DO BEGIN
EXECUTE PROCEDURE CheckDivisionAndBusX
:mDivision_ID, :ADivisionsSelID, :ADivisionsWithChilds,
:mBusOrder_ID, :ABusOrdersSelID, :ABusOrdersWithChilds,
:mBusTransaction_ID, :ABusTransactionsSelID, :ABusTransactionsWithChilds,
:mBusProject_ID, :ABusProjectsSelID, :ABusProjectsWithChilds
RETURNING_VALUES
:mSuspend;
IF (mSuspend > 0) THEN
SUSPEND;
END
END;