Procedura-GeneralLedgerGrps2C1

Popis:
Poskytuje data proceduře GeneralLedgerGrps2C

Parametry:

NázevPopisDatový typ
AccDateFromFloat(0, 0)
AccDateToFloat(0, 0)
AccountCodeVarChar(10)
AccountSelIDChar(10)
WholeGroupChar(1)
AccGroup_IDChar(10)

Návratové hodnoty:

NázevPopisDatový typ
IDChar(10)

Tělo:

BEGIN
  /* FB */
  /* celá skupina bez ohledu */
  IF (WholeGroup = '1') THEN
  BEGIN
    FOR
      SELECT 
        D.ID
      FROM
        GeneralLedger D
      WHERE
        D.IsRequest = 'N' AND
        (
        (D.AccGroupDebit_ID = :AccGroup_ID)
        or
        (D.AccGroupCredit_ID = :AccGroup_ID)
        )
      INTO :ID
    DO
      SUSPEND;
  END
  ELSE
  /* celá skupina s ohledem pouze na datum účtování a období */
  IF (WholeGroup = '2') THEN
  BEGIN
    FOR
      SELECT D.ID
      FROM
        GeneralLedger D
      WHERE
        D.IsRequest = 'N' AND
        (D.AccDate$DATE+0 >= :AccDateFrom AND D.AccDate$DATE+0 < :AccDateTo) AND
        (
        (D.AccGroupDebit_ID = :AccGroup_ID)
        or
        (D.AccGroupCredit_ID = :AccGroup_ID)
        )
      INTO :ID
    DO
      SUSPEND;
  END
  ELSE
  /* celá skupina s ohledem na všechny podmínky */
  IF (WholeGroup = '3') THEN
  BEGIN
    FOR
      SELECT D.ID
      FROM
        GeneralLedger D
        JOIN Accounts DA ON DA.ID = D.DebitAccount_ID
        JOIN Accounts CA ON CA.ID = D.CreditAccount_ID
      WHERE
        D.IsRequest = 'N' AND
        (D.AccDate$DATE+0 >= :AccDateFrom AND D.AccDate$DATE+0 < :AccDateTo) AND
        (
        (((D.AccGroupDebit_ID = :AccGroup_ID) AND (DA.Code LIKE :AccountCode ESCAPE '~')) AND
          (:AccountSelID = '' OR D.DebitAccount_ID in (select OBJ_ID from SELDAT where SEL_ID=:AccountSelID))) OR
        (((D.AccGroupCredit_ID = :AccGroup_ID) AND (CA.Code LIKE :AccountCode ESCAPE '~')) AND
          (:AccountSelID = '' OR D.CreditAccount_ID in (select OBJ_ID from SELDAT where SEL_ID=:AccountSelID)))
        )
      INTO :ID
    DO
      SUSPEND;
  END
END

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