Procedura-MainBookBeginnings

Parametry:

NázevPopisDatový typ
InAccount_IDChar(10)
InAccDateFromFloat(0, 0)
InAccDateToFloat(0, 0)
InDivisionSelIDVarChar(10)
InDivisionsWithChildsChar(1)
InAllowRequestsChar(1)
InAuditedChar(1)
InBusOrderSelIDVarChar(10)
InBusOrdersWithChildsChar(1)
InBusTransactionSelIDVarChar(10)
InBusTransactionsWithChildsChar(1)
InBusProjectSelIDVarChar(10)
InBusProjectsWithChildsChar(1)

Návratové hodnoty:

NázevPopisDatový typ
Account_IDChar(10)
DebitAmountNumeric(15, 2)
CreditAmountNumeric(15, 2)
Period_IDChar(10)
DateFrom$DATEFloat(0, 0)
DateTo$DATEFloat(0, 0)

Závislosti:

NázevPopisTřída
AccountCalculusProcedura na dotáhnutí stavu účtů vzhledem k zadaným datumům. Ze zadaných datumů odvodí nejbližší období a vrací sumu k počátku tohoto období, sumu od počátku období do datumu OD a sumu za období mezi datumy OD a DO Procedures

Tělo:

begin
  Account_ID = InAccount_ID;
  DebitAmount = null;
  CreditAmount = null;
  Period_ID = null;
  DateFrom$DATE = 0;
  DateTo$Date = INAccDateTo;
  --kvuli puvodnimu chovani - bohuzel pocita, ze parametr InAccount_ID je natvrdo at je co je
  if (InAccount_ID is not Null and InAccount_ID <> '') then begin
    select
      debitbeginnigturnover,
      creditbeginnigturnover,
      Period_ID,
      PeriodFromDate
    from
      AccountCalculus(
        '%',
        :InAccount_ID,
        '',
        '',
        :InAccDateFrom,
        :InAccDateTo,
        :InDivisionSelID,
        :InDivisionsWithChilds,
        :InBusOrderSelID,
        :InBusOrdersWithChilds,
        :InBusTransactionSelID,
        :InBusTransactionsWithChilds,
        :InBusProjectSelID,
        :InBusProjectsWithChilds,
        :InAudited,
        :InAllowRequests,
        'N',
        2)
     into
       :debitamount,
       :creditamount,
       :period_id,
       :datefrom$date;
   end  
   --kvuli stejnemu vystupu jako puvodni procedura
   if (Period_ID is null) then
     select
       P.ID, P.DateFrom$Date
     from
       Periods P
     where
       P.ID = (select RPeriod_ID from GetFirstperiodByDates(:INAccDateFrom, :INAccDateTo, ''))
     into
       :Period_ID, :DateFrom$DATE;
   suspend;
end

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