Procedura-GetPaymentsForDocumentPOS

Parametry:

NázevPopisDatový typ
ADocumentTypeChar(2)
ADocument_IdChar(10)
AEndDateFloat(0, 0)

Návratové hodnoty:

NázevPopisDatový typ
Docdate$DateFloat(0, 0)
LocalAmountNumeric(15, 2)
LocalVatNumeric(15, 2)
DocumentDisplayNameVarChar(24)
TextVarChar(150)
Sort_DocumentDisplayNameVarChar(28)

Tělo:

BEGIN
  IF (ADocumentType = 'CR') THEN BEGIN
    SELECT A.DocDate$DATE, A.Description, D.Code || '-' || A.OrdNumber || '/' || P.Code, D.Name,
           D.Code || '-' || IB_LPad(A.OrdNumber, 8, '0') || '/' || P.Code,
           SUM(PM.LOCALAMOUNT)
    FROM PAYMENTS PM
    JOIN POSCashReceived A ON A.ID = PM.DOCUMENT_ID
    JOIN DocQueues D ON D.ID = A.DocQueue_ID
    JOIN Periods P ON P.ID = A.Period_ID
    WHERE (PM.DOCUMENT_ID=:ADocument_ID) AND (PM.DOCUMENTTYPE = :ADocumentType)
    GROUP BY 1,2,3,4,5
    INTO :DocDate$DATE, :Text, :DocumentDisplayName, :mText, :Sort_DocumentDisplayName, :LOCALAMOUNT;
    IF (:DocDate$DATE < :AEndDate) THEN BEGIN
      IF (Text = '') THEN
        Text = mText;
      SUSPEND;
    END
  END
  -- POSCashReceived
  -- POSCashPaid
  IF (ADocumentType = 'CP') THEN BEGIN
    SELECT A.DocDate$DATE, A.Description, D.Code || '-' || A.OrdNumber || '/' || P.Code, D.Name,
           D.Code || '-' || IB_LPad(A.OrdNumber, 8, '0') || '/' || P.Code,
           SUM(PM.LOCALAMOUNT)
    FROM PAYMENTS PM
    JOIN POSCashPaid A ON A.ID = PM.DOCUMENT_ID
    JOIN DocQueues D ON D.ID = A.DocQueue_ID
    JOIN Periods P ON P.ID = A.Period_ID
    WHERE (PM.DOCUMENT_ID=:ADocument_ID) AND (PM.DOCUMENTTYPE = :ADocumentType)
    GROUP BY 1,2,3,4,5
    INTO :DocDate$DATE, :Text, :DocumentDisplayName, :mText, :Sort_DocumentDisplayName, :LOCALAMOUNT;
    IF (:DocDate$DATE < :AEndDate) THEN BEGIN
      IF (Text = '') THEN
        Text = mText;
      SUSPEND;
    END
  END
  -- POSCashPaid
END

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