Procedura-GetPayableHeaders

Popis:
Vrátí placené doklady pro zpracování do peněžního deníku.

Parametry:

NázevPopisDatový typ
ADateFrom$DATEFloat(0, 0)
ADateTo$DATEFloat(0, 0)

Návratové hodnoty:

NázevPopisDatový typ
PDocumentTypeChar(2)
PDocument_IDChar(10)

Závislosti:

NázevPopisTřída
GetPayableHeadersPOSProcedures

Tělo:

BEGIN
  FOR
    SELECT
      A.PDocument_ID, A.PDocumentType
    FROM CashPaid A
    WHERE A.PDocument_ID is not null and (A.DocDate$DATE<:ADateTo$DATE) and (A.DocDate$DATE>=:ADateFrom$DATE)
    GROUP BY 1, 2
    UNION ALL
    SELECT
      A.PDocument_ID, A.PDocumentType
    FROM CashReceived A
    WHERE A.PDocument_ID is not null and (A.DocDate$DATE<:ADateTo$DATE) and (A.DocDate$DATE>=:ADateFrom$DATE)
    GROUP BY 1, 2
    UNION ALL 
    SELECT
      A.PDocument_ID, A.PDocumentType
    FROM OtherExpenses A
    WHERE A.PDocument_ID is not null and (A.DocDate$DATE<:ADateTo$DATE) and (A.DocDate$DATE>=:ADateFrom$DATE)
    GROUP BY 1, 2
    UNION ALL
    SELECT
      A.PDocument_ID, A.PDocumentType
    FROM OtherIncomes A
    WHERE A.PDocument_ID is not null and (A.DocDate$DATE<:ADateTo$DATE) and (A.DocDate$DATE>=:ADateFrom$DATE)
    GROUP BY 1, 2
    UNION ALL
    SELECT
      A.PDocument_ID, A.PDocumentType
    FROM BankStatements2 A
    WHERE A.PDocument_ID is not null and (A.DocDate$DATE<:ADateTo$DATE) and (A.DocDate$DATE>=:ADateFrom$DATE) and
      (A.IsMultiPaymentRow = 'N')
    GROUP BY 1, 2
    UNION ALL
    SELECT
      A.PDocument_ID, A.PDocumentType
    FROM Compensations2 A
    WHERE A.PDocument_ID is not null and (A.DocDate$DATE<:ADateTo$DATE) and (A.DocDate$DATE>=:ADateFrom$DATE)
    GROUP BY 1, 2
    UNION ALL
    SELECT
      A.PDocument_ID, A.PDocumentType
    FROM IssuedDepositUsages A
    WHERE A.PDocument_ID is not null and (A.PaymentDate$DATE<:ADateTo$DATE) and (A.PaymentDate$DATE>=:ADateFrom$DATE)
    GROUP BY 1, 2
    UNION ALL
    SELECT
      A.PDocument_ID, A.PDocumentType
    FROM ReceivedDepositUsages A
    WHERE A.PDocument_ID is not null and (A.PaymentDate$DATE<:ADateTo$DATE) and (A.PaymentDate$DATE>=:ADateFrom$DATE)
    GROUP BY 1, 2
    UNION ALL
    SELECT
      A.Source_ID, Cast('03' as VARCHAR(2))
    FROM IssuedCreditNotes A
    WHERE (A.DocDate$DATE<:ADateTo$DATE) AND (A.DocDate$DATE>=:ADateFrom$DATE)
    GROUP BY 1, 2
    UNION ALL
    SELECT
      A.Source_ID, Cast('04' as VARCHAR(2))
    FROM ReceivedCreditNotes A
    WHERE (A.DocDate$DATE<:ADateTo$DATE) AND (A.DocDate$DATE>=:ADateFrom$DATE)
    GROUP BY 1, 2
    UNION ALL
    SELECT
      A.Source_ID, Cast('62' as VARCHAR(2))
    FROM VATIssuedDCreditNotes A
    WHERE (A.DocDate$DATE<:ADateTo$DATE) AND (A.DocDate$DATE>=:ADateFrom$DATE)
    GROUP BY 1, 2
    UNION ALL
    SELECT
      A.Source_ID, Cast('64' as VARCHAR(2))
    FROM VATReceivedDCreditNotes A
    WHERE (A.DocDate$DATE<:ADateTo$DATE) AND (A.DocDate$DATE>=:ADateFrom$DATE)
    GROUP BY 1, 2
    UNION ALL
    -- platby dokladu v maloobch. prodeji
    SELECT
      A.PDocument_ID, A.PDocumentType
    FROM GetPayableHeadersPOS(:ADateFrom$DATE,  :ADateTo$DATE) A
    GROUP BY 1, 2
  INTO
    :PDocument_ID, :PDocumentType
  DO BEGIN
    /* Pokud se jedná o ostatní doklad s příznakem ElectronicPayment vyřadíme ho ze zpracování. */
    IF (:PDocumentType = '01') THEN BEGIN
      -- Elektronické platby vylučujeme z peněžního deníku. 
      SELECT A.ElectronicPayment
      FROM OtherIncomes A
      WHERE A.ID = :PDocument_ID
      INTO :mElectronicPayment;
      IF (mElectronicPayment = 'N') THEN
        suspend;
    END
    ELSE
    IF (:PDocumentType = '02') THEN BEGIN
      -- Elektronické platby vylučujeme z peněžního deníku. 
      SELECT A.ElectronicPayment
      FROM OtherExpenses A
      WHERE A.ID = :PDocument_ID
      INTO :mElectronicPayment;
      IF (mElectronicPayment = 'N') THEN
        suspend;
    END
    ELSE
    BEGIN
      suspend;
    END
  END
END

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