BEGIN
/* dohledam generovane variabilni symboly */
IF (:Credit = 'A') THEN BEGIN
/* ostatni prijmy */
DocumentType = '01' ;
FOR
SELECT
ID, Amount - PaidAmount, Currency_ID, DocDate$Date
FROM
OtherIncomes
WHERE
ExternalNumber LIKE :ExternalNumber
AND
(PDocument_ID IS NULL OR ElectronicPayment = 'A')
AND
((:Firm_ID = '0000000000')
OR
(Firm_ID = :Firm_ID))
INTO
:ID, :Amount, :Currency_ID, :DueDate$Date
DO
SUSPEND ;
/* faktury vydane */
DocumentType = '03' ;
FOR
SELECT
ID, Amount - CreditAmount - PaidAmount + PaidCreditAmount, Currency_ID, DueDate$Date
FROM
IssuedInvoices
WHERE
ExternalNumber LIKE :ExternalNumber
AND
((:Firm_ID = '0000000000')
OR
(Firm_ID = :Firm_ID))
INTO
:ID, :Amount, :Currency_ID, :DueDate$Date
DO
SUSPEND ;
/* penalizaení faktury vydane */
/* dobropisy faktur prijatych */
DocumentType = '61' ;
FOR
SELECT
ID, Amount - PaidAmount, Currency_ID, DueDate$Date
FROM
ReceivedCreditNotes
WHERE
ExternalNumber LIKE :ExternalNumber
AND
((:Firm_ID = '0000000000')
OR
(Firm_ID = :Firm_ID))
INTO
:ID, :Amount, :Currency_ID, :DueDate$Date
DO
SUSPEND ;
/* dobropisy danovych zalohovych listu prijatych */
DocumentType = '65' ;
FOR
SELECT
ID, Amount - PaidAmount, Currency_ID, DocDate$Date
FROM
VATReceivedDCreditNotes
WHERE
ExternalNumber LIKE :ExternalNumber
AND
((:Firm_ID = '0000000000')
OR
(Firm_ID = :Firm_ID))
INTO
:ID, :Amount, :Currency_ID, :DueDate$Date
DO
SUSPEND ;
/* dohledam zadane variabilni symboly */
END ELSE BEGIN
/* ostatni vydaje */
DocumentType = '02' ;
FOR
SELECT
ID, Amount - PaidAmount, Currency_ID, DueDate$Date
FROM
OtherExpenses
WHERE
ExternalNumber LIKE :ExternalNumber
AND
(PDocument_ID IS NULL OR ElectronicPayment = 'A')
AND
((:Firm_ID = '0000000000')
OR
(Firm_ID = :Firm_ID))
INTO
:ID, :Amount, :Currency_ID, :DueDate$Date
DO
SUSPEND ;
/* faktury prijate */
DocumentType = '04' ;
FOR
SELECT
ID, Amount - CreditAmount - PaidAmount + PaidCreditAmount, Currency_ID, DueDate$Date
FROM
ReceivedInvoices
WHERE
ExternalNumber LIKE :ExternalNumber
AND
((:Firm_ID = '0000000000')
OR
(Firm_ID = :Firm_ID))
INTO
:ID, :Amount, :Currency_ID, :DueDate$Date
DO
SUSPEND ;
/* JCD */
DocumentType = '12' ;
FOR
SELECT
ID, Amount - PaidAmount, Currency_ID, DueDate$Date
FROM
CustomsDeclarations
WHERE
ExternalNumber LIKE :ExternalNumber
AND
((:Firm_ID = '0000000000')
OR
(Firm_ID = :Firm_ID))
INTO
:ID, :Amount, :Currency_ID, :DueDate$Date
DO
SUSPEND ;
/* dobropisy faktur vydanych */
DocumentType = '60' ;
FOR
SELECT
ID, Amount - PaidAmount, Currency_ID, DueDate$Date
FROM
IssuedCreditNotes
WHERE
ExternalNumber LIKE :ExternalNumber
AND
((:Firm_ID = '0000000000')
OR
(Firm_ID = :Firm_ID))
INTO
:ID, :Amount, :Currency_ID, :DueDate$Date
DO
SUSPEND ;
/* zalohove listy prijate */
DocumentType = '11' ;
FOR
SELECT
ID, Amount - PaidAmount, Currency_ID, DueDate$Date
FROM
ReceivedDInvoices
WHERE
ExternalNumber LIKE :ExternalNumber
AND
((:Firm_ID = '0000000000')
OR
(Firm_ID = :Firm_ID))
INTO
:ID, :Amount, :Currency_ID, :DueDate$Date
DO
SUSPEND ;
/* dobropisy dan.zal.listu vydanych */
DocumentType = '63' ;
FOR
SELECT
ID, Amount - PaidAmount, Currency_ID, DueDate$Date
FROM
VATIssuedDCreditNotes
WHERE
ExternalNumber LIKE :ExternalNumber
AND
((:Firm_ID = '0000000000')
OR
(Firm_ID = :Firm_ID))
INTO
:ID, :Amount, :Currency_ID, :DueDate$Date
DO
SUSPEND ;
/* faktury vydane */
DocumentType = '03' ;
FOR
SELECT
ID, -1*(Amount - CreditAmount - PaidAmount + PaidCreditAmount), Currency_ID, DueDate$Date
FROM
IssuedInvoices
WHERE
ExternalNumber LIKE :ExternalNumber
AND
((:Firm_ID = '0000000000')
OR
(Firm_ID = :Firm_ID))
INTO
:ID, :Amount, :Currency_ID, :DueDate$Date
DO
SUSPEND ;
END
/* Volani procedury z jinych projektu - POS*/
/* Volani procedury z jinych projektu - Mzdy*/
END;