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

Контролы на форме

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение
Предыдущая тема :: Следующая тема  
Автор Сообщение
.СергейПанин
Участник - экстремал


Вступление в Клуб: 24.06.2008
СообщениеПт Июл 23, 2010 08:56   Контролы на форме Ответить с цитатой
Полезность: Нет оценки
коллеги время суток доброе, подстажите советом.
можно ли обнулить значения определенных элементов на форме не перечисляя из по имени, что то типа
Код:

For Each Ctrl in FORM1.Controls
  Ctrl.Enabled = False
Next

только вместо Ctrl.Enabled = False
вбабахать что то типа Ctrl.Value = null
prog
Эксперт


Вступление в Клуб: 03.03.2008
СообщениеПт Июл 23, 2010 11:06    Ответить с цитатой
Полезность: Нет оценки
Код:

Form1.Caption = "Режим просмотра"
Form1.ScriptDisableForm(Form1)                  
CANCEL.Enabled = true
prog
Эксперт


Вступление в Клуб: 03.03.2008
СообщениеПт Июл 23, 2010 11:24    Ответить с цитатой
Полезность: Нет оценки
не внимательно вопрос прочитал Sad
Можно попробовать собирать скрипт запросом типа
Код:
select VALIDATE_NAME||'.Value = null' from CONTROLS where METH_ID = '785083369' and control = 'TEXT'

а затем его выполнять


Последний раз редактировалось: prog (Пт Июл 23, 2010 12:06), всего редактировалось 1 раз
ГлСП
Профи


Вступление в Клуб: 20.09.2007
СообщениеПт Июл 23, 2010 11:58    Ответить с цитатой
Полезность: Нет оценки
Посмотри библиотеку CSMD, конкретно процедуру fill_tbl, там расписано как добыть все контролы на форме, а потом уже традиционным методом генерируешь VBScript и потом в форме запускаешь его. Хотя, самой библиотеки должно быть достаточно, чтобы велосипед не изобретать .

Код:

/*--------------------------------------------------------------------------------------*/
-- Заполнение таблицы контролов экранной формы tbl для метода с id=form_id
procedure fill_tbl is
i integer;
val_n varchar2(64);
par_n varchar2(64);
-- cont_n varchar2(64);
type ctl is
   select c(c.Validate_name : v,
          c.Qualifier : q,
          c.control : c)
   in controls%rowtype   where c.meth_id=Form_id;
begin
   i:=0;
   for v in cursor ctl
   loop   val_n :=v.v; par_n :=v.q;
/*         loop
         i:=utils.hash_value(par_n);
         if not tbl.exists(i) then exit;
         end if;
      end if;*/
      tbl(i).v_name:=val_n; tbl(i).p_name:=par_n;
--         debug_pipe(i||' '||tbl(i).v_name||' '||tbl(i).p_name);
      i:=i+1;
   end loop;
end;



Вот ссылочка, где описано, как запускасть скрипты на форме
.СергейПанин
Участник - экстремал


Вступление в Клуб: 24.06.2008
СообщениеПт Июл 23, 2010 16:32    Ответить с цитатой
Полезность: Нет оценки
Задачка чуть усложнилась Smile
контролы на форме перебираю.. все отлично..
а можно ли таким же макаром перебирать переменные и параметры операций и делать их в NULL ?
prog
Эксперт


Вступление в Клуб: 03.03.2008
СообщениеПт Июл 23, 2010 16:42    Ответить с цитатой
Полезность: Нет оценки
В библиотеке SET_VARS есть макрос &set_vars. Он используется для для установки глобальных переменных в операции имеющей экранную форму.
По аналогии решаешь свою задачу. Кратко это выглядит так:
1) некая функция возвращает кусок PL/PLUS кода
2) объявляется макрос pragma macro(xxx,'Z$YOU_OPER.gettext',execute);
3) в нужном месте макрос вызывается &xxx
.СергейПанин
Участник - экстремал


Вступление в Клуб: 24.06.2008
СообщениеПт Июл 23, 2010 16:47    Ответить с цитатой
Полезность: Нет оценки
prog пишет:
установки глобальных переменных


гы-гы-гы открываю set_vars и что вижу
--Ограничение: НЕ ИСПОЛЬЗОВАТЬ МАКРОСЫ В ОПЕРАЦИЯХ-РАСШИРЕНИЯХ! Smile Smile Smile
ГлСП
Профи


Вступление в Клуб: 20.09.2007
СообщениеПн Июл 26, 2010 10:46    Ответить с цитатой
Полезность: Нет оценки
DC_Sergey пишет:
Задачка чуть усложнилась Smile
контролы на форме перебираю.. все отлично..
а можно ли таким же макаром перебирать переменные и параметры операций и делать их в NULL ?


Параметры, наверно, можно выдернуть из системных таблиц ибсо, а вот на счет списка переменных, то это уже наверно фантастика. Тогда уже проще выдергивать текст операции, и парсить его.
prog
Эксперт


Вступление в Клуб: 03.03.2008
СообщениеПн Июл 26, 2010 12:45    Ответить с цитатой
Полезность: Нет оценки
ГлСП пишет:
DC_Sergey пишет:
Задачка чуть усложнилась Smile
контролы на форме перебираю.. все отлично..
а можно ли таким же макаром перебирать переменные и параметры операций и делать их в NULL ?


Параметры, наверно, можно выдернуть из системных таблиц ибсо, а вот на счет списка переменных, то это уже наверно фантастика. Тогда уже проще выдергивать текст операции, и парсить его.

Вероятно, здесь речь шла о переменных, объявляемых на закладке "Переменные", при редактировании операции...
ГлСП
Профи


Вступление в Клуб: 20.09.2007
СообщениеВт Июл 27, 2010 04:47    Ответить с цитатой
Полезность: Нет оценки
prog пишет:
ГлСП пишет:
DC_Sergey пишет:
Задачка чуть усложнилась Smile
контролы на форме перебираю.. все отлично..
а можно ли таким же макаром перебирать переменные и параметры операций и делать их в NULL ?


Параметры, наверно, можно выдернуть из системных таблиц ибсо, а вот на счет списка переменных, то это уже наверно фантастика. Тогда уже проще выдергивать текст операции, и парсить его.

Вероятно, здесь речь шла о переменных, объявляемых на закладке "Переменные", при редактировании операции...


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

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