begin
IF (ADocumentType = 'CP') THEN
BEGIN
IF (ADateFrom$DATE < 42736) THEN
BEGIN
FOR
SELECT PT.PaymentKind, (B.LOCALAMOUNT - B.LOCALVATAMOUNT), B.LOCALVATAMOUNT
FROM POSCASHPAID B
JOIN PaymentTypes PT ON PT.ID = B.PaymentType_ID
WHERE B.ID = :ADocument_ID
UNION ALL
SELECT PT.PaymentKind, A.LOCALROUNDINGAMOUNT, CAST(0 AS NUMERIC(15,2))
FROM POSCASHPAID A
JOIN PaymentTypes PT ON PT.ID = A.PaymentType_ID
WHERE (A.LOCALROUNDINGAMOUNT <> 0) AND (A.ID = :ADOCUMENT_ID)
INTO :mPaymentKind, :Amount, :mVATAmount
DO BEGIN
IF (mPaymentKind = 1) THEN BEGIN /* typ 1 je platba v hotovosti */
Type_ID = 'XX'; /* aby se tato situace rozpoznala */
END ELSE BEGIN
VAT = mVATAmount;
Type_ID = APOS_IT_ID;
END
SUSPEND;
END
END
ELSE
BEGIN
FOR
SELECT PT.PaymentKind, B.LOCALAMOUNT, CAST(0 AS NUMERIC(15,2))
FROM POSCASHPAID B
JOIN PaymentTypes PT ON PT.ID = B.PaymentType_ID
WHERE B.ID = :ADocument_ID
UNION ALL
SELECT PT.PaymentKind, A.LOCALROUNDINGAMOUNT, CAST(0 AS NUMERIC(15,2))
FROM POSCASHPAID A
JOIN PaymentTypes PT ON PT.ID = A.PaymentType_ID
WHERE (A.LOCALROUNDINGAMOUNT <> 0) AND (A.ID = :ADOCUMENT_ID)
INTO :mPaymentKind, :Amount, :mVATAmount
DO BEGIN
Type_ID = 'XX'; /* prubezna polozka */
SUSPEND;
END
END
END
ELSE
IF (ADocumentType = 'CR') THEN
BEGIN
SELECT B.LocalAmount
FROM POSCashReceived B
WHERE B.ID = :ADocument_ID
UNION ALL
SELECT A.LOCALROUNDINGAMOUNT
FROM POSCashReceived A
WHERE (A.LOCALROUNDINGAMOUNT <> 0) AND (A.ID = :ADOCUMENT_ID)
INTO :Amount;
SUSPEND;
END
end