| 
			
			 | 
		#1 | 
| 
			
			 1C 
		
			
	 | 
	
	
	
		
		
			
			
			TCP клиент в Axapta
			 
			
			Подскажите, плз, как реализовать 
		
		
		
		
		
		
		
	Лучше всего кусок кода :-) Есть компонента на .NET, но как ее использовать не знаю... Использую ее в 1С...  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Боец 
		
			
	 | 
	
	
	
		
		
		
		 
			
			см. пример 
		
		
		
		
		
		
		
	\Classes\Global\str2IntOk  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 1C 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Боец 
		
			
	 | 
	
	
	
		
		
		
		 
			
			То ли вопроса не понял, то ли шутку не оценил  
		
		
		
		
		
		
		
	![]() Там используется "компонента" regex, а точнее .net класс Regex: http://msdn.microsoft.com/en-us/libr...ons.regex.aspx  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 MCITP 
		
			
	 | 
	
	
	
		
		
			
			 Цитата: 
	
		
			Сообщение от DSPIC
			 
 
			То ли вопроса не понял, то ли шутку не оценил  
		
	![]() Там используется "компонента" regex, а точнее .net класс Regex: http://msdn.microsoft.com/en-us/libr...ons.regex.aspx ![]() Просто нужно было уточнить, что смотреть нужно на 4-ке, а то в 3-ке код этого метода совсем другой. 4: X++: static boolean str2IntOk(str 100 _str) { boolean retval; InteropPermission permission; System.Text.RegularExpressions.Regex re; ; permission = new InteropPermission(InteropKind::ClrInterop); permission.assert(); // BP deviation documented re = new System.Text.RegularExpressions.Regex('^\\s*[+\\-]?\\s*[0-9]+\\s*$'); //return ClrInterop::getAnyTypeForObject(re.IsMatch(_str)); // BP deviation documented retval = CLRInterop::getAnyTypeForObject(re.IsMatch(_str)); return retval; } X++: static boolean str2IntOk(str 100 _str) { return (! strnFind(_str, '0123456789', 1, 999)); } 
				__________________ 
		
		
		
		
	Zhirenkov Vitaly  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: aidsua (1). | |
| 
			
			 | 
		#6 | 
| 
			
			 1C 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 1C 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 1C 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Не... тугодум я... не могу понять как сделать такое: 
		
		
		
		
		
		
		
	X++: ("AddIn.TCP"); TCP = ("AddIn.TCP"); Port = 6700; IP = TCP.GetIPAddress(); TCP.Send(IP, Port, "22Сообщение");  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 MCTS 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Если у вас тройка, то так легко как в четверке сборки использовать не получится. Заюзайте Regasm.exe - Assembly Registration Tool. Потом можно будет использовать сборку через COM
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Боец 
		
			
	 | 
	
	
	
		
		
		
		 
			
			com = new COM('{XXXXXX-XXXX-XXXX-XXXXXX}');  
		
		
		
		
		
		
		
	или com = new COM('AddIn.TCP'); ?  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 1C 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
но я все равно никак не могу понять как его "запустить, чтобы взлетело" :-(  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 1C 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Боец 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			COM   myCom = new COM('AddIn.TCP'); 
; myCom .send('172.17.7.161', 6700, '22Сообщение');  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 1C 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А этот AddIn.TCP случайно не по технологии "внешних компонет" 1С сделан? Там же вроде не совсем автономные COM объекты.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 1C 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Написан на VB.NET, зареген regasm-ом... сейчас попробу. написать без использования "одинэсовских" вставок...  | 
| 
	
 | 
| 
			
			 | 
		#17 | 
| 
			
			 1C 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ниччего не получается... а есть еще какие-либо методы отправки сообщения на порт??
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			В точкаNet работв с сокетами собрана в сборке System.Net.Sockets. Попробуй поискать примеры на VB.NET этой сборки. Из VB в аксаптовский код уже будет несложно изменить (в DAX4)
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#19 | 
| 
			
			 1C 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#20 | 
| 
			
			 1C 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А вот как можно такое в тройке сделать (с использованием того же MSWinsock.Winsock) 
		
		
		
		
		
		
		
	X++: dim    winsock
dim bConnected
    bConnected=false
sub winsock_Connect
    bConnected=true
end sub
Set winsock=WScript.CreateObject("MSWinsock.Winsock")
WScript.ConnectObject winsock,"winsock_"
winsock.Connect "172.17.7.161", 6700
do while not (bConnected)
    WScript.Sleep 100
Loop
winsock.SendData "12" | 
| 
	
 |