| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			RunOn у классов
			 
			
			Добрый день! 
		
		
		
		
		
		
			Итересует такая ситуация: первый класс выполняется на сервере (RunOn = server) и внутри себя вызывает второй класс, который выполняется на клиенте (RunOn = client). Где в итоге будет выполняться второй класс? Спасибо! 
				__________________ 
		
		
		
		
	Paul_ST  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			new произойдет на сервере. 
		
		
		
		
		
		
		
	затем будет вызван метод pack. упакованные параметры будут переданы на клиента. где будет вызван свой new и unpack. выполнение второго класса будет происходить на клиенте. затем при помощи pack/unpack результаты будут переданы обратно на сервер. см. best practice, паттерн pack/unpack  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Спасибо за ответ! 
		
		
		
		
		
		
			Т.е. RunOn не равный "Called from" - жёстко определяет место выполнения класса и не может нарушаться? 
				__________________ 
		
		
		
		
	Paul_ST  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			определяет жестко. 
		
		
		
		
		
		
		
	а вот насчет нарушаться... может. но точный условий - не знаю. например, если job вручную через F5, то он всегда будет выполняться на клиенте что бы ни было написано в модификаторе. для того, чтобы job запустить на сервере, его надо запускать через menuitem. наверное для классов тоже какая-нибудь подобная фигня есть. но это эксперементировать надо.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Не встречал, чтобы свойство RunOn у классов не учитывалось ядром. 
		
		
		
		
		
		
			С Job'ами ситуация ясная. Они всегда выполняются Called From, независимо от модификаторов. Поэтому, если вызвать их из интерефейса, они будут запускаться на клиенте. MenuItem позволяет регулировать, откуда будет вызываться Job. И еще одно (про паттерн pack/unpack): Методы pack и unpack никогда не будут вызваться ядром автоматически. Их можно использовать для того, чтобы перебросить объект с клиента на сервер или наоборот, но для этого из надо вызывать явно. Также их можно использовать в составе более общего паттерна - работа с SysLastValue. 
				__________________ 
		
		
		
		
	Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Спасибо. Значит, я ошибался.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 |