BEGIN
/* Řádky pokladních příjmů */
IF (ACashDocRelDef = 7) THEN BEGIN
FOR
SELECT
A.VATRate_ID, SUM(A.LocalTAmount), SUM(A.LocalTAmountWithoutVAT)
FROM
CashReceived2 A
WHERE
A.Parent_ID = :ACashDoc_ID AND
( (:ADivisionsSel_ID = '') or
(A.Division_ID in (SELECT Bx.ID FROM Divisions Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ADivisionsSel_ID)) OR
((:ADivisionsWithChildren in ('1', 'A')) and (Bx.ID in (SELECT ID from SYS$Divisions2 where Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ADivisionsSel_ID))))) ))
) AND
( (:ABusOrdersSel_ID = '') or
(A.BusOrder_ID in (SELECT Bx.ID FROM BusOrders Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusOrdersSel_ID)) OR
((:ABusOrdersWithChildren in ('1', 'A')) and (Bx.ID in (SELECT X.ID from SYS$BusOrders2 X where X.Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusOrdersSel_ID))))) ))
) AND
( (:ABusTransactionsSel_ID = '') or
(A.BusTransaction_ID in (SELECT Bx.ID FROM BusTransactions Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusTransactionsSel_ID)) OR
((:ABusTransactionsWithChildren in ('1', 'A')) and (Bx.ID in (SELECT X.ID from SYS$BusTransactions2 X where X.Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusTransactionsSel_ID))))) ))
) AND
( (:ABusProjectsSel_ID = '') or
(A.BusProject_ID in (SELECT Bx.ID FROM BusProjects Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusProjectsSel_ID)) OR
((:ABusProjectsWithChildren in ('1', 'A')) and (Bx.ID in (SELECT X.ID from SYS$BusProjects2 X where X.Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusProjectsSel_ID))))) ))
)
GROUP BY
A.VATRate_ID
INTO
:VATRate_ID, :LocalAmount, :LocalAmountWithoutVAT
DO BEGIN
SUSPEND;
END
END
/* Řádky pokladních výdejů */
IF (ACashDocRelDef = 8) THEN BEGIN
FOR
SELECT
A.VATRate_ID, SUM(A.LocalTAmount), SUM(A.LocalTAmountWithoutVAT)
FROM
CashPaid2 A
WHERE
A.Parent_ID = :ACashDoc_ID AND
( (:ADivisionsSel_ID = '') or
(A.Division_ID in (SELECT Bx.ID FROM Divisions Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ADivisionsSel_ID)) OR
((:ADivisionsWithChildren in ('1', 'A')) and (Bx.ID in (SELECT ID from SYS$Divisions2 where Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ADivisionsSel_ID))))) ))
) AND
( (:ABusOrdersSel_ID = '') or
(A.BusOrder_ID in (SELECT Bx.ID FROM BusOrders Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusOrdersSel_ID)) OR
((:ABusOrdersWithChildren in ('1', 'A')) and (Bx.ID in (SELECT X.ID from SYS$BusOrders2 X where X.Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusOrdersSel_ID))))) ))
) AND
( (:ABusTransactionsSel_ID = '') or
(A.BusTransaction_ID in (SELECT Bx.ID FROM BusTransactions Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusTransactionsSel_ID)) OR
((:ABusTransactionsWithChildren in ('1', 'A')) and (Bx.ID in (SELECT X.ID from SYS$BusTransactions2 X where X.Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusTransactionsSel_ID))))) ))
) AND
( (:ABusProjectsSel_ID = '') or
(A.BusProject_ID in (SELECT Bx.ID FROM BusProjects Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusProjectsSel_ID)) OR
((:ABusProjectsWithChildren in ('1', 'A')) and (Bx.ID in (SELECT X.ID from SYS$BusProjects2 X where X.Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusProjectsSel_ID))))) ))
)
GROUP BY
A.VATRate_ID
INTO
:VATRate_ID, :LocalAmount, :LocalAmountWithoutVAT
DO BEGIN
LocalAmount = -1 * LocalAmount;
LocalAmountWithoutVAT = -1 * LocalAmountWithoutVAT;
SUSPEND;
END
END
/* Řádky vrácení pokladních příjmů */
IF (ACashDocRelDef = 9) THEN BEGIN
FOR
SELECT
A.VATRate_ID, SUM(A.LocalTAmount), SUM(A.LocalTAmountWithoutVAT)
FROM
RefundedCashReceived2 A
WHERE
A.Parent_ID = :ACashDoc_ID AND
( (:ADivisionsSel_ID = '') or
(A.Division_ID in (SELECT Bx.ID FROM Divisions Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ADivisionsSel_ID)) OR
((:ADivisionsWithChildren in ('1', 'A')) and (Bx.ID in (SELECT ID from SYS$Divisions2 where Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ADivisionsSel_ID))))) ))
) AND
( (:ABusOrdersSel_ID = '') or
(A.BusOrder_ID in (SELECT Bx.ID FROM BusOrders Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusOrdersSel_ID)) OR
((:ABusOrdersWithChildren in ('1', 'A')) and (Bx.ID in (SELECT X.ID from SYS$BusOrders2 X where X.Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusOrdersSel_ID))))) ))
) AND
( (:ABusTransactionsSel_ID = '') or
(A.BusTransaction_ID in (SELECT Bx.ID FROM BusTransactions Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusTransactionsSel_ID)) OR
((:ABusTransactionsWithChildren in ('1', 'A')) and (Bx.ID in (SELECT X.ID from SYS$BusTransactions2 X where X.Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusTransactionsSel_ID))))) ))
) AND
( (:ABusProjectsSel_ID = '') or
(A.BusProject_ID in (SELECT Bx.ID FROM BusProjects Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusProjectsSel_ID)) OR
((:ABusProjectsWithChildren in ('1', 'A')) and (Bx.ID in (SELECT X.ID from SYS$BusProjects2 X where X.Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusProjectsSel_ID))))) ))
)
GROUP BY
A.VATRate_ID
INTO
:VATRate_ID, :LocalAmount, :LocalAmountWithoutVAT
DO BEGIN
LocalAmount = -1 * LocalAmount;
LocalAmountWithoutVAT = -1 * LocalAmountWithoutVAT;
SUSPEND;
END
END
/* Řádky vrácení pokladních výdejů */
IF (ACashDocRelDef = 10) THEN BEGIN
FOR
SELECT
A.VATRate_ID, SUM(A.LocalTAmount), SUM(A.LocalTAmountWithoutVAT)
FROM
RefundedCashPaid2 A
WHERE
A.Parent_ID = :ACashDoc_ID AND
( (:ADivisionsSel_ID = '') or
(A.Division_ID in (SELECT Bx.ID FROM Divisions Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ADivisionsSel_ID)) OR
((:ADivisionsWithChildren in ('1', 'A')) and (Bx.ID in (SELECT ID from SYS$Divisions2 where Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ADivisionsSel_ID))))) ))
) AND
( (:ABusOrdersSel_ID = '') or
(A.BusOrder_ID in (SELECT Bx.ID FROM BusOrders Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusOrdersSel_ID)) OR
((:ABusOrdersWithChildren in ('1', 'A')) and (Bx.ID in (SELECT X.ID from SYS$BusOrders2 X where X.Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusOrdersSel_ID))))) ))
) AND
( (:ABusTransactionsSel_ID = '') or
(A.BusTransaction_ID in (SELECT Bx.ID FROM BusTransactions Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusTransactionsSel_ID)) OR
((:ABusTransactionsWithChildren in ('1', 'A')) and (Bx.ID in (SELECT X.ID from SYS$BusTransactions2 X where X.Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusTransactionsSel_ID))))) ))
) AND
( (:ABusProjectsSel_ID = '') or
(A.BusProject_ID in (SELECT Bx.ID FROM BusProjects Bx WHERE Bx.Hidden = 'N' AND
( (Bx.ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusProjectsSel_ID)) OR
((:ABusProjectsWithChildren in ('1', 'A')) and (Bx.ID in (SELECT X.ID from SYS$BusProjects2 X where X.Superior_ID in (SELECT OBJ_ID from SELDAT where SEL_ID = :ABusProjectsSel_ID))))) ))
)
GROUP BY
A.VATRate_ID
INTO
:VATRate_ID, :LocalAmount, :LocalAmountWithoutVAT
DO BEGIN
SUSPEND;
END
END
IF (ACashDocRelDef = 18) THEN BEGIN
SELECT
A.Amount,A.Profit
FROM
CashDeskExchangeDifferences A
WHERE
A.ID = :ACashDoc_ID
INTO
:LocalAmount,:mProfit;
IF (mProfit = 'N') THEN
LocalAmount = -1 * LocalAmount;
LocalAmountWithoutVAT = LocalAmount;
VATRate_ID = NULL;
SUSPEND;
END
END;