Procedura-ESLReport22

Parametry:

NázevPopisDatový typ
AFirmSelIDChar(10)
ADivisionsSelIDChar(10)
ABusOrdersSelIDChar(10)
ABusTransactionsSelIDChar(10)
ABusProjectsSelIDChar(10)
AESLDateFromFloat(0, 0)
AESLDateToFloat(0, 0)
ADivisionsWithChildsChar(1)
ABusOrdersWithChildsChar(1)
ABusTransactionsWithChildsChar(1)
ABusProjectsWithChildsChar(1)
AVATCountry_IDChar(10)
ACreatedBySelIDChar(10)
ACorrectedBySelIDChar(10)
ACurrencySelIDChar(10)
ACountrySelIDChar(10)

Návratové hodnoty:

NázevPopisDatový typ
DocumentTypeVarChar(2)
VIESKindVarChar(1)
VATIdentNumberVarChar(20)
VIESKind2VarChar(1)
VATIdentNumber2VarChar(20)

Tělo:

begin
  /* Převodky výdej CallOfStock */
  for
  select
    '22' as DocumentType,
    CAST(P.VIESKind as varchar(1)) as VIESKind,
    F.VATIdentNumber as VATIdentNumber,
    CAST(COALESCE(P2.VIESKind, P2.VIESKind, 0) as varchar(1)) as VIESKind2,
    COALESCE(F2.VATIdentNumber, F2.VATIdentNumber, '') as VATIdentNumber2
  from StoreDocuments2 A
  inner join StoreDocuments P on P.ID = A.Parent_ID
  inner join Firms F on F.ID = P.Firm_ID
  left join StoreDocuments P2 on P2.ID = P.OutgoingTransfer_ID
  left join  Firms F2 on F2.ID = P2.Firm_ID
  where
  (P.DocumentType = '22')
  and (P.VIESKind > 0)
  /* datum plneni */
  and (P.DocDate$DATE >= :AESLDateFrom) and (P.DocDate$DATE < :AESLDateTo)
  /* stredisko */
  and ((:ADivisionsSelID = '')
  or ((A.Division_ID in (select Bx.ID from Divisions Bx where Bx.Hidden = 'N'
  and (Bx.ID in (select OBJ_ID from SELDAT where SEL_ID = :ADivisionsSelID))
  or ((:ADivisionsWithChilds in ('1', 'A'))
  and (Bx.ID in (select ID from SYS$Divisions2 where Superior_ID in
  (select OBJ_ID from SELDAT where SEL_ID = :ADivisionsSelID))))))))
  /* zakazka */
  and ((:ABusOrdersSelID = '')
  or (A.BusOrder_ID in (select Bx.ID from BusOrders Bx where Bx.Hidden = 'N'
  and ((Bx.ID in (select OBJ_ID from SELDAT where SEL_ID = :ABusOrdersSelID))
  or ((:ABusOrdersWithChilds in ('1', 'A'))
  and (Bx.ID in (select ID from SYS$BusOrders2 where Superior_ID in
  (select OBJ_ID from SELDAT where SEL_ID = :ABusOrdersSelID))))))))
  /* obch. pripad */
  and ((:ABusTransactionsSelID = '')
  or (A.BusTransaction_ID in (select Bx.ID from BusTransactions Bx where Bx.Hidden = 'N'
  and ((Bx.ID in (select OBJ_ID from SELDAT where SEL_ID = :ABusTransactionsSelID))
  or ((:ABusTransactionsWithChilds in ('1', 'A'))
  and (Bx.ID in (select ID from SYS$BusTransactions2 where Superior_ID in
  (select OBJ_ID from SELDAT where SEL_ID = :ABusTransactionsSelID))))))))
  /* projekt */
  and ((:ABusProjectsSelID = '')
  or (A.BusProject_ID in (select Bx.ID from BusProjects Bx where Bx.Hidden = 'N'
  and ((Bx.ID in (select OBJ_ID from SELDAT where SEL_ID = :ABusProjectsSelID))
  or ((:ABusProjectsWithChilds in ('1', 'A'))
  and (Bx.ID in (select ID from SYS$BusProjects2 where Superior_ID in
  (select OBJ_ID from SELDAT where SEL_ID = :ABusProjectsSelID))))))))
  /* firma */
  and ((:AFirmSelID = '')
  or (P.Firm_ID in (select OBJ_ID from SelDat where SEL_ID = :AFirmSelID))
  or (P.Firm_ID in (select ID from Firms where Firm_ID in
  (select OBJ_ID from SelDat where SEL_ID = :AFirmSelID))))
  /* zeme DPH */
  -- and (P.VATCountry_ID = :AVATCountry_ID)
  /* vytvoril */
  and ((:ACreatedBySelID = '')
  or (P.CreatedBy_ID in (select Obj_ID from SelDat where Sel_ID = :ACreatedBySelID)))
  /* opravil */
  and ((:ACorrectedBySelID = '')
  or (P.CorrectedBy_ID in (select Obj_ID from SelDat where Sel_ID = :ACorrectedBySelID)))
  /* mena */
  and ((:ACurrencySelID = '')
  or (P.Currency_ID in (select Obj_ID from SelDat where Sel_ID = :ACurrencySelID)))
  /* zeme */
  and ((:ACountrySelID = '')
  or (P.Country_ID in (select Obj_ID from SelDat where Sel_ID = :ACountrySelID)))
  group by P.VIESKind, F.VATIdentNumber, P2.VIESKind, F2.VATIdentNumber
  order by P.VIESKind, F.VATIdentNumber, P2.VIESKind, F2.VATIdentNumber
  into
    :DocumentType, :VIESKind, :VATIdentNumber, :VIESKind2, :VATIdentNumber2
  do begin
    suspend;
  end
end

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