BEGIN
--veskere selecty se presunuly do view, ze ktereho se nove taha (view lze mnohem lepe pouzit pro filtrovani)
FOR
SELECT
DocumentType, ID, DocDate$DATE, Amount, LocalAmount, Currency_ID,
CashDesk_ID, BankAccount_ID, OrdNumber, DocQueue_ID, Period_ID,
Profit
FROM
PaymentsForDocument_VIEW A
WHERE
A.PDocumentType = :APDocumentType AND A.PDocument_ID = :APDocument_ID
AND ( (A.DocDate$DATE < :AEndDate + 1) OR (:AEndDate = 0) )
INTO
DocumentType, ID, DocDate$DATE, Amount, LocalAmount, Currency_ID,
CashDesk_ID, BankAccount_ID,
OrdNumber, DocQueue_ID, Period_ID, Profit
DO BEGIN
IF (:DocumentType IN ('13', '14')) THEN BEGIN
PAmount = 0;
LocalPAmount = 0;
IF (:Profit = 'A') THEN
LocalPAmount = LocalAmount * -1;
ELSE
LocalPAmount = LocalAmount;
IF (APDocumentType IN ('02', '04', '11', '12', '60', '64', '63')) THEN
LocalPAmount = LocalPAmount * -1;
SUSPEND;
END ELSE BEGIN
EXECUTE PROCEDURE PaymentsAmountForDocument :APDocumentType, :APDocument_ID,
:DocumentType, :ID
RETURNING_VALUES PAmount, LocalPAmount;
SUSPEND;
END
END
/* V pripade ze hledame do Data nemuzeme vracet NULL sloupce kvuli reportum */
IF ( (AEndDate <> 0) AND ((Amount IS NULL) OR (LocalAmount IS NULL)) ) THEN BEGIN
Amount =0;
LocalAmount =0;
PAmount =0;
SUSPEND;
END
END;