Входные параметры
Параметр  | Тип  | Описание  | 
|---|---|---|
ARECORDID  | 
    INTEGER  | 
    
  | 
  
ATABID  | 
    INTEGER  | 
    
  | 
  
AUSER  | 
    VARCHAR(50)  | 
    
  | 
  
ADATE  | 
    TIMESTAMP  | 
    
  | 
  
Выходные параметры
Параметр  | Тип  | Описание  | 
|---|---|---|
CREATERECDATE  | 
    TIMESTAMP  | 
    
  | 
  
CREATEUSER  | 
    VARCHAR(50)  | 
    
  | 
  
NET  | 
    INTEGER  | 
    
  | 
  
NETDATE  | 
    TIMESTAMP  | 
    
  | 
  
NETUSER  | 
    VARCHAR(50)  | 
    
  | 
  
SQDATE  | 
    TIMESTAMP  | 
    
  | 
  
SQUSER  | 
    VARCHAR(50)  | 
    
  | 
  
DELDATE  | 
    TIMESTAMP  | 
    
  | 
  
DELUSER  | 
    VARCHAR(50)  | 
    
  | 
  
REGDATE  | 
    DATE  | 
    
  | 
  
LQDATE  | 
    TIMESTAMP  | 
    
  | 
  
LQUSER  | 
    VARCHAR(50)  | 
    
  | 
  
HUMIDITY  | 
    NUMERIC(9,2)  | 
    
  | 
  
GRAINUNIT  | 
    INTEGER  | 
    
  | 
  
DIRT  | 
    NUMERIC(9,2)  | 
    
  | 
  
SCREENING  | 
    NUMERIC(9,2)  | 
    
  | 
  
OILSEED  | 
    NUMERIC(9,2)  | 
    
  | 
  
PROTEIN  | 
    NUMERIC(9,2)  | 
    
  | 
  
GLUTEN  | 
    NUMERIC(9,1)  | 
    
  | 
  
GLUTENQUALITY  | 
    INTEGER  | 
    
  | 
  
DROPNUMBER  | 
    INTEGER  | 
    
  | 
  
ACIDITY  | 
    NUMERIC(9,2)  | 
    
  | 
  
GLASSNESS  | 
    INTEGER  | 
    
  | 
  
Описание
(Нет описания для процедуры ACN_COMESELECT_S)
Определение
CREATE PROCEDURE ACN_COMESELECT_S(
    ARECORDID INTEGER,
    ATABID INTEGER,
    AUSER VARCHAR(50),
    ADATE TIMESTAMP)
RETURNS (
    CREATERECDATE TIMESTAMP,
    CREATEUSER VARCHAR(50),
    NET INTEGER,
    NETDATE TIMESTAMP,
    NETUSER VARCHAR(50),
    SQDATE TIMESTAMP,
    SQUSER VARCHAR(50),
    DELDATE TIMESTAMP,
    DELUSER VARCHAR(50),
    REGDATE DATE,
    LQDATE TIMESTAMP,
    LQUSER VARCHAR(50),
    HUMIDITY NUMERIC(9,2),
    GRAINUNIT INTEGER,
    DIRT NUMERIC(9,2),
    SCREENING NUMERIC(9,2),
    OILSEED NUMERIC(9,2),
    PROTEIN NUMERIC(9,2),
    GLUTEN NUMERIC(9,1),
    GLUTENQUALITY INTEGER,
    DROPNUMBER INTEGER,
    ACIDITY NUMERIC(9,2),
    GLASSNESS INTEGER)
AS
declare variable TMPFID integer;
declare variable TMPFVAL integer;
begin
  -- зарегистрировано
  select ILT2.CREATETIME, US2.USERSHORTNAME
    from ILT$TABLEOPERATION ILT2
      left join USERS_SHORTNAME(ILT2.USERID) US2 on (0=0)
    where (ILT2.RECORDID = :ARECORDID) and (ILT2.OPERATIONID = 1)
  into :CREATERECDATE, :CREATEUSER;
  select ILD.FIELDVALUE
    from ILT$FIELDDATE ILD
    where (ILD.TABLEOPERATIONID = :ATABID) and (ILD.FIELDID = 3)
  into :REGDATE;
  if (:REGDATE is null) then
    select first 1 ILD.FIELDVALUE
      from ILT$TABLEOPERATION ILT
        left join ILT$FIELDDATE ILD on ((ILT.TABLEOPERATIONID = ILD.TABLEOPERATIONID) and (ILD.FIELDID = 3))
      where (ILT.RECORDID = :ARECORDID) and (ILT.TABLEID = 149) and (ILD.FIELDID = 3)
    order by ILT.CREATETIME desc
    into :REGDATE;
  for
    select ILI.FIELDID, ILI.FIELDVALUE
      from ILT$FIELDINTEGER ILI
      where (ILI.TABLEOPERATIONID = :ATABID)
        and ((ILI.FIELDID in (13,29,30))
             or ((ILI.FIELDID = 44) and (ILI.FIELDVALUE = -1)))
    into :TMPFID, :TMPFVAL
    do begin --Net
      if (:TMPFID = 13) then begin
        NET = :TMPFVAL;
        NETDATE = :ADATE;
        NETUSER = :AUSER;
      end
      if (:TMPFID = 29) then begin -- SQ
        SQDATE = :ADATE;
        SQUSER = :AUSER;
      end
      if ((:TMPFID = 44) and (:TMPFVAL = -1)) then begin -- Del
        DELDATE = :ADATE;
        DELUSER = :AUSER;
      end
      if (:TMPFID = 30) then begin -- LQ
        LQDATE = :ADATE;
        LQUSER = :AUSER;   -- + качество
        select QUALITY_SELECT.HUMIDITY, QUALITY_SELECT.GRAINUNIT, QUALITY_SELECT.DIRT,
            QUALITY_SELECT.SCREENING, QUALITY_SELECT.OILSEED, QUALITY_SELECT.PROTEIN,
            QUALITY_SELECT.GLUTEN, QUALITY_SELECT.GLUTENQUALITY, QUALITY_SELECT.DROPNUMBER,
            QUALITY_SELECT.ACIDITY, QUALITY_SELECT.GLASSNESS
          from QUALITY_SELECT(:TMPFVAL)
        into :HUMIDITY, :GRAINUNIT, :DIRT, :SCREENING, :OILSEED, :PROTEIN,
             :GLUTEN, :GLUTENQUALITY, :DROPNUMBER,:ACIDITY, :GLASSNESS;
      end
    end
    --
    suspend;
end
         
         
         
       |