Procedura-SupplierTurnovers2

Parametry:

NázevPopisDatový typ
RecInvoiceTypeInteger
CashPaidTypeInteger
RecDInvChar(1)
AVATRecDInvInteger
DocDateUsedChar(1)
DocDateFromFloat(0, 0)
DocDateToFloat(0, 0)
DivisionSelIDChar(10)
DueDateUsedChar(1)
DueDateFromFloat(0, 0)
DueDateToFloat(0, 0)
AccDateUsedChar(1)
AccDateFromFloat(0, 0)
AccDateToFloat(0, 0)
FirmSelIDChar(10)
BusOrderSelIDChar(10)
ABusOrdersWithChildsChar(1)
BusTransactionSelIDChar(10)
ABusTransactionsWithChildsChar(1)
BusProjectSelIDChar(10)
ABusProjectsWithChildsChar(1)
PaidStatusVarChar(2)
ADivisionsWithChildsChar(1)

Návratové hodnoty:

NázevPopisDatový typ
SumRIAmountNumeric(15, 2)
SumRIAmountWithoutVATNumeric(15, 2)
SumCPAmountNumeric(15, 2)
SumCPAmountWithoutVATNumeric(15, 2)
IDChar(10)
TotalAmountNumeric(15, 2)
TotalAmountWithoutVATNumeric(15, 2)

Závislosti:

NázevPopisTřída
SupplierTurnover2Vrací obraty dodavatelůProcedures
SupplierTurnoverFromRows2Procedures

Tělo:

BEGIN
  if ((:DivisionSelID = '') and (:BusOrderSelID = '') and (:BusTransactionSelID = '') and (:BusProjectSelID = '')) then begin
    for  
    /* Firmy */
    select A.ID from Firms A
     where
       A.Hidden = 'N' and
       (
         (A.ID in (select OBJ_ID from SELDAT where SEL_ID = :FirmSelID)) or
         (:FirmSelID = '' and A.Firm_ID is null)
       )
     into :mFirm_ID   
    do begin
       
      select SumRIAmount, SumRIAmountWithoutVAT, SumCPAmount, SumCPAmountWithoutVAT,
        ID, TotalAmount, TotalAmountWithoutVAT
      from
        SupplierTurnover2(:RecInvoiceType, :CashPaidType, :RecDInv, :AVATRecDInv,
          :DocDateUsed, :DocDateFrom, :DocDateTo, 
          :DueDateUsed, :DueDateFrom, :DueDateTo, 
          :AccDateUsed, :AccDateFrom, :AccDateTo,
          :mFirm_ID, :PaidStatus)
      into
        :SumRIAmount, :SumRIAmountWithoutVAT, :SumCPAmount, :SumCPAmountWithoutVAT,
        :ID, :TotalAmount, :TotalAmountWithoutVAT;
      /* Navyseni za obraty predchudcu */
      for
        select B.ID from Firms B
         where
           B.Firm_ID = :mFirm_ID
         into
           :mAncestor_ID
        do begin
          select SumRIAmount, SumRIAmountWithoutVAT, SumCPAmount, SumCPAmountWithoutVAT,
            TotalAmount, TotalAmountWithoutVAT
          from   
            SupplierTurnover2(:RecInvoiceType, :CashPaidType, :RecDInv, :AVATRecDInv,
              :DocDateUsed, :DocDateFrom, :DocDateTo, 
              :DueDateUsed, :DueDateFrom, :DueDateTo, 
              :AccDateUsed, :AccDateFrom, :AccDateTo,
              :mAncestor_ID, :PaidStatus)
          into
            :mSumRIAmount, :mSumRIAmountWithoutVAT, :mSumCPAmount, :mSumCPAmountWithoutVAT,
            :mTotalAmount, :mTotalAmountWithoutVAT;
          SumRIAmount = SumRIAmount + mSumRIAmount; 
          SumRIAmountWithoutVAT = SumRIAmountWithoutVAT + mSumRIAmountWithoutVAT;  
          SumCPAmount = SumCPAmount + mSumCPAmount; 
          SumCPAmountWithoutVAT = SumCPAmountWithoutVAT + mSumCPAmountWithoutVAT;
          TotalAmount = TotalAmount + mTotalAmount;
          TotalAmountWithoutVAT = TotalAmountWithoutVAT + mTotalAmountWithoutVAT;                        
        end
      suspend;         
    end
  end else begin
    for  
    /* Firmy */
    select A.ID from Firms A
     where
       A.Hidden = 'N' and
       (
         (A.ID in (select OBJ_ID from SELDAT where SEL_ID = :FirmSelID)) or
         (:FirmSelID = '' and A.Firm_ID is null)
       )
     into :mFirm_ID   
    do begin  
      select SumRIAmount, SumRIAmountWithoutVAT, SumCPAmount, SumCPAmountWithoutVAT,
        ID, TotalAmount, TotalAmountWithoutVAT
      from
        SupplierTurnoverFromRows2(:RecInvoiceType, :CashPaidType, :RecDInv, :AVATRecDInv,
          :DocDateUsed, :DocDateFrom, :DocDateTo, :DivisionSelID, 
          :DueDateUsed, :DueDateFrom, :DueDateTo, 
          :AccDateUsed, :AccDateFrom, :AccDateTo, :mFirm_ID, 
          :BusOrderSelID, :ABusOrdersWithChilds,
          :BusTransactionSelID, :ABusTransactionsWithChilds, :BusProjectSelID, :ABusProjectsWithChilds, 
          :PaidStatus, :ADivisionsWithChilds)
      into
        :SumRIAmount, :SumRIAmountWithoutVAT, :SumCPAmount, :SumCPAmountWithoutVAT,
        :ID, :TotalAmount, :TotalAmountWithoutVAT;
      /* Navyseni za obraty predchudcu */
      for
        select B.ID from Firms B
         where
           B.Firm_ID = :mFirm_ID
         into
           :mAncestor_ID
        do begin
          select SumRIAmount, SumRIAmountWithoutVAT, SumCPAmount, SumCPAmountWithoutVAT,
            TotalAmount, TotalAmountWithoutVAT
          from   
            SupplierTurnoverFromRows2(:RecInvoiceType, :CashPaidType, :RecDInv, :AVATRecDInv,
              :DocDateUsed, :DocDateFrom, :DocDateTo, :DivisionSelID, 
              :DueDateUsed, :DueDateFrom, :DueDateTo, 
              :AccDateUsed, :AccDateFrom, :AccDateTo, :mAncestor_ID, 
              :BusOrderSelID, :ABusOrdersWithChilds,
              :BusTransactionSelID, :ABusTransactionsWithChilds, :BusProjectSelID, :ABusProjectsWithChilds,
              :PaidStatus, :ADivisionsWithChilds)
          into
            :mSumRIAmount, :mSumRIAmountWithoutVAT, :mSumCPAmount, :mSumCPAmountWithoutVAT,
            :mTotalAmount, :mTotalAmountWithoutVAT;
          SumRIAmount = SumRIAmount + mSumRIAmount; 
          SumRIAmountWithoutVAT = SumRIAmountWithoutVAT + mSumRIAmountWithoutVAT;  
          SumCPAmount = SumCPAmount + mSumCPAmount; 
          SumCPAmountWithoutVAT = SumCPAmountWithoutVAT + mSumCPAmountWithoutVAT;
          TotalAmount = TotalAmount + mTotalAmount;
          TotalAmountWithoutVAT = TotalAmountWithoutVAT + mTotalAmountWithoutVAT;                        
        end
      suspend;         
    end 
  end  
end;

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