| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			ошибка на logon comconnector'а
			 
			
			на строке  
		
		
		
			Axapta.Logon2 "MyUser", "MyPassword", , , , , "MyProfile" возникает ошибка (см. атач) диспетчера ODBC а том, что связь с MS SQL сервером уже используется может кто знает как лечить? thx  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А в настройках Business Connector зарегистрил как COM or DCOM or COM+, если не зарегистрить то может ругаться и так вы сказали. 
		
		
		
		
		
		
		
	>> (см. атач) диспетчера ODBC --? и где же  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			уточнение
			 
			
			Законектился... 
		
		
		
			теперь пишет ошибку Run-time error '-2147213251 (8004203d)': Ошибка времени выполнения. : Object Объект не имеет метода 'name'. Трассировка стека: \Classes\Object\name \Classes\SysSetupFromRun\new - line 10 \Classes\ClassFactorv\formRunClassOnClient - line 5  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Параметры в вызове поставь и должно быть тебе счастье , пример на *.vbs 
		
		
		
		
		
		
		
	Set Axapta = CreateObject("AxaptaCOMConnector.Axapta") Можно так сделать Axapta.Logon2 "admin","MY_PASSWOD","dat","ru","","DBFULL","test" или Axapta.Logon2 "admin","","dat","ru","","DBFULL","test" можно и так Axapta.Logon "admin","DBFULL","","test"  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			у меня уже коннектится нормально 
		
		
		
		
		
		
		
	при вызове функции Axapta.CallStaticClassMethod "MyClass", "RunForm" где RunForm - static метод класса, который отображает форму на экране  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			запущена аксапта (клиент) или не запущена, зарегистрирован или нет axapta business connector - все одну и ту же ошибку выдает (см. предыдущее сообщение)
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			нельзя извне запустить форму Аксапты, даже скрытую. Остальное - все что хошь  
		
		
		
		
		
		
		
	 
		 | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			т.е. нельзя сделать следующее: 
		
		
		
		
		
		
		
	на клиентской машине запущена аксапта и эксель в экселе макрос через com connector вызывает static метод класса, который в аксапте отображает нужную форму это можно сделать?  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			1. Запущенные сессии Аксапты через COM и не через COM - разные (см Администрирование-Активные пользователи) 
		
		
		
		
		
		
		
	2. (Следствие) Запустить форму - как описано в задачке - нельзя. Единственное, что можно - поиграться с WinApi и нужное окно активизировать. Но для этого форма д.б. запущена  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			мне не обязательно чтобы окно с формой становилось активным 
		
		
		
		
		
		
		
	я сам могу переключится alt tab'ом главное чтобы внутри аксапты запустилась нужная мне форма  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			понял. т.е. фактически сессии разные. 
		
		
		
		
		
		
		
	а как нить повлиять на уже запущенную сессию можно? т.е. послать ей сигнал - запустить такую-то форму...  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Теоретически - наверное можно. Идея такова - при запуске аксапты запускается некий класс который сканирует некую табличку (табличка не должны кешироваться). Если в табличке изменилась запись - то класс запускает форму. Запись должна изменяться извне. 
		
		
		
		
		
		
		
	Но это изврат. Ибо во-первых, скажется на производительности, во-вторых трудоемкость сего исследования несопоставима с убеждением пользователя проделать сие самостоятельно (все-таки Аксапта - это система, а не среда разработки). Стандартно, используя минимальные трудозатраты этого сделать нельзя.  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			а в аксапте есть что-то аналогичное unix'овому IPC (inter process communications - межпроцессное взаимодействие) 
		
		
		
		
		
		
		
	семафоры, очереди сообщений или еще что?  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Соучастник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Forms/Tutorial_Battleship - хороший пример реализации взаимодействия между сессиями. 
		
		
		
		
		
		
			Forms/Tutorial_Thread - пример того, как запустить фоновый процесс. Classes/Application/startUpPost - инициализируйте запуск фонового процесса. На производительность периодического фонового select-a(который, я так понял нужно запускать, только когда пользователь меняет фокус с клиентского приложения Axapta на 3-rd party) по маленькой индексированной табличке(число записей не превышает кол-во активных сессий) не снизит производительность системы. 
				__________________ 
		
		
		
		
	View Anton Soldatov's LinkedIn profile  | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			По большому счету нет. Есть класс \System Documentation\Classes\Thread, который позволяет запускать несколько ветвей. Но это внутри одной аксапты. Документации на него нет (или по крайней мере я не видел). И это появилось только в 3.0 - т.е. возможно сыроватое. 
		
		
		
		
		
		
		
	Поэтому проще сказать - что нет.  | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			уже опередили  
		
		
		
		
		
		
		
	 ... Ну значит я заблуждался  
		 | 
| 
	
 | 
| 
			
			 | 
		#17 | 
| 
			
			 Соучастник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			в остутствии семафоров не заблуждались, в морском бое все взаимодействие через таблицу, как вы и говорили. 
		
		
		
		
		
		
			а про целесообразность - работа на день-два. зато для пользователя - "линки" в ячейках экселя к нужным формам(и даже записям). по-моему идея имеет право на жизнь. правда если поьзователей много и у каждого COM клиенты - это дополнительные пользователи, что довольно дороговато. но это уже другой вопрос. это скорее делают для руководства. 
				__________________ 
		
		
		
		
	View Anton Soldatov's LinkedIn profile  | 
| 
	
 |