Procedura-RepAccStatements

Parametry:

NázevPopisDatový typ
InAuditedChar(1)
InAccDateFromFloat(0, 0)
InAccDateToFloat(0, 0)
InDivisionSelIDChar(10)
InBusOrderSelIDChar(10)
InBusOrdersWithChildsChar(1)
InBusTransactionSelIDChar(10)
InBusTransactionsWithChildsChar(1)
InBusProjectSelIDChar(10)
InBusProjectsWithChildsChar(1)
InFirmSelIDChar(10)
InIncludeRequestsChar(1)
InDivisionsWithChildsChar(1)

Návratové hodnoty:

NázevPopisDatový typ
AccountCodeVarChar(10)
TaxableChar(1)
ShortChar(1)
AccountTypeChar(1)
DivisionCodeVarChar(5)
DebitBeginningNumeric(15, 2)
CreditBeginningNumeric(15, 2)
DebitTurnoverNumeric(15, 2)
CreditTurnoverNumeric(15, 2)
Account_IDChar(10)
IsIncompleteChar(1)
Division_IDChar(10)
TypeOfActivityInteger
Firm_IDChar(10)

Závislosti:

NázevPopisTřída
GetFirstPeriodByDatesVrátí první možné období dle zadaných datumů. Zohledňuje první možné období kvůli pokladnám (které začínají od určitého období)Procedures
RepAccStatements1Procedures

Tělo:

BEGIN
  Period_ID = NULL;
  SELECT P.ID, P.DateFrom$Date
    FROM Periods P
    WHERE P.ID = (SELECT RPeriod_ID FROM GetFirstperiodByDates(:InAccDateFrom, :InAccDateTo, ''))
    INTO :Period_ID, mDateFrom;
  IF (Period_ID IS NOT NULL) THEN BEGIN
    FOR
      SELECT
        A.Account_ID,
        MAX(AC.Code) AS AccountCode,
        A.Division_ID,
        MAX(D.Code) AS DivisionCode,
        SUM(A.DebitBeginning),
        SUM(A.CreditBeginning),
        SUM(A.DebitTurnover),
        SUM(A.CreditTurnover),
        MAX(AC.Taxable),
        MAX(AC.Short),
        MAX(AC.AccountType),
        MAX(AC.IsIncomplete),
        MAX(AC.TypeOfActivity),
        A.Firm_ID
      FROM
        RepAccStatements1(:InAudited, :Period_ID, :mDateFrom, :InAccDateFrom, :InAccDateTo,
          :InDivisionSelID, :InBusOrderSelID, :InBusOrdersWithChilds, 
          :InBusTransactionSelID, :InBusTransactionsWithChilds,
          :InBusProjectSelID, :InBusProjectsWithChilds,
          :InFirmSelID, :InIncludeRequests, :InDivisionsWithChilds) A
        LEFT join Divisions D ON A.Division_ID = D.ID
        LEFT join Accounts AC ON A.Account_ID = AC.ID
      GROUP BY
        A.Account_ID, A.Division_ID, A.Firm_ID 
      INTO
        :Account_ID, :AccountCode, :Division_ID, :DivisionCode, :DebitBeginning,
        :CreditBeginning, :DebitTurnover, :CreditTurnover, :Taxable,:Short, :AccountType,
        :IsIncomplete, :TypeOfActivity, :Firm_ID
    DO
      IF (Account_ID is not null ) THEN
        SUSPEND;
  END
END;

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