Procedura-GetDocsForBankBookReportSum

Parametry:

NázevPopisDatový typ
IN_FIRST_PERIOD_IDChar(10)
IN_DATE_FROM$DATEFloat(0, 0)
IN_BANKACCOUNT_IDChar(10)
IN_FIRM_SEL_IDChar(10)
IN_DOCQUEUE_SEL_IDChar(10)
IN_DIVISION_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_BANKACCOUNT_IDChar(10)

Závislosti:

NázevPopisTřída
GetDocsForBankBookReportProcedures
GetDocsForBankBookReportRowProcedures

Tělo:

BEGIN
/* procedura typu SELECT */
/* vymezeni casoveho intervalu */
  SELECT datefrom$date FROM periods WHERE id = :IN_FIRST_PERIOD_ID INTO OUT_DATE_FROM$DATE;
  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;
/* souctovy dotaz */
  OUT_AMOUNT = 0;
  OUT_LOCALAMOUNT = 0;
  FOR
    SELECT out_document_id, out_documenttype
    FROM GetDocsForBankBookReport(:IN_FIRST_PERIOD_ID, :OUT_DATE_FROM$DATE,
      :OUT_DATE_TO$DATE, :IN_BANKACCOUNT_ID, :IN_FIRM_SEL_ID, :IN_DOCQUEUE_SEL_ID,
      :IN_DIVISION_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
      DOCUMENT_ID, DOCUMENT_TYPE
  DO BEGIN
    SELECT SUM(out_amount), SUM(out_localamount)
    FROM GetDocsForBankBookReportRow(:IN_FIRST_PERIOD_ID, :OUT_DATE_FROM$DATE,
      :OUT_DATE_TO$DATE, :DOCUMENT_ID, :DOCUMENT_TYPE, :IN_FIRM_SEL_ID,
      :IN_DOCQUEUE_SEL_ID, :IN_DIVISION_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 AMOUNT, LOCAL_AMOUNT;
    IF (AMOUNT IS NOT NULL) THEN
      OUT_AMOUNT = OUT_AMOUNT + AMOUNT;
    IF (LOCAL_AMOUNT IS NOT NULL) THEN
      OUT_LOCALAMOUNT = OUT_LOCALAMOUNT + LOCAL_AMOUNT;
  END
  OUT_PERIOD_ID = IN_FIRST_PERIOD_ID;
  OUT_BANKACCOUNT_ID = IN_BANKACCOUNT_ID;
  SUSPEND;
END;

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