Procedura-GetDocsForCashBookReport2

Popis:
Sesumuje výstup procedury GetDocsForCashBookReport

Parametry:

NázevPopisDatový typ
IN_FIRST_PERIOD_IDChar(10)
IN_DATE_FROM$DATEFloat(0, 0)
IN_CASHDESK_IDChar(10)
IN_DIVISION_SEL_IDChar(10)
IN_DOCQUEUE_SEL_IDChar(10)
IN_FIRM_SEL_IDChar(10)
IN_BUSORDER_SEL_IDChar(10)
In_BusTransaction_SEL_IDChar(10)
IN_BUSProject_SEL_IDChar(10)
IN_CREATEDBY_SEL_IDChar(10)
IN_CORRECTEDBY_SEL_IDChar(10)
IN_ACCOUNTINGChar(1)
ADivisionsWithChildsChar(1)
ABusOrdersWithChildsChar(1)
ABusTransactionsWithChildsChar(1)
ABusProjectsWithChildsChar(1)

Návratové hodnoty:

NázevPopisDatový typ
OUT_AMOUNTNumeric(15, 2)
OUT_LOCALAMOUNTNumeric(15, 2)
OUT_DATE_FROM$DATEFloat(0, 0)
OUT_DATE_TO$DATEFloat(0, 0)
OUT_PERIOD_IDChar(10)
OUT_CASHDESK_IDChar(10)
OUT_DQCodeVarChar(10)
OUT_OrdNumberInteger
OUT_PCodeVarChar(4)

Závislosti:

NázevPopisTřída
GetDocsForCashBookReportVrací doklady pro pokladní knihuProcedures
init_floatVrací číslo na vstupu, v případě null vrací defaultní hodnotu ze vstupu, pokud je i ta null, tak nulu. Používá se interně v některých procedurách.Procedures

Tělo:

BEGIN
/* Procedura typu SELECT
  Výsledkem dotazu je součet za doklady, které odpovídají předaným podmínkám. */
/* získám levou stranu intervalu pro součet */
  SELECT datefrom$date FROM periods WHERE id = :IN_FIRST_PERIOD_ID INTO OUT_DATE_FROM$DATE;
/* získám pravou část intervalu pro součet */
  OUT_DATE_TO$DATE = IN_DATE_FROM$DATE;
  IF (IN_DATE_FROM$DATE < OUT_DATE_FROM$DATE) THEN
    OUT_DATE_TO$DATE = OUT_DATE_FROM$DATE;
/* Součtový dotaz */
  SELECT
    SUM(out_amount), SUM(out_localamount), MAX(OUT_DQCode), MAX(OUT_OrdNumber), MAX(OUT_PCode)
  FROM
    getdocsforcashbookreport(:IN_FIRST_PERIOD_ID, :OUT_DATE_FROM$DATE, :OUT_DATE_TO$DATE,
      :IN_CASHDESK_ID, :IN_DIVISION_SEL_ID, :IN_DOCQUEUE_SEL_ID, :IN_FIRM_SEL_ID,
      :IN_BUSORDER_SEL_ID, :In_BusTransaction_SEL_ID, :IN_BUSProject_SEL_ID, :IN_CREATEDBY_SEL_ID, :IN_CORRECTEDBY_SEL_ID, :IN_ACCOUNTING,
      :ADivisionsWithChilds, :ABusOrdersWithChilds, :ABusTransactionsWithChilds, :ABusProjectsWithChilds)
  INTO
    OUT_AMOUNT, OUT_LOCALAMOUNT, OUT_DQCode, OUT_OrdNumber, OUT_PCode;
  EXECUTE PROCEDURE init_float OUT_AMOUNT, 0 RETURNING_VALUES :OUT_AMOUNT;
  EXECUTE PROCEDURE init_float OUT_LOCALAMOUNT, 0 RETURNING_VALUES :OUT_LOCALAMOUNT;
  OUT_PERIOD_ID = IN_FIRST_PERIOD_ID;
  OUT_CASHDESK_ID = IN_CASHDESK_ID;
  SUSPEND;
END;

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