BEGIN
CashDesk_ID = ACashDesk_ID;
mDateFrom = ADocDateFrom;
mDateTo = ADocDateTo;
/* Datumove omezeni souhlasi, ma cenu ziskavat soucty z dokladu... */
/* Ziskani zauctovani... */
FOR
SELECT AccDocQueue_ID, Period_ID, OrdNumber, AccDate$Date, DisplayName
FROM CashBookDetailedRawAcc(:mDateFrom, :mDateTo, :AAccounted) A
ORDER BY
A.OrderByKind, A.AccDate$Date, A.AccDocQueue_ID, A.OrdNumber
INTO
:AccDocQueue_ID, :Period_ID, :OrdNumber, :AccDate$Date, :DisplayName
DO BEGIN
/* Mame informaci o zauctovani, z te se daji dohledat pokladni doklady... */
mSuspend = 0;
FOR
SELECT CashDoc_ID, CashDocRelDef, LocalRoundingAmount
FROM CashBookDetailedRawCash(:AccDocQueue_ID, :Period_ID, :OrdNumber, :AccDate$Date,
:ACashDesk_ID, :mDateFrom, :mDateTo, :AFirmsSel_ID, :ADocQueuesSel_ID,
:ACreatedBySel_ID, :ACorrectedBySel_ID)
INTO
:mCashDoc_ID, :mCashDocRelDef, :mLocalRoundingAmount
DO BEGIN
IF (mSuspend = 0) THEN BEGIN
IF (mLocalRoundingAmount <> CAST(0.00 AS NUMERIC(15, 2))) THEN BEGIN
mSuspend = 1;
END
ELSE BEGIN
SELECT COUNT(*)
FROM CashBookDetailedRows(:mCashDoc_ID, :mCashDocRelDef, :mLocalRoundingAmount,
:ADivisionsSel_ID, :ADivisionsWithChildren, :ABusOrdersSel_ID,
:ABusOrdersWithChildren, :ABusTransactionsSel_ID, :ABusTransactionsWithChildren,
:ABusProjectsSel_ID, :ABusProjectsWithChildren)
INTO
:mCount;
IF (mCount <> 0) THEN
mSuspend = 1;
END
END
END
IF (mSuspend > 0) THEN
SUSPEND;
END
END;