Комментарий к операции - как его вывести по кнопке
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Damir Участник - экстремал
Вступление в Клуб: 29.03.2013
|
Пт Мар 27, 2015 15:48  Комментарий к операции - как его вывести по кнопке |
|
Полезность: Нет оценки
|
Здравствуйте, кого не видел.
Пользователи наши НЕ приучены заглядывать в [комментарии к операции]. Да и не везде они есть, если честно.
Хотелось бы сообщить пользователю о наличии такого коммента.
В идеале - кнопку можно на форму положить, а по нажатию - выводить бы 'ядерный' [комментарии к операции].
Вопрос:
Как по нажатию кнопки вывести стандартный [комментарии к операции]? |
|
|
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Пт Мар 27, 2015 16:27   |
|
Полезность: Нет оценки
|
Код: | stdio.put_line_buf(message_text); |
По чек валидейт на кнопке не устраивает? Сам текст, допустим, можно в справочнике организовать по колонке "Короткое имя операции" и "Сам текст", по валидации по операции ищется в этом спраочнике такой же код и поднимает текст. |
|
|
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Пн Мар 30, 2015 03:48   |
|
Полезность: Нет оценки
|
yaffil пишет: | Код: | stdio.put_line_buf(message_text); |
|
Разве он выводит если галочка Служебный интерфейс в навигаторе снята ? |
|
|
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Пн Мар 30, 2015 10:16   |
|
Полезность: Нет оценки
|
Выводится. |
|
|
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Пн Мар 30, 2015 11:39  Re: Комментарий к операции - как его вывести по кнопке |
|
Полезность: 2
|
Собственно, вот так можно получить комментарий с операции.
Код: |
win varchar2(1000) := utl_raw.cast_to_varchar2(hextoraw('C0C1C2C3C4C5A8C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5B8E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF'));
src varchar2(1000) := 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя';
function convert(p_text varchar2, p_from pls_integer, p_to pls_integer) return varchar2 is
v$ret varchar2(32767);
v$from varchar2(1000);
v$to varchar2(1000);
begin
if p_from = p_to then
return p_text;
end if;
if p_from = stdio.WINTEXT then
v$from := win;
else
v$from := src;
end if;
if p_to = stdio.WINTEXT then
v$to := win;
else
v$to := src;
end if;
v$ret := translate(p_text,v$from,v$to);
return v$ret;
end;
function Hex2Int(p_hex varchar2) return number is
v$str varchar2(32767);
v$ret number;
begin
v$str := utils.Hex_Str(p_hex);
v$ret := 0;
for i in 1 .. length(v$str) loop
v$ret := v$ret * 256 + ascii(substr(v$str,i,1));
end loop;
return v$ret;
end;
function Rtf2Txt(p_value varchar2) return varchar2 is
v$ret varchar2(32767);
v$tmp arr$str;
begin
v$tmp(1) := '{'; v$tmp(2) := '}'; v$tmp(3) := '\'; v$tmp(4) := LF$;
v$tmp := ExpandFast(p_value,v$tmp);
v$ret := '';
for i in 1 .. v$tmp.count loop
if v$tmp(i) in ('{','}','\') then
v$tmp(i) := '';
elsif v$tmp(i) like '''%' then
v$tmp(i) := CONVERT(chr(HEX2INT(upper(substr(v$tmp(i),2,2)))),stdio.WINTEXT,0)||substr(v$tmp(i),4);
elsif v$tmp(i) in ('rtf1','ansi','\','ansicpg1251','deff0','deflang1049','fonttbl','f0','fnil','viewkind4','uc1','pard','fs20','par ') then
v$tmp(i) := '';
elsif v$tmp(i) like 'fcharset204%' then
v$tmp(i) := '';
end if;
v$ret := v$ret || v$tmp(i);
end loop;
return v$ret;
end;
function GetMethodRemark(p_method ref [METHOD]) return varchar2 is
v_ex varchar2(32767);
v$ret varchar2(32767);
begin
v_ex :=
'declare m varchar2(32767); v$tmp long raw; v$ret varchar2(32767);
begin
m := '||p_method%id||';
for i in (select data from lraw where id = m) loop
v$tmp := i.data;
end loop;
if v$tmp is not null then
for i in (select data from lraw where id in (select id from topics t where t.owner = m and t.class = ''METHOD'' and t.topic = ''DESCRIPTION'') ) loop
v$tmp := i.data;
end loop;
end if;
v$ret := utils.raw_str(v$tmp);
:res := v$ret;
end;';
if rtl.exec_sql_out(v_ex,'res',v$ret) <> 0 then
return null;
end if;
return Rtf2Txt(v$ret);
end;
|
|
|
|
Damir Участник - экстремал
Вступление в Клуб: 29.03.2013
|
Пн Мар 30, 2015 17:07   |
|
Полезность: Нет оценки
|
Подымать по горячей клавише (Ctrl+F1) свою форму выводить в memo текст из комментариев к операции - реализуемо, конечно.
Отрабатывать во всех операциях придется перехват клавиш.
а впечатления от ... ну Вы поняли...
Научили Навигатор показывать RTF-формат, сделали аж 2 пункта меню (в системном меню и в 'работе с данными')... и не сделали горячую клавишу на вызов этого добра.
Всем спасибо. |
|
|
Damir Участник - экстремал
Вступление в Клуб: 29.03.2013
|
Пт Июн 05, 2015 14:48   |
|
Полезность: Нет оценки
|
Damir пишет: |
Научили Навигатор показывать RTF-формат, сделали аж 2 пункта меню (в системном меню и в 'работе с данными')... и не сделали горячую клавишу на вызов этого добра.
|
На сегодняшний день решение такое (насобирал в этом же форуме)
в Клиент-скрипте
Код: | if lastControl is ButtonUserHelp then
set WshShell = CreateObject ("WScript.Shell")
WshShell.SendKeys "% {DOWN}{DOWN}{DOWN}{DOWN}{ENTER}"
end if |
|
|
|
Igorka Профи
Вступление в Клуб: 28.09.2007
|
Пт Июн 05, 2015 15:48   |
|
Полезность: Нет оценки
|
Цитата: | Как по нажатию кнопки вывести стандартный [комментарии к операции]? |
просто, как описано в документации "Комментирование пользовательской документации" |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|