Пользователь
Логин:
Пароль:
Забыли свой пароль?

Поиск по сайту
 

 Расширенный поиск
Реклама

 

Опрос


Погода

Регистрация почты

Форумы
Обновления
Поиск
Пользователи 
Правила
Помощь
Войти

Страницы: Пред. 1 2
Регистрация почты, Разрешаем регистрацию заявок со всех емеилов
В интерфейсе это поле называется Sc. Text 11. На него логики кроме как запись mail нету. На форуму оно не выводиться. (просто незачем.)

Как бы нужно всегда помнить какие поля на что задействованы… в клиенте можно это поле обозвать… как угодно скажем «не трогать завязка на mail»
тогда логика записи мэйла в это поле? зачем его вообще туда писать??
Цитата
Григорий Ненашев пишет:
Как бы нужно всегда помнить какие поля на что задействованы… в клиенте можно это поле обозвать… как угодно скажем «не трогать завязка на mail»
а про это я все прекрасно знаю и помню, но вопрос то мой про конкретное место в скрипте:)
Я не понимаю вопроса… в триггере же вроде все понятно написано, что, зачем следует и при каких условиях… smile:)
ок, вопрос: зачем писать мэйл в кастомное поле которое в любой другой конфигурации может быть задействовано под что угодно?:)ведь в последствии этот емэйл нигде не используется, или все же используется?
Изменено: Юрий Поповцев - 08.07.2011 17:01:46
Скажем так, если это поле у кого либо используется, то как бы логично использовать поле которое не используется.
Данное поле используется в данном триггере.
Вот оракловый тригер для автоматического вписывания зарегистрированного в SD пользователя в поле Пользователь в заявке, организация тоже заполняется.

CREATE OR REPLACE TRIGGER T_NSSO_AI_ITSM_SER_INFORMATION
AFTER INSERT
ON master.ITSM_SER_INFORMATION
FOR EACH ROW
DECLARE
p_email VARCHAR2 (4000);
p_oid ITSM_PERSONS.per_oid%TYPE;
p_per_org_oid ITSM_PERSONS.per_org_oid%TYPE;
BEGIN
SEL ECT SUBSTR (:new.sei_information,
INSTR (:new.sei_information, '<', 1) + 1,
INSTR (:new.sei_information, '>', 1) - INSTR (:new.sei_information, '<', 1) - 1)
INTO p_email
FR OM DUAL;

SELECT per_oid, per_org_oid
INTO p_oid, p_per_org_oid
FR OM ITSM_PERSONS
WHERE per_emaillower LIKE '%'||p_email||'%' AND ROWNUM = 1;

UPD ATE ITSM_SERVICECALLS
SE T SER_CALLER_PER = p_oid, SER_CALLER_ORG = p_per_org_oid
WH ERE ser_oid = :new.sei_ser_oid AND ROWNUM = 1;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
END;
/
Изменено: Максим - 17.05.2012 19:52:03
Цитата
Максим пишет:
Вот оракловый тригер для автоматического вписывания зарегистрированного в SD пользователя в поле Пользователь в заявке, организация тоже заполняется.

CREATE OR REPLACE TRIGGER T_NSSO_AI_ITSM_SER_INFORMATION
...

END;

/

В поле per_emaillower запись хранится в нижнем регистре, а если email будет TeSt-Aa@SERVICECALL.ru
Триггер не найдет его в поле per_emaillower, и подставить пользователя первого попавшегося.
Переписал немного, добавив: условие, перевод p_email в нижний регистр lower, ну и завершение поправил


....
BEGIN
IF :new.sei_information like 'From:%' THEN -- доп.условие

SELECT lower(SUBSTR (:new.sei_information,
INSTR (:new.sei_information, '<', 1) + 1,
INSTR (:new.sei_information, '>', 1) - INSTR (:new.sei_information, '<', 1) - 1))
INTO p_email
FROM DUAL;

SELECT per_oid, per_org_oid
INTO p_oid, p_per_org_oid
FROM ITSM_PERSONS
WHERE per_emaillower LIKE '%'||p_email||'%' AND ROWNUM = 1;

UPDATE ITSM_SERVICECALLS
SET SER_CALLER_PER = p_oid, SER_CALLER_ORG = p_per_org_oid
WHERE ser_oid = :new.sei_ser_oid AND ROWNUM = 1;
END IF;
EXCEPTION
WHEN OTHERS THEN NULL; --защищает наш select
END;
SD 4.5
App- SP39 win2008
BD- Linux oracle 12
Страницы: Пред. 1 2

Сегодня были (гостей: 1, пользователей: 0, из них скрытых: 0)