| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		1q1 Участник
 
  Вступление в Клуб: 23.12.2009
  | 
		
			
				 Ср Мар 31, 2010 11:44   Вызов клиент скрипт из тела | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				В теле есть функция, от её выполнения зависет содержание формы.
 
В упрощённом варианте так:
 
 	  | Код: | 	 		  
 
if a=b then
 
    text3.visible = False --скрыть поле на форме
 
 | 	  
 
Подскажите, пожалуйста, как это реализовать? | 
			 
		  | 
	
	
		  | 
	
	
		ggrey Участник со стажем
 
  Вступление в Клуб: 01.10.2007
  | 
		
			
				 Ср Мар 31, 2010 12:59    | 
				     | 
			 
			
				Полезность: 1 
  | 
			 
			
				| Посмотрите примеры использования пакета CSMD | 
			 
		  | 
	
	
		  | 
	
	
		zinovjeva_n Участник - экстремал
 
  Вступление в Клуб: 15.10.2008
  | 
		
			
				 Ср Мар 31, 2010 12:59    | 
				     | 
			 
			
				Полезность: 1 
  | 
			 
			
				csmd.command( V_VB, 'text3.visible = False'); _________________ Coding for food | 
			 
		  | 
	
	
		  | 
	
	
		1q1 Участник
 
  Вступление в Клуб: 23.12.2009
  | 
		
			
				 Ср Мар 31, 2010 13:28    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Спасибо!
 
Я придумал способ через скрытую переменную. В теле присваиваю ей True, а потом в клиент скрипте проверяю значение...
 
Но так конечно намного лучше.   | 
			 
		  | 
	
	
		  | 
	
	
		ГлСП Профи
 
  Вступление в Клуб: 20.09.2007
  | 
		
			
				 Ср Мар 31, 2010 13:30    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				А ты загляни в библиотеку  csmd,  еще много нового узнаешь.    | 
			 
		  | 
	
	
		  | 
	
	
		1q1 Участник
 
  Вступление в Клуб: 23.12.2009
  | 
		
			
				 Ср Мар 31, 2010 13:31    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				| Уже изучаю)) | 
			 
		  | 
	
	
		  | 
	
	
		ГлСП Профи
 
  Вступление в Клуб: 20.09.2007
  | 
		
			
				 Ср Мар 31, 2010 14:20    | 
				     | 
			 
			
				Полезность: 3 
  | 
			 
			
				Вот на быструю руку накидал небольшую инструкцию
 
 
 
1. Установить   проверку  при смене контрола  в режим  "Сервер, Клиент"
 
2. Сделать переменную  "V_VB" типа Строка_32000
 
3. разместить на форме эту переменную и скрыть, и обозвать  V_VB
 
4. В клиент-скрипт прописать
 
 
 	  | Код: | 	 		  
 
Public Function Main(LastControl)
 
   Execute V_VB.Text
 
   V_VB.Text = ""
 
   Main = True 'Результат валидатора (True, False, NULL)   
 
End Function
 
 | 	  
 
5. В проверке добавляется пара строчек для иницилизации скрипта управления формой
 
 	  | Код: | 	 		  
 
   If p_message = 'DEFAULT' Then
 
 
      [CSMD].init_form(V_VB, &METHOD$CLASS, &METHOD$SNAME);
 
 | 	  
 
6. Для управления используется пакет csmd
 
 	  | Код: | 	 		  
 
      If this%state = 'FORM' Then
 
         [csmd].show(V_VB, 'P_DOCUM');
 
      Else
 
         [csmd].hide(V_VB, 'P_DOCUM');
 
      End If;
 
 | 	 
  | 
			 
		  | 
	
	
		  | 
	
	
		ssa774 Профи
 
  Вступление в Клуб: 30.11.2007
  | 
		
			
				 Чт Июн 17, 2010 13:30    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				А вот как избежать такой ситуации:
 
нажимаем на чекбокс, в обработчике вызывается pragma error(). и после этого курсор остается на этот же самом чекбоксе, куда ни ткни мышкой, все равно error получаем. как программно перекинуть на другой контрол? 
 
вот так не помогает    
 
 	  | Код: | 	 		  
 
...
 
if p_info = 'чекбокс' then
 
  if условие  then
 
    pragma error();
 
    p_info := 'другой контрол';
 
  end if;
 
end if;
 
...
 
 | 	 
  | 
			 
		  | 
	
	
		  | 
	
	
		Volod Эксперт
 
  Вступление в Клуб: 19.09.2007
  | 
		
			
				 Чт Июн 17, 2010 17:35    | 
				     | 
			 
			
				Полезность: 1 
  | 
			 
			
				| Через msgbox в клиент-скрипте. | 
			 
		  | 
	
	
		  | 
	
	
		ssa774 Профи
 
  Вступление в Клуб: 30.11.2007
  | 
		
			
				 Пт Июн 18, 2010 06:34    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				А почему вот так происходит:
 
В параметрах операции есть P1, ставим его на форму, ставим ему свойство - проверка введенного значение. все работает, все нормально.
 
А если P1 находится не в параметрах, а в переменных операции, то нажатие на него при установленном свойстве проверка введенного значения сбрасывает его в null. Как только убрали проверку введенного значения, все нормально. Есть какая-то разница в работе с параметрами и переменными? | 
			 
		  | 
	
	
		  | 
	
	
		ssa774 Профи
 
  Вступление в Клуб: 30.11.2007
  | 
		
			
				 Пт Июн 18, 2010 06:47    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | ssa774 пишет: | 	 		  А почему вот так происходит:
 
В параметрах операции есть P1, ставим его на форму, ставим ему свойство - проверка введенного значение. все работает, все нормально.
 
А если P1 находится не в параметрах, а в переменных операции, то нажатие на него при установленном свойстве проверка введенного значения сбрасывает его в null. Как только убрали проверку введенного значения, все нормально. Есть какая-то разница в работе с параметрами и переменными? | 	  
 
 
вопрос снят | 
			 
		  | 
	
	
		  | 
	
	
		 |