"localhost:/firebird/data/ILICHEVSK2.FDB". Процедуры Previous topic Chapter index Next topic

ACC_FORMRN1

 

Входные параметры

Параметр

Тип

Описание

DATE2

DATE

 

PARTYID

INTEGER

 

PARTYDATE

DATE

 

FORMTYPE

INTEGER

 

 

Выходные параметры

Параметр

Тип

Описание

INCOMETYPE

VARCHAR(50)

 

TTNS_INCOME

INTEGER

 

REB_INCOME

INTEGER

 

OUTCOME

INTEGER

 

REB_OUTCOME

INTEGER

 

INITIALREM

INTEGER

 

STORING_DAK

INTEGER

 

 

Описание

(Нет описания для процедуры ACC_FORMRN1)

 

Определение

CREATE PROCEDURE ACC_FORMRN1(
    DATE2 DATE,
    PARTYID INTEGER,
    PARTYDATE DATE,
    FORMTYPE INTEGER)
RETURNS (
    INCOMETYPE VARCHAR(50),
    TTNS_INCOME INTEGER,
    REB_INCOME INTEGER,
    OUTCOME INTEGER,
    REB_OUTCOME INTEGER,
    INITIALREM INTEGER,
    STORING_DAK INTEGER)
AS
begin
  incometype = 'Заставна закупка (згідно реєстру заставного зерна)';
  suspend;
  incometype = 'Закуплено за кред. та вл. кошти';
  suspend;
  incometype = 'Закуплено за регіона. ресурси';
  suspend;
  incometype = 'Зберігання на загальних умовах';

  select
    sum(it.net)
  from it
    join GetWorkParties(:PARTYID,:PARTYDATE,null,null,null)
       on (IT.PartyID = GetWorkParties.PartyID)
    left join quality on (it.samplerqualityid = quality.qualityid)
    left join crop on (quality.cropid = crop.cropid)
  where it.regdate <= :date2
    and it.parentid >=0
    and it.state >=0
    and it.operationid = 45
    and ((it.storingid not in (2,7)) or (it.storingid is null))
    and ((crop.croptypeid in (1,6)) and (:formtype = 1))
         or ((crop.croptypeid =5) and (:formtype = 2))
   into
    :initialrem;


  select
    sum(it.net)
  from it
    join GetWorkParties(:PARTYID,:PARTYDATE,null,null,null)
       on (IT.PartyID = GetWorkParties.PartyID)
    left join quality on (it.samplerqualityid = quality.qualityid)
    left join crop on (quality.cropid = crop.cropid)
  where
    ((crop.croptypeid in (1,6)) and (:formtype = 1))
    or
    ((crop.croptypeid =5) and (:formtype = 2))
    and it.regdate <= :date2
    and it.parentid >=0
    and it.state >=0
    and it.operationid = 1
    and ((it.storingid not in (2,7)) or (it.storingid is null))
   into
    :ttns_income;

  select sum(it.net) from it
    join GetWorkParties(:PARTYID,:PARTYDATE,null,null,null)
       on (IT.PartyID = GetWorkParties.PartyID)
    left join quality on (it.samplerqualityid = quality.qualityid)
    left join crop on (quality.cropid = crop.cropid)
  where
    ((crop.croptypeid in (1,6)) and (:formtype = 1))
    or
    ((crop.croptypeid =5) and (:formtype = 2))

    and it.regdate <= :date2
    and it.parentid >=0
    and it.state >=0
    and it.operationid = 17
    and it.net > 0
    and ((it.storingid not in (2,7)) or (it.storingid is null))
   into
    :reb_income;


  select sum(it.net) * -1 from it
    join GetWorkParties(:PARTYID,:PARTYDATE,null,null,null)
       on (IT.PartyID = GetWorkParties.PartyID)
    left join quality on (it.samplerqualityid = quality.qualityid)
    left join crop on (quality.cropid = crop.cropid)
  where
    ((crop.croptypeid in (1,6)) and (:formtype = 1))
    or
    ((crop.croptypeid =5) and (:formtype = 2))

    and it.regdate <= :date2
    and it.parentid >=0
    and it.state >=0
    and it.operationid = 17
    and it.net < 0
    and ((it.storingid not in (2,7)) or (it.storingid is null))
   into
    :reb_outcome;


  select sum(it.net) from it
    join GetWorkParties(:PARTYID,:PARTYDATE,null,null,null)
       on (IT.PartyID = GetWorkParties.PartyID)
    left join quality on (it.samplerqualityid = quality.qualityid)
    left join crop on (quality.cropid = crop.cropid)
  where
    ((crop.croptypeid in (1,6)) and (:formtype = 1))
    or
    ((crop.croptypeid =5) and (:formtype = 2))

    and it.regdate <= :date2
    and it.parentid >=0
    and it.state >=0
    and it.operationid = 5
    and ((it.storingid not in (2,7)) or (it.storingid is null))
   into
    :outcome;

  select sum(it.net) from it
    join GetWorkParties(:PARTYID,:PARTYDATE,null,null,null)
       on (IT.PartyID = GetWorkParties.PartyID)
    left join quality on (it.samplerqualityid = quality.qualityid)
    left join crop on (quality.cropid = crop.cropid)
    left join clients on (it.ownerid = clients.clientid)
  where
    ((crop.croptypeid in (1,6)) and (:formtype = 1))
    or
    ((crop.croptypeid =5) and (:formtype = 2))

    and clients.clienttypeid = 5
    and it.regdate <= :date2
    and it.parentid >=0
    and it.state >=0
    and it.operationid = 5
    and ((it.storingid not in (2,7)) or (it.storingid is null))
   into
    :storing_dak;

    initialrem = :initialrem / 1000;
    ttns_income = :ttns_income / 1000;
    reb_income = :reb_income / 1000;
    reb_outcome = :reb_outcome / 1000;
    outcome = :outcome / 1000;
    storing_dak = :storing_dak / 1000;

  suspend;
    storing_dak = 0;
    initialrem = 0;
    ttns_income = 0;
    reb_income = 0;
    reb_outcome = 0;
    outcome = 0;

   incometype = 'в т.ч. держресурси';
  suspend;
   incometype = '       держрезерв';
  suspend;

   incometype = 'Власне виробництво';

  select sum(it.net) from it
    join GetWorkParties(:PARTYID,:PARTYDATE,null,null,null)
       on (IT.PartyID = GetWorkParties.PartyID)
  left join quality on (it.samplerqualityid = quality.qualityid)
  left join crop on (quality.cropid = crop.cropid)
  where
    ((crop.croptypeid in (1,6)) and (:formtype = 1))
    or
    ((crop.croptypeid =5) and (:formtype = 2))

    and it.regdate <= :date2
    and it.parentid >=0
    and it.state >=0
    and it.operationid = 45
    and it.storingid = 7
   into
    :initialrem;


  select sum(it.net) from it
  join GetWorkParties(:PARTYID,:PARTYDATE,null,null,null)
       on (IT.PartyID = GetWorkParties.PartyID)
  left join quality on (it.samplerqualityid = quality.qualityid)
  left join crop on (quality.cropid = crop.cropid)
  where
    ((crop.croptypeid in (1,6)) and (:formtype = 1))
    or
    ((crop.croptypeid =5) and (:formtype = 2))

    and it.regdate <= :date2
    and it.parentid >=0
    and it.state >=0
    and it.operationid = 1
    and it.storingid = 7
   into
    :ttns_income;

  select sum(it.net) from it
  join GetWorkParties(:PARTYID,:PARTYDATE,null,null,null)
       on (IT.PartyID = GetWorkParties.PartyID)
  left join quality on (it.samplerqualityid = quality.qualityid)
  left join crop on (quality.cropid = crop.cropid)
  where
    ((crop.croptypeid in (1,6)) and (:formtype = 1))
    or
    ((crop.croptypeid =5) and (:formtype = 2))

    and it.regdate <= :date2
    and it.parentid >=0
    and it.state >=0
    and it.operationid = 17
    and it.net > 0
    and it.storingid = 7
   into
    :reb_income;


  select sum(it.net) * -1 from it
  join GetWorkParties(:PARTYID,:PARTYDATE,null,null,null)
       on (IT.PartyID = GetWorkParties.PartyID)
  left join quality on (it.samplerqualityid = quality.qualityid)
  left join crop on (quality.cropid = crop.cropid)
  where
    ((crop.croptypeid in (1,6)) and (:formtype = 1))
    or
    ((crop.croptypeid =5) and (:formtype = 2))

    and it.regdate <= :date2
    and it.parentid >=0
    and it.state >=0
    and it.operationid = 17
    and it.net < 0
    and it.storingid = 7
   into
    :reb_outcome;


  select sum(it.net) from it
    join GetWorkParties(:PARTYID,:PARTYDATE,null,null,null)
       on (IT.PartyID = GetWorkParties.PartyID)
    left join quality on (it.samplerqualityid = quality.qualityid)
  left join crop on (quality.cropid = crop.cropid)
  where
    ((crop.croptypeid in (1,6)) and (:formtype = 1))
    or
    ((crop.croptypeid =5) and (:formtype = 2))

    and it.regdate <= :date2
    and it.parentid >=0
    and it.state >=0
    and it.operationid = 5
    and it.storingid = 7
   into
    :outcome;

    initialrem = :initialrem / 1000;
    ttns_income = :ttns_income / 1000;
    reb_income = :reb_income / 1000;
    reb_outcome = :reb_outcome / 1000;
    outcome = :outcome / 1000;

  suspend;
    initialrem = 0;
    ttns_income = 0;
    reb_income = 0;
    reb_outcome = 0;
    outcome = 0;

    incometype = 'Давальницька пром. переробка';
  suspend;

end

 

     Previous topic Chapter index Next topic