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

DECLARATIONCROP

 

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

Параметр

Тип

Описание

STORINGID

INTEGER

 

DATE1

DATE

 

DATE2

DATE

 

PARTYID

INTEGER

 

PARTYDATE

DATE

 

 

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

Параметр

Тип

Описание

CROPCLASS

VARCHAR(150)

 

STARTREMINDER

NUMERIC(15,1)

 

ENDREMINDER

NUMERIC(15,1)

 

INCOME

NUMERIC(15,1)

 

OUTCOME

NUMERIC(15,1)

 

 

Описание

Бухгалтерия - Декларация

 

Определение

CREATE PROCEDURE DECLARATIONCROP(
    STORINGID INTEGER,
    DATE1 DATE,
    DATE2 DATE,
    PARTYID INTEGER,
    PARTYDATE DATE)
RETURNS (
    CROPCLASS VARCHAR(150),
    STARTREMINDER NUMERIC(15,1),
    ENDREMINDER NUMERIC(15,1),
    INCOME NUMERIC(15,1),
    OUTCOME NUMERIC(15,1))
AS
declare variable CROPID integer;
declare variable CLASSID integer;
declare variable SORTID integer;
declare variable TOTALSTART numeric(15,3);
declare variable TOTALINCOME numeric(15,3);
declare variable TOTALOUTCOME numeric(15,3);
declare variable TOTALEND numeric(15,3);
begin
  TOTALSTART = 0;
  TOTALINCOME = 0;
  TOTALOUTCOME = 0;
  TOTALend = 0;

  CROPCLASS = '1. Пшеница м`яка, усього';
  CROPID = 1;
  CLASSID = -1;
  SORTID = -3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '  у т.ч. група А 1-го класу';
  CROPID = 1;
  CLASSID = 1;
  SORTID = -3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '                 2-го класу';
  CROPID = 1;
  CLASSID = 2;
  SORTID = -3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;


  CROPCLASS = '                 3-го класу';
  CROPID = 1;
  CLASSID = 3;
  SORTID = -3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '         група Б 4-го класу';
  CROPID = 1;
  CLASSID = 4;
  SORTID = -3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '                 5-го класу';
  CROPID = 1;
  CLASSID = 5;
  SORTID = -3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '                 6-го класу';
  CROPID = 1;
  CLASSID = 6;
  SORTID = -3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '                 некласифікована';
  STARTREMINDER = 0;
  ENDREMINDER = 0;
  INCOME = 0;
  OUTCOME = 0;
  suspend;

  CROPCLASS = '2. Пшеница тверда';
  CROPID = 1;
  CLASSID = -1;
  SORTID = 3;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '3. Жито, усього';
  CROPID = 3;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '  у т.ч. 1-го класу';
  CROPID = 3;
  CLASSID = 10;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '         2-го класу';
  CROPID = 3;
  CLASSID = 11;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '         3-го класу';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '         4-го класу';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '4. Ячмінь, усього';
  CROPID = 2;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '  у т.ч. пивоварний';
  CROPID = 2;
  CLASSID = -1;
  SORTID = 23;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '5. Овес';
  CROPID = 48;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '6. Кукурудза';
  CROPID = 4;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '7. Зернобобові, усього';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '  у т.ч. горох';
  CROPID = 51;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '8. Просо';
  CROPID = 50;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '9. Гречка';
  CROPID = 73;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '10. Рис';
  CROPID = 74;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '11. Тритікале';
  CROPID = 71;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '12. Зерносуміш';
  CROPID = 49;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

  CROPCLASS = '13. Сортове та гібридне насіння, усього';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '  у т.ч. озимих зернових культур';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '       ярих зернових і зернобобових культур';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '       кукурудзи';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  TOTALSTART = :TOTALSTART + :STARTREMINDER;
  TOTALINCOME = :TOTALINCOME + :INCOME;
  TOTALOUTCOME = :TOTALOUTCOME + :OUTCOME;
  TOTALend = :TOTALEND + :ENDREMINDER;

/*  cropclass = ' ярих зернових і зернобобових культур кукурудзи';
  Cropid = -1;
  classid = -1;
  sortid = -1;

  select * from DECLARATIONSTORING(:STORINGID,:DATE1,:DATE2,:PARTYID,:CROPID,:CLASSID, :SORTID, :PARTYDATE) D
  into
  :STARTREMINDER,
  :ENDREMINDER,
  :INCOME,
  :OUTCOME;
  suspend;*/

  CROPCLASS = 'УСЬОГО ЗЕРНА';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;

  STARTREMINDER = TOTALSTART;
  ENDREMINDER = TOTALEND;
  INCOME = TOTALINCOME;
  OUTCOME = TOTALOUTCOME;
  suspend;

  CROPCLASS = 'Насіння олійних культур, усього';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '14. Соняшник';
  CROPID = 37;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '15. Соя';
  CROPID = 82;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '16. Ріпак';
  CROPID = 81;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

  CROPCLASS = '17. Інше';
  CROPID = -1;
  CLASSID = -1;
  SORTID = -1;
  select *
    from DECLARATIONSTORING(:STORINGID, :DATE1, :DATE2, :PARTYID, :CROPID, :CLASSID, :SORTID, :PARTYDATE) D
  into :STARTREMINDER, :ENDREMINDER, :INCOME, :OUTCOME;
  suspend;

end

 

     Previous topic Chapter index Next topic