| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		yaffil Профи
 
  Вступление в Клуб: 18.08.2011
  | 
		
			
				 Вт Сен 06, 2016 14:07   Завалидировать Параметр | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Как в блоке Проверки завалидировать (уход с неё контрола) параметр операции по имени?
 
 
Так не работает
 
 	  | Код: | 	 		  |       if P_INFO = '%PARAM%.P_MSG' then  | 	  
 
 
Но если перенести P_MSG в переменные, то так работает
 
 	  | Код: | 	 		  |       if P_INFO = '%VAR%.P_MSG' then  | 	 
  | 
			 
		  | 
	
	
		  | 
	
	
		prog Эксперт
 
  Вступление в Клуб: 03.03.2008
  | 
		
			
				 Вт Сен 06, 2016 14:46    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | Код: | 	 		  | if P_INFO = 'P_MSG' then | 	 
  | 
			 
		  | 
	
	
		  | 
	
	
		yaffil Профи
 
  Вступление в Клуб: 18.08.2011
  | 
		
			
				 Вт Сен 06, 2016 15:06    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Так тоже пробовал - не работает. Может в Доп Свойствах надо что подёргать? Секцию проверки Сервер/клиент.
 
Никогда не знал для чего оно   | 
			 
		  | 
	
	
		  | 
	
	
		Матвеев Евгений Профи
 
  Вступление в Клуб: 31.01.2012
  | 
		
			
				 Вт Сен 06, 2016 15:25    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Поставить "при смене элемента управления" "Клиент-Сервер"
 
Отловить событие в "Клиент-скрипт"
 
В VBA Help уточнить наименование соответствующего события
 
 
 	  | Код: | 	 		  
 
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
 
  If TextBox1 = "" Then TextBox1 = "Введите значение"
 
End Sub
 
 | 	  
 
Там много чего можно отлавливать, помнится там реализовывали полноценную потоковую печать | 
			 
		  | 
	
	
		  | 
	
	
		OlegFB Участник - экстремал
 
  Вступление в Клуб: 11.07.2007
  | 
		
			
				 Вт Сен 06, 2016 15:32    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | yaffil пишет: | 	 		  Так тоже пробовал - не работает. Может в Доп Свойствах надо что подёргать? Секцию проверки Сервер/клиент.
 
Никогда не знал для чего оно   | 	  
 
 
параметр Сервер/клиент установить в обоих контролах.
 
На экранной форме  в списке элементов для данного элемента установить свойство CheckValidate=True
 
 
Всё | 
			 
		  | 
	
	
		  | 
	
	
		yaffil Профи
 
  Вступление в Клуб: 18.08.2011
  | 
		
			
				 Вт Сен 06, 2016 15:32    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | Матвеев Евгений пишет: | 	 		  Поставить "при смене элемента управления" "Клиент-Сервер"
 
Отловить событие в "Клиент-скрипт"
 
 | 	  
 
 
А без клиент скрипта никак? Если перенести из параметров в "переменные" P_MSG же работает из секции  проверки по коду P_INFO= ,без всякого клиент скрипта | 
			 
		  | 
	
	
		  | 
	
	
		Матвеев Евгений Профи
 
  Вступление в Клуб: 31.01.2012
  | 
		
			
				 Вт Сен 06, 2016 15:35    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | yaffil пишет: | 	 		   	  | Матвеев Евгений пишет: | 	 		  Поставить "при смене элемента управления" "Клиент-Сервер"
 
Отловить событие в "Клиент-скрипт"
 
 | 	  
 
 
А без клиент скрипта никак? Если перенести из параметров в "переменные" P_MSG же работает из секции  проверки по коду P_INFO= ,без всякого клиент скрипта | 	  
 
 
Без клиент скрипта я не встречал, ... но... можно в клиент скрипте флаг взводить, а потом в основной валидации по событию поднятия флага свою обработочку вставить...
 
 
Если интересно, могу в загашниках посмотреть как это делали...давно  было, года полтора назад | 
			 
		  | 
	
	
		  | 
	
	
		yaffil Профи
 
  Вступление в Клуб: 18.08.2011
  | 
		
			
				 Вт Сен 06, 2016 15:43    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | OlegFB пишет: | 	 		  
 
параметр Сервер/клиент установить в обоих контролах.
 
На экранной форме  в списке элементов для данного элемента установить свойство CheckValidate=True
 
 
Всё | 	  
 
 
Поставил, CheckValidate стоит
 
if P_INFO = '%PARAM%.P_MSG' then 
 
и if P_INFO = 'P_MSG' then
 
и if P_INFO = P_MSG then
 
 
не отрабатывают | 
			 
		  | 
	
	
		  | 
	
	
		OlegFB Участник - экстремал
 
  Вступление в Клуб: 11.07.2007
  | 
		
			
				 Вт Сен 06, 2016 15:48    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | yaffil пишет: | 	 		   	  | OlegFB пишет: | 	 		  
 
параметр Сервер/клиент установить в обоих контролах.
 
На экранной форме  в списке элементов для данного элемента установить свойство CheckValidate=True
 
 
Всё | 	  
 
 
Поставил, CheckValidate стоит
 
if P_INFO = '%PARAM%.P_MSG' then 
 
и if P_INFO = 'P_MSG' then
 
и if P_INFO = P_MSG then
 
 
не отрабатывают | 	  
 
 
в навигатор не перезаходили? хотя бы выполните "Управление"-"Выгрузить операции и представления"
 
 
Любые изменнения внесённые в клиент-скрипт или в форме операции вы увидите только после выполнения описанной выше операции. Навигатор кэширует формы при первом их вызове и больше не перечитывает. | 
			 
		  | 
	
	
		  | 
	
	
		OlegFB Участник - экстремал
 
  Вступление в Клуб: 11.07.2007
  | 
		
			
				 Вт Сен 06, 2016 15:49    | 
				     | 
			 
			
				Полезность: 2 
  | 
			 
			
				 	  | OlegFB пишет: | 	 		   	  | yaffil пишет: | 	 		   	  | OlegFB пишет: | 	 		  
 
параметр Сервер/клиент установить в обоих контролах.
 
На экранной форме  в списке элементов для данного элемента установить свойство CheckValidate=True
 
 
Всё | 	  
 
 
Поставил, CheckValidate стоит
 
if P_INFO = '%PARAM%.P_MSG' then 
 
и if P_INFO = 'P_MSG' then
 
и if P_INFO = P_MSG then
 
 
не отрабатывают | 	  
 
 
в навигатор не перезаходили? хотя бы выполните "Управление"-"Выгрузить операции и представления"
 
 
Любые изменнения внесённые в клиент-скрипт или в форме операции вы увидите только после выполнения описанной выше операции. Навигатор кэширует формы при первом их вызове и больше не перечитывает. | 	  
 
 
if P_INFO = 'P_MSG' then  ---- этот вариант всяко должен заработать. | 
			 
		  | 
	
	
		  | 
	
	
		yaffil Профи
 
  Вступление в Клуб: 18.08.2011
  | 
		
			
				 Вт Сен 06, 2016 16:03    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | OlegFB пишет: | 	 		  
 
if P_INFO = 'P_MSG' then  ---- этот вариант всяко должен заработать. | 	  
 
 
Спасибо, заработало. | 
			 
		  | 
	
	
		  | 
	
	
		yaffil Профи
 
  Вступление в Клуб: 18.08.2011
  | 
		
			
				 Вт Сен 06, 2016 17:08    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Чтобы не плодить спрошу тут:
 
 
А как в varchar(32000) на ЭФ вставить Ентер.
 
Нажимаю Ентер - переход с контрола. | 
			 
		  | 
	
	
		  | 
	
	
		OlegFB Участник - экстремал
 
  Вступление в Клуб: 11.07.2007
  | 
		
			
				 Вт Сен 06, 2016 17:37    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | yaffil пишет: | 	 		  Чтобы не плодить спрошу тут:
 
 
А как в varchar(32000) на ЭФ вставить Ентер.
 
Нажимаю Ентер - переход с контрола. | 	  
 
 
Лучше такое поле заводить как мемо.
 
Но, попробуйте комбинацию Alt+Enter, Ctrl+Enter | 
			 
		  | 
	
	
		  | 
	
	
		Эмиралька Эксперт
 
  Вступление в Клуб: 09.11.2015
  | 
		
			
				 Ср Сен 07, 2016 12:47    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | yaffil пишет: | 	 		   	  | OlegFB пишет: | 	 		  
 
if P_INFO = 'P_MSG' then  ---- этот вариант всяко должен заработать. | 	  
 
 
Спасибо, заработало. | 	  
 
Лично мне всегда помогало вот это:
 
 	  | Код: | 	 		  begin
 
debug_pipe('---',0);
 
debug_pipe(p_message,0);
 
debug_pipe(p_info,0);
 
end; | 	 
  | 
			 
		  | 
	
	
		  | 
	
	
		Эмиралька Эксперт
 
  Вступление в Клуб: 09.11.2015
  | 
		
			
				 Ср Сен 07, 2016 12:48    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				 	  | yaffil пишет: | 	 		  Чтобы не плодить спрошу тут:
 
 
А как в varchar(32000) на ЭФ вставить Ентер.
 
Нажимаю Ентер - переход с контрола. | 	  
 
 
Встаёшь на контрол в редакторе форм, жмёшь F5, будет мемо.
 
В мемо ENTER работает. | 
			 
		  | 
	
	
		  | 
	
	
		 |