Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
VSV056 Участник - экстремал
Вступление в Клуб: 25.11.2010
|
Чт Апр 21, 2016 14:27  Хук Заявки. Получение в строчку [DECL_GET_VALUE] |
|
Полезность: Нет оценки
|
Коллеги, доброго дня!
Нужно создать хук "Заявки. Получение в строчку" [DECL_GET_VALUE]
Он работает по старому механизму, т.е не через расширения и перекрытия. Т.о. для его создания нужно скопировать операцию из "Расширения. Дистрибутив" в "Расширения. Банк".
Почему-то это не помогает.
Что нужно еще сделать? |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Чт Апр 21, 2016 14:57   |
|
Полезность: Нет оценки
|
ну эээ ...
может быть в справочник "Вычисляемые параметры" прописать те вычпары которые вы там щитаете ?
А точно по старому ?
Т.е. в Расширения и перекрытия. Точки вызова не нвдо прописывать ? |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Чт Апр 21, 2016 14:59   |
|
Полезность: Нет оценки
|
Если дело в вычпарах, там еще вроде нужно запустить операшку потом "Сгенерировать или обновить библиотеки ...." |
|
 |
VSV056 Участник - экстремал
Вступление в Клуб: 25.11.2010
|
Чт Апр 21, 2016 15:15   |
|
Полезность: Нет оценки
|
ну... как бы если это новый метод то там в дистрибутивных хуках:
Код: |
begin
null;
&call_meth
end; |
и
Код: | pragma include ('APPAUX_CALLPOINT.COMPILE_LIB');
&setcallpoint('BKI_CALC_PARAMS','БКИ. Расчет параметров',2) |
а в искомом хуке:
Код: | begin
return null;
end;
|
Далее до выч. паров как мне кажется еще рано.
и как мне помниться давным-давно добавляя новый кодик в хук я в выч. пары ничего нового не добавлял. Оно само работало.
В банковский хук с целью тестирования нами втиснута вот такая вещь:
Код: | begin
IF 1=1 THEN
Pragma error('хук работает!');
END IF;
return null;
end; |
Так вот при вызове операции печати в заявках на получение кредита (Alt+W) никакой ошибки нет.
Плюс к этому операцию печати переделали на OOXML и я пока не разобрался это она не дергает хук, или с хуком что-то не то. |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Чт Апр 21, 2016 15:29   |
|
Полезность: Нет оценки
|
VSV056 пишет: |
В банковский хук с целью тестирования нами втиснута вот такая вещь:
Код: | begin
IF 1=1 THEN
Pragma error('хук работает!');
END IF;
return null;
end; |
Так вот при вызове операции печати в заявках на получение кредита (Alt+W) никакой ошибки нет.
|
хук тебе зачем нужен ?
alt+w
-- Все остальное ищем в Get_Value
return IdDecl.[GET_VALUE](p_info, P_Adds);
в GET_VALUE
RetStr := ::[HOOK].[VARS].ref_hook.[DECL_GET_VALUE](this, P#CODE, P#ADDS);
if RetStr is not null then
return RetStr;
end if;
То есть тебе какой-то кодик надо подать неизвестный на вход, просто так хук не запустится |
|
 |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Чт Апр 21, 2016 15:31   |
|
Полезность: Нет оценки
|
то есть шаблон какой нить покорёжить что ли
воткнуть туда незнакомый операшке кодик, чтоб позвался хук ... |
|
 |
VSV056 Участник - экстремал
Вступление в Клуб: 25.11.2010
|
Чт Апр 21, 2016 15:44   |
|
Полезность: Нет оценки
|
vtar пишет: |
хук тебе зачем нужен ?
alt+w
-- Все остальное ищем в Get_Value
return IdDecl.[GET_VALUE](p_info, P_Adds);
в GET_VALUE
RetStr := ::[HOOK].[VARS].ref_hook.[DECL_GET_VALUE](this, P#CODE, P#ADDS);
if RetStr is not null then
return RetStr;
end if;
То есть тебе какой-то кодик надо подать неизвестный на вход, просто так хук не запустится |
Неизвестный параметр TEST передавал. Смутило то что вместо ошибки просто возвращался NULL, хотя pragma error была перед return. Похоже где-то выше все это обвернуто в EXCEPTION )))
В общем то вылечили вот так:
Код: | v_str varchar2(250);
begin
if P#CODE = 'TEST' then
v_str := 'дело было в ретерне';
end if;
return v_str;
end;
|
Вопрос можно считать закрытым.
Спасибо за участие. |
|
 |
|