Procedura-NotPaidDocsForFirm

Parametry:

NázevPopisDatový typ
AFirm_IDChar(10)
ACurrency_IDChar(10)

Návratové hodnoty:

NázevPopisDatový typ
DocumentTypeChar(2)
IDChar(10)
DocQueue_IDChar(10)
Period_IDChar(10)
DocDate$DATEFloat(0, 0)
DueDate$DATEFloat(0, 0)

Tělo:

BEGIN
    /* ostatni prijmy */
    DocumentType = '01' ;
    FOR
      SELECT
        ID, DocQueue_ID, Period_ID, DocDate$Date, 0
      FROM
        OtherIncomes
      WHERE
        (PDocument_ID IS NULL OR ElectronicPayment = 'A') AND
        (((LocalAmount - LocalPaidAmount) <> 0) or
        ((Amount - PaidAmount) <> 0)) and
        (Firm_ID in (select ID from Firms where ID = :AFirm_ID OR Firm_ID = :AFirm_ID)) and
        Currency_ID = :ACurrency_ID
      INTO
        :ID, :DocQueue_ID, :Period_ID, :DocDate$Date, :DueDate$Date
    DO
      SUSPEND;
    /* faktury vydane */
    DocumentType = '03' ;
    FOR
      SELECT
        ID, DocQueue_ID, Period_ID, DocDate$Date, DueDate$Date
      FROM
        IssuedInvoices
      WHERE
        (((LocalAmount - LocalPaidAmount) <> 0) or
        ((Amount - PaidAmount) <> 0)) and
        (Firm_ID in (select ID from Firms where ID = :AFirm_ID OR Firm_ID = :AFirm_ID)) and
        Currency_ID = :ACurrency_ID
      INTO
        :ID, :DocQueue_ID, :Period_ID, :DocDate$Date, :DueDate$Date
    DO
      SUSPEND;
    /* penalizacni faktury vydane */
    DocumentType = '17' ;
    FOR
      SELECT
        ID, DocQueue_ID, Period_ID, DocDate$Date, DueDate$Date
      FROM
        PenaltyInvoices
      WHERE
        (((LocalAmount - LocalPaidAmount) <> 0) or
        ((Amount - PaidAmount) <> 0)) and
        (Firm_ID in (select ID from Firms where ID = :AFirm_ID OR Firm_ID = :AFirm_ID)) and
        Currency_ID = :ACurrency_ID
      INTO
        :ID, :DocQueue_ID, :Period_ID, :DocDate$Date, :DueDate$Date
    DO
      SUSPEND;
    /* dobropisy faktur prijatych */
    DocumentType = '61' ;
    FOR
      SELECT
        ID, DocQueue_ID, Period_ID, DocDate$Date, DueDate$Date
      FROM
        ReceivedCreditNotes
      WHERE
        (((LocalAmount - LocalPaidAmount) <> 0) or
        ((Amount - PaidAmount) <> 0)) and
        (Firm_ID in (select ID from Firms where ID = :AFirm_ID OR Firm_ID = :AFirm_ID)) and
        Currency_ID = :ACurrency_ID
      INTO
        :ID, :DocQueue_ID, :Period_ID, :DocDate$Date, :DueDate$Date
    DO
      SUSPEND;
    /* zalohove listy vydane */
    DocumentType = '10' ;
    FOR
      SELECT
        ID, DocQueue_ID, Period_ID, DocDate$Date, DueDate$Date
      FROM
        IssuedDInvoices
      WHERE
        (((LocalAmount - LocalPaidAmount) <> 0) or
        ((Amount - PaidAmount) <> 0)) and
        (Firm_ID in (select ID from Firms where ID = :AFirm_ID OR Firm_ID = :AFirm_ID)) and
        Currency_ID = :ACurrency_ID
      INTO
        :ID, :DocQueue_ID, :Period_ID, :DocDate$Date, :DueDate$Date
    DO
      SUSPEND;
    /* ostatni vydaje */
    DocumentType = '02' ;
    FOR
      SELECT
        ID, DocQueue_ID, Period_ID, DocDate$Date, DueDate$Date
      FROM
        OtherExpenses
      WHERE
        (PDocument_ID IS NULL OR ElectronicPayment = 'A') AND
        (((LocalAmount - LocalPaidAmount) <> 0) or
        ((Amount - PaidAmount) <> 0)) and
        (Firm_ID in (select ID from Firms where ID = :AFirm_ID OR Firm_ID = :AFirm_ID)) and
        Currency_ID = :ACurrency_ID
      INTO
        :ID, :DocQueue_ID, :Period_ID, :DocDate$Date, :DueDate$Date
    DO
      SUSPEND;
    /* faktury prijate */
    DocumentType = '04' ;
    FOR
      SELECT
        ID, DocQueue_ID, Period_ID, DocDate$Date, DueDate$Date
      FROM
        ReceivedInvoices
      WHERE
        (((LocalAmount - LocalPaidAmount) <> 0) or
        ((Amount - PaidAmount) <> 0)) and
        (Firm_ID in (select ID from Firms where ID = :AFirm_ID OR Firm_ID = :AFirm_ID)) and
        Currency_ID = :ACurrency_ID
      INTO
        :ID, :DocQueue_ID, :Period_ID, :DocDate$Date, :DueDate$Date
    DO
      SUSPEND;
    /* JCD */
    DocumentType = '12' ;
    FOR
      SELECT
        ID, DocQueue_ID, Period_ID, DocDate$Date, DueDate$Date
      FROM
        CustomsDeclarations
      WHERE
        (((LocalAmount - LocalPaidAmount) <> 0) or
        ((Amount - PaidAmount) <> 0)) and
        (Firm_ID in (select ID from Firms where ID = :AFirm_ID OR Firm_ID = :AFirm_ID)) and
        Currency_ID = :ACurrency_ID
      INTO
        :ID, :DocQueue_ID, :Period_ID, :DocDate$Date, :DueDate$Date
    DO
      SUSPEND;
    /* dobropisy faktur vydanych */
    DocumentType = '60' ;
    FOR
      SELECT
        ID, DocQueue_ID, Period_ID, DocDate$Date, DueDate$Date
      FROM
        IssuedCreditNotes
      WHERE
        (((LocalAmount - LocalPaidAmount) <> 0) or
        ((Amount - PaidAmount) <> 0)) and
        (Firm_ID in (select ID from Firms where ID = :AFirm_ID OR Firm_ID = :AFirm_ID)) and
        Currency_ID = :ACurrency_ID
      INTO
        :ID, :DocQueue_ID, :Period_ID, :DocDate$Date, :DueDate$Date
    DO
      SUSPEND;
    /* zalohove listy prijate */
    DocumentType = '11' ;
    FOR
      SELECT
        ID, DocQueue_ID, Period_ID, DocDate$Date, DueDate$Date
      FROM
        ReceivedDInvoices
      WHERE
        (((LocalAmount - LocalPaidAmount) <> 0) or
        ((Amount - PaidAmount) <> 0)) and
        (Firm_ID in (select ID from Firms where ID = :AFirm_ID OR Firm_ID = :AFirm_ID)) and
        Currency_ID = :ACurrency_ID
      INTO
        :ID, :DocQueue_ID, :Period_ID, :DocDate$Date, :DueDate$Date
    DO
      SUSPEND;
    /* Danove zalohove listy vydane */
    DocumentType = '62' ;
    FOR
      SELECT
        ID, DocQueue_ID, Period_ID, DocDate$Date, 0
      FROM
        VATIssuedDInvoices
      WHERE
        (((LocalAmount - LocalPaidAmount) <> 0) or
        ((Amount - PaidAmount) <> 0)) and
        (Firm_ID in (select ID from Firms where ID = :AFirm_ID OR Firm_ID = :AFirm_ID)) and
        Currency_ID = :ACurrency_ID
      INTO
        :ID, :DocQueue_ID, :Period_ID, :DocDate$Date, :DueDate$Date
    DO
      SUSPEND;
    /* dobropisy danovych zalohovych listu vydanych */
    DocumentType = '63' ;
    FOR
      SELECT
        ID, DocQueue_ID, Period_ID, DocDate$Date, DueDate$Date
      FROM
        VATIssuedDCreditNotes
      WHERE
        (((LocalAmount - LocalPaidAmount) <> 0) or
        ((Amount - PaidAmount) <> 0)) and
        (Firm_ID in (select ID from Firms where ID = :AFirm_ID OR Firm_ID = :AFirm_ID)) and
        Currency_ID = :ACurrency_ID
      INTO
        :ID, :DocQueue_ID, :Period_ID, :DocDate$Date, :DueDate$Date
    DO
      SUSPEND;
    /* Danove zalohove listy prijate */
    DocumentType = '64' ;
    FOR
      SELECT
        ID, DocQueue_ID, Period_ID, DocDate$Date, 0
      FROM
        VATReceivedDInvoices
      WHERE
        (((LocalAmount - LocalPaidAmount) <> 0) or
        ((Amount - PaidAmount) <> 0)) and
        (Firm_ID in (select ID from Firms where ID = :AFirm_ID OR Firm_ID = :AFirm_ID)) and
        Currency_ID = :ACurrency_ID
      INTO
        :ID, :DocQueue_ID, :Period_ID, :DocDate$Date, :DueDate$Date
    DO
      SUSPEND;
    /* dobropisy danovych zalohovych listu prijatych */
    DocumentType = '65' ;
    FOR
      SELECT
        ID, DocQueue_ID, Period_ID, DocDate$Date, 0
      FROM
        VATReceivedDCreditNotes
      WHERE
        (((LocalAmount - LocalPaidAmount) <> 0) or
        ((Amount - PaidAmount) <> 0)) and
        (Firm_ID in (select ID from Firms where ID = :AFirm_ID OR Firm_ID = :AFirm_ID)) and
        Currency_ID = :ACurrency_ID
      INTO
        :ID, :DocQueue_ID, :Period_ID, :DocDate$Date, :DueDate$Date
    DO
      SUSPEND;
END;

Generated by ABRA Software a.s. 27.10.2021 16:34:16