BEGIN
/* kreditni platby dle lokalni castky*/
IF ((:ACredit = 'A') AND (:ACurrency_ID is NULL)) THEN BEGIN
/* ostatni prijmy */
DocumentType = '01' ;
FOR
SELECT
ID
FROM
OtherIncomes
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (LocalAmount - LocalPaidAmount) = :AAmount) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (LocalAmount - LocalPaidAmount) >= :AAmount) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(PDocument_ID IS NULL OR ElectronicPayment = 'A')
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* faktury vydane */
DocumentType = '03' ;
FOR
SELECT
ID
FROM
IssuedInvoices
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (LocalAmount - LocalCreditAmount - LocalPaidAmount + LocalPaidCreditAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (LocalAmount - LocalCreditAmount - LocalPaidAmount + LocalPaidCreditAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* penalizacni faktury vydane */
DocumentType = '17' ;
FOR
SELECT
ID
FROM
PenaltyInvoices
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (LocalAmount - LocalPaidAmount) = :AAmount) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (LocalAmount - LocalPaidAmount) >= :AAmount) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* dobropisy faktur prijatych */
DocumentType = '61' ;
FOR
SELECT
ID
FROM
ReceivedCreditNotes
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (LocalAmount - LocalPaidAmount) = :AAmount) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (LocalAmount - LocalPaidAmount) >= :AAmount) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* zalohove listy vydane */
DocumentType = '10' ;
FOR
SELECT
ID
FROM
IssuedDInvoices
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (LocalAmount - LocalPaidAmount) = :AAmount) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (LocalAmount - LocalPaidAmount) >= :AAmount) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* Danove zalohove listy vydane */
DocumentType = '62' ;
FOR
SELECT
ID
FROM
VATIssuedDInvoices
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (LocalAmount - LocalCreditAmount - LocalPaidAmount + LocalPaidCreditAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (LocalAmount - LocalCreditAmount - LocalPaidAmount + LocalPaidCreditAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* Dobropisy danovych zalohovych listu prijatych */
DocumentType = '65' ;
FOR
SELECT
ID
FROM
VATReceivedDCreditNotes
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (LocalAmount - LocalPaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (LocalAmount - LocalPaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
END
/* debetni platby dle lokalni castky */
IF ((:ACredit = 'N') and (:ACurrency_ID is NULL)) THEN BEGIN
/* ostatni vydaje */
DocumentType = '02' ;
FOR
SELECT
ID
FROM
OtherExpenses
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (LocalAmount - LocalPaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (LocalAmount - LocalPaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(PDocument_ID IS NULL OR ElectronicPayment = 'A')
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* faktury prijate */
DocumentType = '04' ;
FOR
SELECT
ID
FROM
ReceivedInvoices
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (LocalAmount - LocalCreditAmount - LocalPaidAmount + LocalPaidCreditAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (LocalAmount - LocalCreditAmount - LocalPaidAmount + LocalPaidCreditAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* JCD */
DocumentType = '12' ;
FOR
SELECT
ID
FROM
CustomsDeclarations
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (LocalAmount - LocalPaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (LocalAmount - LocalPaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* dobropisy faktur vydanych */
DocumentType = '60' ;
FOR
SELECT
ID
FROM
IssuedCreditNotes
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (LocalAmount - LocalPaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (LocalAmount - LocalPaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(
(:aFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* zalohove listy prijate */
DocumentType = '11' ;
FOR
SELECT
ID
FROM
ReceivedDInvoices
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (LocalAmount - LocalPaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (LocalAmount - LocalPaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* dobropisy danovych zalohovych listu vydanych */
DocumentType = '63' ;
FOR
SELECT
ID
FROM
VATIssuedDCreditNotes
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (LocalAmount - LocalPaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (LocalAmount - LocalPaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* Danove zalohove listy prijate */
DocumentType = '64' ;
FOR
SELECT
ID
FROM
VATReceivedDInvoices
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (LocalAmount - LocalCreditAmount - LocalPaidAmount + LocalPaidCreditAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (LocalAmount - LocalCreditAmount - LocalPaidAmount + LocalPaidCreditAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
END
/* kreditni platby dle castky a meny */
IF ((:ACredit = 'A') and (:ACurrency_ID is Not NULL)) THEN BEGIN
/* ostatni prijmy */
DocumentType = '01' ;
FOR
SELECT
ID
FROM
OtherIncomes
WHERE
(
((:AAmountType = 0) AND (Amount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (Amount - PaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (Amount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (Amount - PaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(Currency_ID = :ACurrency_ID)
AND
(PDocument_ID IS NULL OR ElectronicPayment = 'A')
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* faktury vydane */
DocumentType = '03' ;
FOR
SELECT
ID
FROM
IssuedInvoices
WHERE
(
((:AAmountType = 0) AND (Amount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (Amount - CreditAmount - PaidAmount + PaidCreditAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (Amount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (Amount - CreditAmount - PaidAmount + PaidCreditAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(Currency_ID = :ACurrency_ID)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* penalizacni faktury vydane */
DocumentType = '17' ;
FOR
SELECT
ID
FROM
PenaltyInvoices
WHERE
(
((:AAmountType = 0) AND (Amount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (Amount - PaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (Amount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (Amount - PaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(Currency_ID = :ACurrency_ID)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* dobropisy faktur prijatych */
DocumentType = '61' ;
FOR
SELECT
ID
FROM
ReceivedCreditNotes
WHERE
(
((:AAmountType = 0) AND (Amount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (Amount - PaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (Amount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (Amount - PaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(Currency_ID = :ACurrency_ID)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* zalohove listy vydane */
DocumentType = '10' ;
FOR
SELECT
ID
FROM
IssuedDInvoices
WHERE
(
((:AAmountType = 0) AND (Amount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (Amount - PaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (Amount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (Amount - PaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(Currency_ID = :ACurrency_ID)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* danove zalohove listy vydane */
DocumentType = '62' ;
FOR
SELECT
ID
FROM
VATIssuedDInvoices
WHERE
(
((:AAmountType = 0) AND (Amount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (Amount - CreditAmount - PaidAmount + PaidCreditAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (Amount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (Amount - CreditAmount - PaidAmount + PaidCreditAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(Currency_ID = :ACurrency_ID)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* Dobropisy danovych zalohovych listu prijatych */
DocumentType = '65' ;
FOR
SELECT
ID
FROM
VATReceivedDCreditNotes
WHERE
(
((:AAmountType = 0) AND (Amount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (Amount - PaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (Amount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (Amount - PaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(Currency_ID = :ACurrency_ID)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
END
/* debetni platby dle castky a meny */
IF ((:ACredit = 'N') and (:ACurrency_ID is Not NULL)) THEN BEGIN
/* ostatni vydaje */
DocumentType = '02' ;
FOR
SELECT
ID
FROM
OtherExpenses
WHERE
(
((:AAmountType = 0) AND (Amount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (Amount - PaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (Amount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (Amount - PaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(Currency_ID = :ACurrency_ID)
AND
(PDocument_ID IS NULL OR ElectronicPayment = 'A')
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* faktury prijate */
DocumentType = '04' ;
FOR
SELECT
ID
FROM
ReceivedInvoices
WHERE
(
((:AAmountType = 0) AND (Amount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (Amount - CreditAmount - PaidAmount + PaidCreditAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (Amount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (Amount - CreditAmount - PaidAmount + PaidCreditAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(Currency_ID = :ACurrency_ID)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* JCD */
DocumentType = '12' ;
FOR
SELECT
ID
FROM
CustomsDeclarations
WHERE
(
((:AAmountType = 0) AND (Amount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (Amount - PaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (Amount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (Amount - PaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(Currency_ID = :ACurrency_ID)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* dobropisy faktur vydanych */
DocumentType = '60' ;
FOR
SELECT
ID
FROM
IssuedCreditNotes
WHERE
(
((:AAmountType = 0) AND (Amount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (Amount - PaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (Amount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (Amount - PaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(Currency_ID = :ACurrency_ID)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* zalohove listy prijate */
DocumentType = '11' ;
FOR
SELECT
ID
FROM
ReceivedDInvoices
WHERE
(
((:AAmountType = 0) AND (Amount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (Amount - PaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (Amount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (Amount - PaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(Currency_ID = :ACurrency_ID)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* dobropisy danovych zalohovych listu vydanych */
DocumentType = '63' ;
FOR
SELECT
ID
FROM
VATIssuedDCreditNotes
WHERE
(
((:AAmountType = 0) AND (Amount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (Amount - PaidAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (Amount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (Amount - PaidAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(Currency_ID = :ACurrency_ID)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* danove zalohove listy prijate */
DocumentType = '64' ;
FOR
SELECT
ID
FROM
VATReceivedDInvoices
WHERE
(
((:AAmountType = 0) AND (Amount = :AAmount)) /* kdyz je zadanä cástka shodna s cástku na dokladu */
OR
((:AAmountType = 1) AND (Amount - CreditAmount - PaidAmount + PaidCreditAmount = :AAmount)) /* kdyz je zadanä cástka shodna s nesplaceno */
OR
((:AAmountType = 2) AND (Amount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než cástku na dokladu (cástecná platba)*/
OR
((:AAmountType = 3) AND (Amount - CreditAmount - PaidAmount + PaidCreditAmount >= :AAmount)) /* kdyz je zadanä cástka shodna ci neší než nesplacená (cástecná platba) */
)
AND
(Currency_ID = :ACurrency_ID)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
/* faktury vydane */
DocumentType = '03' ;
FOR
SELECT
ID
FROM
IssuedInvoices
WHERE
(
((:AAmountType = 0) AND (LocalAmount = :AAmount)) /* kdyz je zadaná èástka shodná s èástkou na dokladu */
OR
/* kdyz je zadaná èástka shodná s pøeplaceno */
((:AAmountType = 1) AND (-1*(LocalAmount + LocalPaidCreditAmount - LocalPaidAmount - LocalCreditAmount) = :AAmount))
OR
((:AAmountType = 2) AND (LocalAmount >= :AAmount)) /* kdyz je zadaná èástka shodná èi menší než èástka na dokladu (èásteèná platba)*/
OR
/* když je zadaná èástka shodná èi menší než pøeplacená èástka na dokladu (èásteèná platba) */
((:AAmountType = 3) AND (-1*(LocalAmount + LocalPaidCreditAmount - LocalPaidAmount - LocalCreditAmount) >= :AAmount))
)
AND
(
(:AFirm_ID = '0000000000')
OR
(Firm_ID = :AFirm_ID)
)
INTO
:ID
DO
SUSPEND;
END
/* Volani procedury z jinych projektu POS*/
FOR
SELECT
DocumentType, ID
FROM
PayDestinationsByAmountPos(:ACredit, :AAmount, :ACurrency_ID, :AAmountType, :AFirm_ID)
INTO
:DocumentType, :ID
DO
SUSPEND;
/* Volani procedury z jinych projektu Mzdy*/
FOR
SELECT
DocumentType, ID
FROM
PayDestinationsByAmountWage(:ACredit, :AAmount, :ACurrency_ID, :AAmountType, :AFirm_ID)
INTO
:DocumentType, :ID
DO
SUSPEND;
END;