Тема: AxaptaCOMConnector
Показать сообщение отдельно
Старый 02.06.2005, 12:03   #1  
Yari is offline
Yari
Участник
 
6 / 10 (1) +
Регистрация: 08.11.2004
Адрес: Odessa
AxaptaCOMConnector
Доброго времени суток.

Решил попробовать взаимодействие с Аксаптой через AxaptaCOMConnector. Зарегистрировал COM+ компонент, написал следующий код вызова:
Код:
 
axapta.Logon(	AxComConnTest.user, 
		AxComConnTest.serverManager, 
		AxComConnTest.objectServer, 
		AxComConnTest.configuration);
axapta.Refresh();
			
int i;
AxaptaCOMConnector.IAxaptaObject axaptaObj;
AxaptaCOMConnector.IAxaptaContainer cont;

axaptaObj = axapta.CreateObject("AxComConnTest", null, null, null, null, null, null);
cont = (IAxaptaContainer)axaptaObj.Call("getStockQtyCont", "Бумага", null, null, null, null, null);
for(i=0; i< cont.Length(); i++)
	Console.WriteLine(" {0}: {1}", i+1, cont.Peek(i+1));
axapta.Logoff();
Этот код вызывает статический метод AxComConnTest::getStockQtyCont(ItemId itemId), который запрашивает запасы в наличии по заданной номенклатуре.

Столкнулся со следующей проблемой. Первый запуск проходит нормально, данные возвращаются. При повторном запуске возвращаются нули. Если сделать shut down COM+ компоненты, то все повторяется, первый запуск срабатывает, последующие - нет.

В лог событий попадает следующее сообщение:
"Axapta COM Connector Session 1.
SQL diagnostics: Использовать обнаруженный протокол SQL 's' не рекомендуется в многозадачном режиме Axapta."

Может кто-то сталкивался с подобной проблемой, подскажите ,пожалуйста, в чем дело?