Procedura-CashBookDetailedRawAcc

Popis:
Procedura vrátí identifikace záznamů v deníku. K takovémuto zaúčtování existuje alespoň jeden pokladní doklad, který s ohledem na předané podmínky produkuje na výstup alespoň jeden DPH řádek.

Parametry:

NázevPopisDatový typ
ADateFromFloat(0, 0)
ADateToFloat(0, 0)
AAccountedChar(1)

Návratové hodnoty:

NázevPopisDatový typ
AccDocQueue_IDChar(10)
Period_IDChar(10)
OrdNumberInteger
AccDate$DateFloat(0, 0)
DisplayNameVarChar(24)
OrderByKindInteger

Závislosti:

NázevPopisTřída
FmtDisplayNameAccVrátí display name dokladu.Procedures
ib_EncodeDatePředchozí název - EncodeDate, z roku, měsíce a dne poskládá datumProcedures
ib_DecodeDate_YearPředchozí název - DecodeYear, vrátí rok z datumuProcedures
ib_DecodeDate_MonthPředchozí název - DecodeMonth, vrátí měsíc z datumuProcedures
ib_DecodeDate_DayPředchozí název - DecodeDay, vrátí den z datumuProcedures

Tělo:

BEGIN
  /* Získání zaúčtovaných */
  IF ( (:AAccounted = '.') OR (:AAccounted = '<') ) THEN BEGIN
    FOR
      SELECT
        GL.AccDocQueue_ID, GL.Period_ID, GL.OrdNumber, ib_encodedate(ib_decodedate_year(GL.AccDate$Date), ib_decodedate_month(GL.AccDate$Date), ib_decodedate_day(GL.AccDate$Date))
      FROM
        Relations R
        join GeneralLedger GL ON GL.ID = R.RightSide_ID
      WHERE
        ( (:ADateFrom <= ib_encodedate(ib_decodedate_year(GL.AccDate$Date), ib_decodedate_month(GL.AccDate$Date), ib_decodedate_day(GL.AccDate$Date))) AND (ib_encodedate(ib_decodedate_year(GL.AccDate$Date), ib_decodedate_month(GL.AccDate$Date), ib_decodedate_day(GL.AccDate$Date)) < :ADateTo) ) AND  
        (R.Rel_Def IN (7, 8, 9, 10, 18))
      GROUP BY
        GL.AccDocQueue_ID, GL.Period_ID, GL.OrdNumber, ib_encodedate(ib_decodedate_year(GL.AccDate$Date), ib_decodedate_month(GL.AccDate$Date), ib_decodedate_day(GL.AccDate$Date))
    INTO
      :AccDocQueue_ID, :Period_ID, :OrdNumber, :AccDate$Date
    DO BEGIN
      OrderByKind = 1;
      SELECT out_displayname
        FROM FmtDisplayNameAcc(:AccDocQueue_ID, :OrdNumber, :Period_ID)
        INTO :DisplayName;
      SUSPEND;
    END
  END
  /* Nezaúčtované */
  IF ( (:AAccounted = '.') OR (:AAccounted = '=') ) THEN BEGIN
    AccDocQueue_ID = '##########';
    Period_ID = '##########';
    OrdNumber = 0;
    AccDate$Date = 0;
    DisplayName = 'Nezaúčtováno';
    OrderByKind = 0;
    SUSPEND;
  END
END;

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