diff --git a/APP_EVENT_AIU_FOR_APP_TASK_10.sql b/APP_EVENT_AIU_FOR_APP_TASK_10.sql new file mode 100644 index 0000000..50de912 --- /dev/null +++ b/APP_EVENT_AIU_FOR_APP_TASK_10.sql @@ -0,0 +1,84 @@ + +as +declare variable F_RESULT D_PRIZNAK; +declare variable F_PR_ERR D_INTEGER; --DECLARE VARIABLE FSEANS_STATUS TYPE OF D_INTEGER; + +declare variable EXEC_BLOCK_32_7 type of column EXEC_BLOCKS.EXEC_BLOCKS_TEXT; +declare variable EXEC_32_7_OUTPUT type of D_BIGINT; +begin + /* + TIM130324 17:00 + */ + + -- APP_EVENT_AIU_FOR_APP_TASK_10: ТРИГГЕР ОБРАБОТКИ ЗАПИСИ СОБЫТИЯ APP_EVENT + -- (СОЗДАНИЕ, РЕДАКТИРОВАНИЕ, УДАЛЕНИЕ APP_TASK) + + --0. ДЛЯ ПОЧТОВОГО СЕРВЕРА НИЧЕГО НЕ ДЕЛАЕМ + if (exists(select 1 + from PARSRV A + where A.PARSRV_VID = 1)) then + exit; + + -- IF (UPDATING AND (NEW.APP_EVENT_DEL = 1) + -- AND (NEW.APP_EVENT_DEL IS DISTINCT FROM OLD.APP_EVENT_DEL)) THEN + -- BEGIN + -- UPDATE APP_TASK A + -- SET A.APP_TASK_DEL = 1 + -- WHERE A.ID_APP_TASK = NEW.ID_APP_EVENT; + -- EXIT; + -- END + --УТОЧНИТЬ, ДЛЯ КАКИХ APP_EVENT НЕ НУЖНО СОЗДАВАТЬ APP_TASK!!! + if (inserting or + -- ( + updating + -- AND + -- ( + -- (NEW.APP_EVENT_DT IS DISTINCT FROM OLD.APP_EVENT_DT) + -- OR (NEW.APP_EVENT_TEXT IS DISTINCT FROM OLD.APP_EVENT_TEXT) + -- OR (NEW.APP_EVENT_PARAM IS DISTINCT FROM OLD.APP_EVENT_PARAM) + -- OR (NEW.APP_EVENT_DATA IS DISTINCT FROM OLD.APP_EVENT_DATA) + -- OR (NEW.APP_EVENT_DEL IS DISTINCT FROM OLD.APP_EVENT_DEL) + -- OR (NEW.APP_EVENT_CH IS DISTINCT FROM OLD.APP_EVENT_CH) + -- /* УТОЧНИТЬ !!! + -- OR (NEW.APP_EVENT_ID_SOTR IS DISTINCT FROM OLD.APP_EVENT_ID_SOTR) + -- OR (NEW.APP_EVENT_ID_REC IS DISTINCT FROM OLD.APP_EVENT_ID_REC) + -- OR (NEW.APP_EVENT_VID IS DISTINCT FROM OLD.APP_EVENT_VID) + -- OR (NEW.APP_EVENT_TIP IS DISTINCT FROM OLD.APP_EVENT_TIP) + -- */ + -- ) + -- ) + ) then + begin +-- if (new.APP_EVENT_VID in (8676, 8677, 8678)) then +-- begin + + --ПЕРЕСЧЕТ ТС В APP_TASK + select OUT_RESULT, OUT_PR_ERR + from APP_TASK_WORK(new.ID_APP_EVENT) --ID_APP_EVENT + into :F_RESULT, :F_PR_ERR; + --ФОРМИРОВАНИЕ ЗАПИСЕЙ В APP_PARAM + select OUT_RESULT, OUT_PR_ERR + from APP_PARAM_WORK(new.ID_APP_EVENT) --ID_APP_EVENT + into :F_RESULT, :F_PR_ERR; +-- end +-- +-- else +-- if (new.APP_EVENT_VID in (8795, 8797)) then +-- begin + + select E.EXEC_BLOCKS_TEXT + from EXEC_BLOCKS E + where E.EXEC_BLOCKS_VID = 32 and + E.EXEC_BLOCKS_TIP = 7 and + E.EXEC_BLOCKS_DEL = 0 rows 1 to 1 + into :EXEC_BLOCK_32_7; + + if (:EXEC_BLOCK_32_7 is not null) then + begin + + execute statement(:EXEC_BLOCK_32_7)(IN_ID_APP_EVENT := new.ID_APP_EVENT) + into :EXEC_32_7_OUTPUT; + end +-- end + end +end \ No newline at end of file