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

Вопрос по клиент-скрипту

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
garsia
Участник со стажем


Вступление в Клуб: 01.11.2012
СообщениеЧт Ноя 08, 2012 16:36   Вопрос по клиент-скрипту Ответить с цитатой
Полезность: Нет оценки
В принципе, из клиент-скрипта можно увидеть (получить значение, изменить) переменные или параметры операции? Как это сделать?
Мучаюсь с синтаксисом...

P.S. Просьба не ржать ))
Вопросов у меня много, а времени на поиски ответов уходит столько...
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеЧт Ноя 08, 2012 16:51    Ответить с цитатой
Полезность: Нет оценки
ТБП Материальные счета

Ведомость ОС по подразделениям и МОЛ
VEDOMOST_DEP_MOL

Public Function Main(LastControl)

If LastControl Is OK And V_DEST.Text <> "" Then
DO
Execute V_DEST.Text
Call Form1.ScriptServerValidate (OK, "OK")
Loop While V_DEST.Text <> ""
End If


V_MOL_ROW = V_TABLE_MOL.IndexByRow(V_TABLE_MOL.Row)
V_DEP_ROW = V_TABLE_DEPT.IndexByRow(V_TABLE_DEPT.Row)

Main = True 'Результат валидатора (True, False, NULL)
End Function
kai
Профи


Вступление в Клуб: 16.08.2012
СообщениеПт Ноя 09, 2012 05:22   документация о клиент-скипте Ответить с цитатой
Полезность: Нет оценки
Есть файл annex4.chm.
Называется Приложение 4. Создание клиент-скрипта

В нём в параграфе "Таблица свойств, событий и методов, доступных из клиент-скрипта > Таблица свойств, событий и методов > Text" описано:

Синтаксис
Control.Text As String

Описание Для контролов типа "Текстовое поле", "Дата", "Время", "Мемо-поле", "Зависимость" и "Числовое поле" свойство устанавливает и возвращает значение.
Свойство также имеет смысл для контролов типа "Логика", "Вариант", "Коллекция", "Ссылка", "Массив ссылок", "Кнопка OLE", "Кнопка", "Поле со списком"
garsia
Участник со стажем


Вступление в Клуб: 01.11.2012
СообщениеПт Ноя 09, 2012 07:50    Ответить с цитатой
Полезность: Нет оценки
Не могу понять в чем засада
Смотрел эту операцию

vtar пишет:
ТБП Материальные счета

Ведомость ОС по подразделениям и МОЛ
VEDOMOST_DEP_MOL

Public Function Main(LastControl)

If LastControl Is OK And V_DEST.Text <> "" Then
DO
Execute V_DEST.Text
Call Form1.ScriptServerValidate (OK, "OK")
Loop While V_DEST.Text <> ""
End If


V_MOL_ROW = V_TABLE_MOL.IndexByRow(V_TABLE_MOL.Row)
V_DEP_ROW = V_TABLE_DEPT.IndexByRow(V_TABLE_DEPT.Row)

Main = True 'Результат валидатора (True, False, NULL)
End Function


В ней определена переменная V_DEP_ROW, на закладке "Операция-Свойства-Переменные", к ней обращается клиент-скрипт.

У меня то же самое, я кучу вариантов перепробовал
Есть строковый параметр P_NAME - при вызове не пустой
Есть переменная V_NAME
Есть глобальная переменная VNAME

Блок "Проверка"

Код:
begin
--   If  P_MESSAGE = 'VALIDATE' and P_INFO = '%PLPCALL%' then
      V_NAME := P_name;
      VNAME := P_name;
--   End If;
End;


В скрипте
Код:

MsgBox VNAME
VNAME="123456"
MsgBox VNAME


Варианты:
MsgBox VNAME
MsgBox V_NAME
MsgBox P_NAME

При вызове скрипта первый msbox пустой, второй - 123456
Как при загрузке формы, так и при последующих нажатиях кнопки
Всегда, что бы я не делал.

Что я делаю не так?
Или время жизни переменных в скрипте только пока он отрабатывает?
garsia
Участник со стажем


Вступление в Клуб: 01.11.2012
СообщениеПт Ноя 09, 2012 08:07   Re: Вопрос по клиент-скрипту Ответить с цитатой
Полезность: Нет оценки
Все! Допер! Заработало ))
Спасибо всем ))
Nick
Участник со стажем


Вступление в Клуб: 07.11.2012
СообщениеПт Ноя 09, 2012 08:08    Ответить с цитатой
Полезность: Нет оценки
garsia пишет:
Не могу понять в чем засада
Смотрел эту операцию

vtar пишет:
ТБП Материальные счета

Ведомость ОС по подразделениям и МОЛ
VEDOMOST_DEP_MOL

Public Function Main(LastControl)

If LastControl Is OK And V_DEST.Text <> "" Then
DO
Execute V_DEST.Text
Call Form1.ScriptServerValidate (OK, "OK")
Loop While V_DEST.Text <> ""
End If


V_MOL_ROW = V_TABLE_MOL.IndexByRow(V_TABLE_MOL.Row)
V_DEP_ROW = V_TABLE_DEPT.IndexByRow(V_TABLE_DEPT.Row)

Main = True 'Результат валидатора (True, False, NULL)
End Function


В ней определена переменная V_DEP_ROW, на закладке "Операция-Свойства-Переменные", к ней обращается клиент-скрипт.

У меня то же самое, я кучу вариантов перепробовал
Есть строковый параметр P_NAME - при вызове не пустой
Есть переменная V_NAME
Есть глобальная переменная VNAME

Блок "Проверка"

Код:
begin
--   If  P_MESSAGE = 'VALIDATE' and P_INFO = '%PLPCALL%' then
      V_NAME := P_name;
      VNAME := P_name;
--   End If;
End;


В скрипте
Код:

MsgBox VNAME
VNAME="123456"
MsgBox VNAME


Варианты:
MsgBox VNAME
MsgBox V_NAME
MsgBox P_NAME

При вызове скрипта первый msbox пустой, второй - 123456
Как при загрузке формы, так и при последующих нажатиях кнопки
Всегда, что бы я не делал.

Что я делаю не так?
Или время жизни переменных в скрипте только пока он отрабатывает?

на то она и переменная, параметры остаются, это да. Где ты инициализируешь VNAME? Какая настройка стоит в Доп.свойства->Проверки?
garsia
Участник со стажем


Вступление в Клуб: 01.11.2012
СообщениеПт Ноя 09, 2012 08:26    Ответить с цитатой
Полезность: Нет оценки
Скрипт обращается к элементам формы, а не к переменным.
Создаем на форме скрытые поля, связанные с переменными или параметрами, и в скрипте обращаемся к ним по Идентификатор.Value

Может еще какому-нибудь новичку пригодится ))
Nick
Участник со стажем


Вступление в Клуб: 07.11.2012
СообщениеПт Ноя 09, 2012 08:29    Ответить с цитатой
Полезность: Нет оценки
garsia пишет:
Скрипт обращается к элементам формы, а не к переменным.
Создаем на форме скрытые поля, связанные с переменными или параметрами, и в скрипте обращаемся к ним по Идентификатор.Value

Может еще какому-нибудь новичку пригодится ))

сначала написал тебе обратиться по полю value потом посмотрел, что это переменная и удалил ответ Rolling Eyes что и требовалось доказать, значения сохраняются только на форме
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

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