Исследование документооборота предприятия по учету готовой продукции

Автор: Пользователь скрыл имя, 12 Февраля 2013 в 13:57, дипломная работа

Краткое описание

Ключевым бизнес-процессом в работе любого сельскохозяйственного предпри-ятия, такого, как рассматриваемого в данной дипломной работе ООО «БелАгроКрив-цово», является процесс управления готовой продукцией. Поэтому автоматизация этого процесса является актуальной и жизненно необходимой для развития предпри-ятия и откроет новые горизонты в его производственной и управленческой деятель-ности.

Оглавление

Введение 5
1 Исследование документооборота предприятия по учету готовой продукции 6
1.1 Направления деятельности ООО "БелАгроКривцово" 6
1.2 Учет готовой продукции на предприятии 8
1.2.1 Обзор номенклатуры выпускаемой продукции 9
1.2.2 Оценка готовой продукции 9
1.2.3 Синтетический учет готовой продукции 10
1.2.4 Документация по движению готовой продукции 12
1.2.5 Учет отгрузки готовой продукции 17
1.3 Схема документооборота учета готовой продукции на ООО БелАгроКривцово» 19
1.3.1 Учет в 1С: Бухгалтерии 20
2 Постановка задачи автоматизации учета готовой продукции на ООО «БелАгроКривцово» 22
2.1 Общие сведения 22
2.1.1 Полное наименование системы и ее условное обозначение 22
2.1.2 Основание для создания 22
2.1.3 Реквизиты предприятия заказчика и разработчика 22
2.1.4 Назначение и цель создания системы 22
2.2 Функции автоматизированной системы 23
2.3 Пользователи автоматизированной системы 23
2.4 Характеристика входной и выходной информации 23
2.5 Требования к программе 25
2.5.1 Общие требования 25
2.5.2 Требования к документации 26
2.5.3 Требования к программному и аппаратному обеспечению 26
2.5.4 Требования к дополнительному ПО 26
2.5.5 Состав и содержание работ по созданию ПО 26
3 Разработка программного обеспечения 28
3.1 Обоснование выбора средств разработки 28
3.1.1 Выбор ПО для проектирования Бизнес-процессов 28
3.1.2 Средство для проектирования структуры базы данных 36
3.1.3 Средства разработки программных модулей 39
3.1.4 Сервер баз данных Interbase 41
3.1.5 Средства Delphi 7 для доступа к данным 43
3.1.5.1 Иерархия классов наборов данных 43
3.1.5.2 Сервер баз данных InterBase и компоненты InterBase Express 44
3.1.5.3 Возможности построения распределенных приложений БД 45
3.2 Построение модели в BPWin 47
3.3 Организация данных в ERWin 53
3.4 Состав и структура ПО 57

4 Организационно-экономическая часть 59
4.1 Расчет трудоемкости выполнения разработки программного продукта 59
4.2 Расчет числа исполнителей 61
4.3 Расчет сметной стоимости и договорной цены разработки ПП 62
4.4 Оценка годовых эксплуатационных издержек потребителя ПП 68
4.5 Оценка экономической эффективности ПП 69
5. БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ 71
5.1 Характеристика опасных и вредных производственных факторов 72
5.2 Обеспечение электробезопасности при работе с ПЭВМ 73
5.3 Вредные производственные факторы 75
5.3.1 Требования к вентиляции и кондиционированию воздуха в помещениях с компьютерной техникой 76
5.3.2 Требования к освещению в помещениях 77
5.3.3 Рекомендации по организации рабочего места сотрудника, работающего на компьютере 28
5.3.4 Режим труда и отдыха при работе с компьютером 79
5.4 Пожарная безопасность 80
Заключение 83
Список литературы 84

Файлы: 1 файл

Трегубенко диплом.doc

— 1.09 Мб (Скачать)

  /* INSERT trigger on Moves */

DECLARE VARIABLE numrows INTEGER;

BEGIN

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* Отправитель R/64 Moves ON CHILD INSERT RESTRICT */

    select count(*)

      from Отправитель

      where

        /* NEW.Place = Отправитель.Place */

        NEW.Place = Отправитель.Place into numrows;

    IF (

      /*  */

     

      numrows = 0

    ) THEN

    BEGIN

      EXCEPTION ERWIN_CHILD_INSERT_RESTRICT;

    END

 

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* Poluchat R/61 Moves ON CHILD INSERT RESTRICT */

    select count(*)

      from Poluchat

      where

        /* NEW.Place = Poluchat.Place */

        NEW.Place = Poluchat.Place into numrows;

    IF (

      /*  */

     

      numrows = 0

    ) THEN

    BEGIN

      EXCEPTION ERWIN_CHILD_INSERT_RESTRICT;

    END

 

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* EI_Kol_Har R/28 Moves ON CHILD INSERT RESTRICT */

    select count(*)

      from EI_Kol_Har

      where

        /* NEW.EIKoH = EI_Kol_Har.EIKoH */

        NEW.EIKoH = EI_Kol_Har.EIKoH into numrows;

    IF (

      /*  */

     

      numrows = 0

    ) THEN

    BEGIN

      EXCEPTION ERWIN_CHILD_INSERT_RESTRICT;

    END

 

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* Nomenkl_Ed R/23 Moves ON CHILD INSERT RESTRICT */

    select count(*)

      from Nomenkl_Ed

      where

        /* NEW.NE = Nomenkl_Ed.NE */

        NEW.NE = Nomenkl_Ed.NE into numrows;

    IF (

      /*  */

     

      numrows = 0

    ) THEN

    BEGIN

      EXCEPTION ERWIN_CHILD_INSERT_RESTRICT;

    END

 

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* Operation R/19 Moves ON CHILD INSERT RESTRICT */

    select count(*)

      from Operation

      where

        /* NEW.Op = Operation.Op */

        NEW.Op = Operation.Op into numrows;

    IF (

      /*  */

     

      numrows = 0

    ) THEN

    BEGIN

      EXCEPTION ERWIN_CHILD_INSERT_RESTRICT;

    END

 

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

END !!

 

CREATE TRIGGER tU_Moves FOR Moves AFTER UPDATE AS

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* UPDATE trigger on Moves */

DECLARE VARIABLE numrows INTEGER;

BEGIN

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Moves R/62 Отпущено_по_накладной ON PARENT UPDATE RESTRICT */

  IF

    /* OLD.Op <> NEW.Op or

       OLD.DatN <> NEW.DatN or

       OLD.NE <> NEW.NE or

       OLD.EIKoH <> NEW.EIKoH or

       OLD.Place <> NEW.Place or

       OLD.Place <> NEW.Place */

    (OLD.Op <> NEW.Op or

     OLD.DatN <> NEW.DatN or

     OLD.NE <> NEW.NE or

     OLD.EIKoH <> NEW.EIKoH or

     OLD.Place <> NEW.Place or

     OLD.Place <> NEW.Place) THEN

  BEGIN

    select count(*)

      from Отпущено_по_накладной

      where

        /*  Отпущено_по_накладной.Op = OLD.Op and

            Отпущено_по_накладной.DatN = OLD.DatN and

            Отпущено_по_накладной.NE = OLD.NE and

            Отпущено_по_накладной.EIKoH = OLD.EIKoH and

            Отпущено_по_накладной.Place = OLD.Place and

            Отпущено_по_накладной.Place = OLD.Place */

        Отпущено_по_накладной.Op = OLD.Op and

        Отпущено_по_накладной.DatN = OLD.DatN and

        Отпущено_по_накладной.NE = OLD.NE and

        Отпущено_по_накладной.EIKoH = OLD.EIKoH and

        Отпущено_по_накладной.Place = OLD.Place and

        Отпущено_по_накладной.Place = OLD.Place into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_UPDATE_RESTRICT;

    END

  END

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Moves R/44 Накладная_Журнал_д ON PARENT UPDATE RESTRICT */

  IF

    /* OLD.Op <> NEW.Op or

       OLD.DatN <> NEW.DatN or

       OLD.NE <> NEW.NE or

       OLD.EIKoH <> NEW.EIKoH or

       OLD.Place <> NEW.Place or

       OLD.Place <> NEW.Place */

    (OLD.Op <> NEW.Op or

     OLD.DatN <> NEW.DatN or

     OLD.NE <> NEW.NE or

     OLD.EIKoH <> NEW.EIKoH or

     OLD.Place <> NEW.Place or

     OLD.Place <> NEW.Place) THEN

  BEGIN

    select count(*)

      from Накладная_Журнал_д

      where

        /*  Накладная_Журнал_д.Op = OLD.Op and

            Накладная_Журнал_д.DatN = OLD.DatN and

            Накладная_Журнал_д.NE = OLD.NE and

            Накладная_Журнал_д.EIKoH = OLD.EIKoH and

            Накладная_Журнал_д.Place = OLD.Place and

            Накладная_Журнал_д.Place = OLD.Place */

        Накладная_Журнал_д.Op = OLD.Op and

        Накладная_Журнал_д.DatN = OLD.DatN and

        Накладная_Журнал_д.NE = OLD.NE and

        Накладная_Журнал_д.EIKoH = OLD.EIKoH and

        Накладная_Журнал_д.Place = OLD.Place and

        Накладная_Журнал_д.Place = OLD.Place into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_UPDATE_RESTRICT;

    END

  END

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Moves R/35 TovTrNakl ON PARENT UPDATE RESTRICT */

  IF

    /* OLD.Op <> NEW.Op or

       OLD.DatN <> NEW.DatN or

       OLD.NE <> NEW.NE or

       OLD.EIKoH <> NEW.EIKoH or

       OLD.Place <> NEW.Place or

       OLD.Place <> NEW.Place */

    (OLD.Op <> NEW.Op or

     OLD.DatN <> NEW.DatN or

     OLD.NE <> NEW.NE or

     OLD.EIKoH <> NEW.EIKoH or

     OLD.Place <> NEW.Place or

     OLD.Place <> NEW.Place) THEN

  BEGIN

    select count(*)

      from TovTrNakl

      where

        /*  TovTrNakl.Op = OLD.Op and

            TovTrNakl.DatN = OLD.DatN and

            TovTrNakl.NE = OLD.NE and

            TovTrNakl.EIKoH = OLD.EIKoH and

            TovTrNakl.Place = OLD.Place and

            TovTrNakl.Place = OLD.Place */

        TovTrNakl.Op = OLD.Op and

        TovTrNakl.DatN = OLD.DatN and

        TovTrNakl.NE = OLD.NE and

        TovTrNakl.EIKoH = OLD.EIKoH and

        TovTrNakl.Place = OLD.Place and

        TovTrNakl.Place = OLD.Place into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_UPDATE_RESTRICT;

    END

  END

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Moves R/6 Nadoj_Dojarki ON PARENT UPDATE RESTRICT */

  IF

    /* OLD.Op <> NEW.Op or

       OLD.DatN <> NEW.DatN or

       OLD.NE <> NEW.NE or

       OLD.EIKoH <> NEW.EIKoH or

       OLD.Place <> NEW.Place or

       OLD.Place <> NEW.Place */

    (OLD.Op <> NEW.Op or

     OLD.DatN <> NEW.DatN or

     OLD.NE <> NEW.NE or

     OLD.EIKoH <> NEW.EIKoH or

     OLD.Place <> NEW.Place or

     OLD.Place <> NEW.Place) THEN

  BEGIN

    select count(*)

      from Nadoj_Dojarki

      where

        /*  Nadoj_Dojarki.Op = OLD.Op and

            Nadoj_Dojarki.NadojTime = OLD.DatN and

            Nadoj_Dojarki.DateN = OLD.DatN and

            Nadoj_Dojarki.NE = OLD.NE and

            Nadoj_Dojarki.EIKoH = OLD.EIKoH and

            Nadoj_Dojarki.Place = OLD.Place and

            Nadoj_Dojarki.Place = OLD.Place */

        Nadoj_Dojarki.Op = OLD.Op and

        Nadoj_Dojarki.NadojTime = OLD.DatN and

        Nadoj_Dojarki.DateN = OLD.DatN and

        Nadoj_Dojarki.NE = OLD.NE and

        Nadoj_Dojarki.EIKoH = OLD.EIKoH and

        Nadoj_Dojarki.Place = OLD.Place and

        Nadoj_Dojarki.Place = OLD.Place into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_UPDATE_RESTRICT;

    END

  END

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Отправитель R/64 Moves ON CHILD UPDATE RESTRICT */

  select count(*)

    from Отправитель

    where

      /* NEW.Place = Отправитель.Place */

      NEW.Place = Отправитель.Place into numrows;

  IF (

    /*  */

   

    numrows = 0

  ) THEN

  BEGIN

    EXCEPTION ERWIN_CHILD_UPDATE_RESTRICT;

  END

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Poluchat R/61 Moves ON CHILD UPDATE RESTRICT */

  select count(*)

    from Poluchat

    where

      /* NEW.Place = Poluchat.Place */

      NEW.Place = Poluchat.Place into numrows;

  IF (

    /*  */

   

    numrows = 0

  ) THEN

  BEGIN

    EXCEPTION ERWIN_CHILD_UPDATE_RESTRICT;

  END

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* EI_Kol_Har R/28 Moves ON CHILD UPDATE RESTRICT */

  select count(*)

    from EI_Kol_Har

    where

      /* NEW.EIKoH = EI_Kol_Har.EIKoH */

      NEW.EIKoH = EI_Kol_Har.EIKoH into numrows;

  IF (

    /*  */

   

    numrows = 0

  ) THEN

  BEGIN

    EXCEPTION ERWIN_CHILD_UPDATE_RESTRICT;

  END

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Nomenkl_Ed R/23 Moves ON CHILD UPDATE RESTRICT */

  select count(*)

    from Nomenkl_Ed

    where

      /* NEW.NE = Nomenkl_Ed.NE */

      NEW.NE = Nomenkl_Ed.NE into numrows;

  IF (

    /*  */

   

    numrows = 0

  ) THEN

  BEGIN

    EXCEPTION ERWIN_CHILD_UPDATE_RESTRICT;

  END

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Operation R/19 Moves ON CHILD UPDATE RESTRICT */

  select count(*)

    from Operation

    where

      /* NEW.Op = Operation.Op */

      NEW.Op = Operation.Op into numrows;

  IF (

    /*  */

   

    numrows = 0

  ) THEN

  BEGIN

    EXCEPTION ERWIN_CHILD_UPDATE_RESTRICT;

  END

 

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

END !!

 

CREATE TRIGGER tD_Nomenkl_Ed FOR Nomenkl_Ed AFTER DELETE AS

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* DELETE trigger on Nomenkl_Ed */

DECLARE VARIABLE numrows INTEGER;

BEGIN

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* Nomenkl_Ed R/78 Schet_Analit ON PARENT DELETE RESTRICT */

    select count(*)

      from Schet_Analit

      where

        /*  Schet_Analit.NE = OLD.NE */

        Schet_Analit.NE = OLD.NE into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_DELETE_RESTRICT;

    END

 

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* Nomenkl_Ed R/72 Проводка ON PARENT DELETE SET NULL */

    update Проводка

      set

        /* Проводка.NE = NULL */

        Проводка.NE = NULL

      where

        /* Проводка.NE = OLD.NE */

        Проводка.NE = OLD.NE;

 

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* Nomenkl_Ed R/23 Moves ON PARENT DELETE RESTRICT */

    select count(*)

      from Moves

      where

        /*  Moves.NE = OLD.NE */

        Moves.NE = OLD.NE into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_DELETE_RESTRICT;

    END

 

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* Nomenkl_Ed R/22 Nadoj_Dojarki ON PARENT DELETE RESTRICT */

    select count(*)

      from Nadoj_Dojarki

      where

        /*  Nadoj_Dojarki.NE = OLD.NE */

        Nadoj_Dojarki.NE = OLD.NE into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_DELETE_RESTRICT;

    END

 

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* Nomenkl_Ed R/20 Price_NE ON PARENT DELETE RESTRICT */

    select count(*)

      from Price_NE

      where

        /*  Price_NE.NE = OLD.NE */

        Price_NE.NE = OLD.NE into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_DELETE_RESTRICT;

    END

 

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* Nomenkl_Ed R/18 NE_KaH_Val ON PARENT DELETE RESTRICT */

    select count(*)

      from NE_KaH_Val

      where

        /*  NE_KaH_Val.NE = OLD.NE */

        NE_KaH_Val.NE = OLD.NE into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_DELETE_RESTRICT;

    END

 

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

END !!

 

CREATE TRIGGER tI_Nomenkl_Ed FOR Nomenkl_Ed AFTER INSERT AS

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* INSERT trigger on Nomenkl_Ed */

DECLARE VARIABLE numrows INTEGER;

BEGIN

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* Vid_GP R/17 Nomenkl_Ed ON CHILD INSERT RESTRICT */

    select count(*)

      from Vid_GP

      where

        /* NEW.VGP = Vid_GP.VGP */

        NEW.VGP = Vid_GP.VGP into numrows;

    IF (

      /*  */

     

      numrows = 0

    ) THEN

    BEGIN

      EXCEPTION ERWIN_CHILD_INSERT_RESTRICT;

    END

 

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

END !!

 

CREATE TRIGGER tU_Nomenkl_Ed FOR Nomenkl_Ed AFTER UPDATE AS

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* UPDATE trigger on Nomenkl_Ed */

DECLARE VARIABLE numrows INTEGER;

BEGIN

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Nomenkl_Ed R/78 Schet_Analit ON PARENT UPDATE RESTRICT */

  IF

    /* OLD.NE <> NEW.NE */

    (OLD.NE <> NEW.NE) THEN

  BEGIN

    select count(*)

      from Schet_Analit

      where

        /*  Schet_Analit.NE = OLD.NE */

        Schet_Analit.NE = OLD.NE into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_UPDATE_RESTRICT;

    END

  END

 

  /* Nomenkl_Ed R/72 Проводка ON PARENT UPDATE SET NULL */

  IF

    /* OLD.NE <> NEW.NE THEN

  BEGIN

    update Проводка

      set

        /* Проводка.NE = NULL */

        Проводка.NE = NULL

      where

        /* Проводка.NE = OLD.NE */

        Проводка.NE = OLD.NE;

  END

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Nomenkl_Ed R/23 Moves ON PARENT UPDATE RESTRICT */

  IF

    /* OLD.NE <> NEW.NE */

    (OLD.NE <> NEW.NE) THEN

  BEGIN

    select count(*)

      from Moves

      where

        /*  Moves.NE = OLD.NE */

        Moves.NE = OLD.NE into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_UPDATE_RESTRICT;

    END

  END

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Nomenkl_Ed R/22 Nadoj_Dojarki ON PARENT UPDATE RESTRICT */

  IF

    /* OLD.NE <> NEW.NE */

    (OLD.NE <> NEW.NE) THEN

  BEGIN

    select count(*)

      from Nadoj_Dojarki

      where

        /*  Nadoj_Dojarki.NE = OLD.NE */

        Nadoj_Dojarki.NE = OLD.NE into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_UPDATE_RESTRICT;

    END

  END

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Nomenkl_Ed R/20 Price_NE ON PARENT UPDATE RESTRICT */

  IF

    /* OLD.NE <> NEW.NE */

    (OLD.NE <> NEW.NE) THEN

  BEGIN

    select count(*)

      from Price_NE

      where

        /*  Price_NE.NE = OLD.NE */

        Price_NE.NE = OLD.NE into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_UPDATE_RESTRICT;

    END

  END

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Nomenkl_Ed R/18 NE_KaH_Val ON PARENT UPDATE RESTRICT */

  IF

    /* OLD.NE <> NEW.NE */

    (OLD.NE <> NEW.NE) THEN

  BEGIN

    select count(*)

      from NE_KaH_Val

      where

        /*  NE_KaH_Val.NE = OLD.NE */

        NE_KaH_Val.NE = OLD.NE into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_UPDATE_RESTRICT;

    END

  END

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Vid_GP R/17 Nomenkl_Ed ON CHILD UPDATE RESTRICT */

  select count(*)

    from Vid_GP

    where

      /* NEW.VGP = Vid_GP.VGP */

      NEW.VGP = Vid_GP.VGP into numrows;

  IF (

    /*  */

   

    numrows = 0

  ) THEN

  BEGIN

    EXCEPTION ERWIN_CHILD_UPDATE_RESTRICT;

  END

 

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

END !!

 

CREATE TRIGGER tD_Operation FOR Operation AFTER DELETE AS

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* DELETE trigger on Operation */

DECLARE VARIABLE numrows INTEGER;

BEGIN

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* Operation R/86 ЖХО ON PARENT DELETE SET NULL */

    update ЖХО

      set

        /* ЖХО.Op = NULL */

        ЖХО.Op = NULL

      where

        /* ЖХО.Op = OLD.Op */

        ЖХО.Op = OLD.Op;

 

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* Operation R/19 Moves ON PARENT DELETE RESTRICT */

    select count(*)

      from Moves

      where

        /*  Moves.Op = OLD.Op */

        Moves.Op = OLD.Op into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_DELETE_RESTRICT;

    END

 

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

END !!

 

CREATE TRIGGER tU_Operation FOR Operation AFTER UPDATE AS

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* UPDATE trigger on Operation */

DECLARE VARIABLE numrows INTEGER;

BEGIN

  /* Operation R/86 ЖХО ON PARENT UPDATE SET NULL */

  IF

    /* OLD.Op <> NEW.Op THEN

  BEGIN

    update ЖХО

      set

        /* ЖХО.Op = NULL */

        ЖХО.Op = NULL

      where

        /* ЖХО.Op = OLD.Op */

        ЖХО.Op = OLD.Op;

  END

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* Operation R/19 Moves ON PARENT UPDATE RESTRICT */

  IF

    /* OLD.Op <> NEW.Op */

    (OLD.Op <> NEW.Op) THEN

  BEGIN

    select count(*)

      from Moves

      where

       /*  Moves.Op = OLD.Op */

        Moves.Op = OLD.Op into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_UPDATE_RESTRICT;

    END

  END

 

 

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

END !!

 

CREATE TRIGGER tD_Pokupat FOR Pokupat AFTER DELETE AS

  /* ERwin Builtin Wed May 12 22:33:18 2004 */

  /* DELETE trigger on Pokupat */

DECLARE VARIABLE numrows INTEGER;

BEGIN

    /* ERwin Builtin Wed May 12 22:33:18 2004 */

    /* Pokupat R/65 Оплата ON PARENT DELETE RESTRICT */

    select count(*)

      from Оплата

      where

        /*  Оплата.Pokupat = OLD.INN */

        Оплата.Pokupat = OLD.INN into numrows;

    IF (numrows > 0) THEN

    BEGIN

      EXCEPTION ERWIN_PARENT_DELETE_RESTRICT;

    END

Информация о работе Исследование документооборота предприятия по учету готовой продукции