CftClub.ru
Клуб специалистов ЦФТ-Банк

Комментарий к операции - как его вывести по кнопке

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение
Предыдущая тема :: Следующая тема  
Автор Сообщение
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    Ответить с цитатой
Полезность: Нет оценки
Цитата:
Как по нажатию кнопки вывести стандартный [комментарии к операции]?

просто, как описано в документации "Комментирование пользовательской документации"
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru