| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			С# аппликация читает данные с Аксапты. Необходимо получить только данные которые изменились за последний день. Подключил к таблице modifiedDateTime. Кто нибудь можеть помочь - как писать Query для получения данных??? 
		
		
		
		
		
		
		
	axRecord.ExecuteStmt("select * from %1") - Все нормально axRecord.ExecuteStmt("select * from %1 where %1.modifieddatetime > '" + DateTime.Now.AddDays(-1) + '") - не работает (пробовал екпериментировать с форматом - никакого результата). Буду весьма благодарен за помощь.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 ---------------- 
		
			
	 | 
	
	
	
		
		
		
		 
			
			"никакого результата" - это не возвращаются записи или получается ошибка? 
		
		
		
		
		
		
		
	а на SQL-сервер какой запрос в результате уходит? а после "екпериментировать с форматом"?  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			"никакого результата" - это получаются ошибки.  
		
		
		
		
		
		
		
	Ошибки типа: Unable to compile "static void ComExecuteStmt(MDCategory axTbl_0) { select * from axTbl_0 where axTbl_0.modifieddatetime > 6/23/2010 10:25:50 AM;} ".  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Всем спасибо - вопрос решен!
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Ищущий знания... 
		
			
	 | 
	
	
	
		
		
		
		 
			
			каким способом? в чем причина? поделитесь если не секрет  
		
		
		
		
		
		
			 
		
				__________________ 
		
		
		
		
	"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Причина конечно же в форматах. Надо было писать что-то такое: 
		
		
		
		
		
		
		
	axRecord.ExecuteStmt("select forupdate * from %1 where %1.modifieddatetime > str2datetime('" + dt.ToString() + "', 213)");  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: lev (2). | |
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			У меня похожая ситуция ... только со string-ами ...  
		
		
		
		
		
		
		
	X++: axInventTable.ExecuteStmt(String.Format("select ItemName from InventTable where InventTable.ItemId == '%1'", _ItemId)); | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Ищущий знания... 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
X++: axInventTable.ExecuteStmt(String.Format('select ItemName from InventTable where InventTable.ItemId == "%1"', _ItemId));
				__________________ 
		
		
		
		
	"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Извините за offtop, но не могу удержаться. Мне кажется не нужно программировать аксапту во внешней системе. Много лишних усилий, да и код получается не очень читабельным. На мой взгляд, лучше создать класс в AX, сделать в нем методы, которые будут принимать нужные параметры, и из внешней системы с помощью BC "дёргать" этот класс.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: gl00mie (1), kornix (1). | |
| 
			
			 | 
		#10 | 
| 
			
			 MCP 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Абсолютно согласен со _scorp_!  
		
		
		
		
		
		
		
		
			При любых реализациях во внешних системах лучше создавать специальный класс в аксапте со статическими методами. Вся логика выполняется в Ax, а при разработке остается только передавать и принимать из этих методов готовые значения. Код в C# получается красивее, и при модификациях в дальнейшем, если требуется что-то изменить - можно сделать проект в Ax и перенести его на рабочее приложение. При этом, не потребуется перезапуск внешнего сервиса, который использует .Net Business Connector, не придется делать ничего лишнего. Рекоммендую!  
		Последний раз редактировалось kornix; 22.09.2010 в 15:02.  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 NavAx 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А можно юзать AIF - получится совсем хорошо и замечательно. А с "ростом" можно и бизнес-логику какую-никакую туда прикрутить. И сделать надо это один раз. А уж потом - употребить Web-сервис сейчас можно откуда угодно.  
		
		
		
		
		
		
			 
		
				__________________ 
		
		
		
		
	Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...  
			 | 
| 
	
 | 
| Теги | 
| business connector, modifieddatetime | 
| 
	
	 | 
	
		
  |