Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
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 потом посмотрел, что это переменная и удалил ответ что и требовалось доказать, значения сохраняются только на форме |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|