AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.06.2010, 19:50   #1  
andriy_s is offline
andriy_s
Участник
 
54 / 13 (1) ++
Регистрация: 28.08.2009
? ModifiedDateTime и Business Connector
С# аппликация читает данные с Аксапты. Необходимо получить только данные которые изменились за последний день. Подключил к таблице modifiedDateTime. Кто нибудь можеть помочь - как писать Query для получения данных???

axRecord.ExecuteStmt("select * from %1") - Все нормально

axRecord.ExecuteStmt("select * from %1 where %1.modifieddatetime > '" + DateTime.Now.AddDays(-1) + '") - не работает (пробовал екпериментировать с форматом - никакого результата).

Буду весьма благодарен за помощь.
Старый 23.06.2010, 09:38   #2  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
"никакого результата" - это не возвращаются записи или получается ошибка?
а на SQL-сервер какой запрос в результате уходит? а после "екпериментировать с форматом"?
Старый 23.06.2010, 11:26   #3  
andriy_s is offline
andriy_s
Участник
 
54 / 13 (1) ++
Регистрация: 28.08.2009
"никакого результата" - это получаются ошибки.

Ошибки типа:
Unable to compile "static void ComExecuteStmt(MDCategory axTbl_0) { select * from axTbl_0 where axTbl_0.modifieddatetime > 6/23/2010 10:25:50 AM;} ".
Старый 23.06.2010, 12:28   #4  
andriy_s is offline
andriy_s
Участник
 
54 / 13 (1) ++
Регистрация: 28.08.2009
Всем спасибо - вопрос решен!
Старый 23.06.2010, 12:29   #5  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от andriy_s Посмотреть сообщение
Всем спасибо - вопрос решен!
каким способом? в чем причина? поделитесь если не секрет
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 23.06.2010, 13:10   #6  
andriy_s is offline
andriy_s
Участник
 
54 / 13 (1) ++
Регистрация: 28.08.2009
Причина конечно же в форматах. Надо было писать что-то такое:

axRecord.ExecuteStmt("select forupdate * from %1 where %1.modifieddatetime > str2datetime('" + dt.ToString() + "', 213)");
За это сообщение автора поблагодарили: lev (2).
Старый 22.09.2010, 13:30   #7  
4avez is offline
4avez
Участник
 
13 / 10 (1) +
Регистрация: 20.08.2010
У меня похожая ситуция ... только со string-ами ...
X++:
axInventTable.ExecuteStmt(String.Format("select ItemName from InventTable where InventTable.ItemId == '%1'", _ItemId));
не могу понять ... что за ...
Старый 22.09.2010, 13:52   #8  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от 4avez Посмотреть сообщение
У меня похожая ситуция ... только со string-ами ...
X++:
axInventTable.ExecuteStmt(String.Format("select ItemName from InventTable where InventTable.ItemId == '%1'", _ItemId));
не могу понять ... что за ...
попробуйте условие передавать в двойных кавычках, вот так:
X++:
axInventTable.ExecuteStmt(String.Format('select ItemName from InventTable where InventTable.ItemId == "%1"', _ItemId));
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 22.09.2010, 14:42   #9  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Цитата:
Сообщение от 4avez Посмотреть сообщение
У меня похожая ситуция ... только со string-ами ...
X++:
axInventTable.ExecuteStmt(String.Format("select ItemName from InventTable where InventTable.ItemId == '%1'", _ItemId));
не могу понять ... что за ...
Извините за offtop, но не могу удержаться. Мне кажется не нужно программировать аксапту во внешней системе. Много лишних усилий, да и код получается не очень читабельным. На мой взгляд, лучше создать класс в AX, сделать в нем методы, которые будут принимать нужные параметры, и из внешней системы с помощью BC "дёргать" этот класс.
За это сообщение автора поблагодарили: gl00mie (1), kornix (1).
Старый 22.09.2010, 14:59   #10  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Абсолютно согласен со _scorp_!
При любых реализациях во внешних системах лучше создавать специальный класс в аксапте со статическими методами. Вся логика выполняется в Ax, а при разработке остается только передавать и принимать из этих методов готовые значения. Код в C# получается красивее, и при модификациях в дальнейшем, если требуется что-то изменить - можно сделать проект в Ax и перенести его на рабочее приложение. При этом, не потребуется перезапуск внешнего сервиса, который использует .Net Business Connector, не придется делать ничего лишнего. Рекоммендую!

Последний раз редактировалось kornix; 22.09.2010 в 15:02.
Старый 22.09.2010, 17:47   #11  
Maximin is offline
Maximin
NavAx
NavAx Club
 
412 / 346 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
А можно юзать AIF - получится совсем хорошо и замечательно. А с "ростом" можно и бизнес-логику какую-никакую туда прикрутить. И сделать надо это один раз. А уж потом - употребить Web-сервис сейчас можно откуда угодно.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
Теги
business connector, modifieddatetime

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Arijit Basu: DAX 4.01 .NET Business Connector: Microsoft.Dynamics.BusinessConnectorNet Blog bot DAX Blogs 3 30.09.2008 01:17
Inside Dynamics AX 4.0: Working with the .NET Business Connector Blog bot DAX Blogs 0 04.10.2007 05:15
Inside Dynamics AX 4.0: Inside the Business Connector Blog bot DAX Blogs 0 04.10.2007 05:15
Inside Dynamics AX 4.0: The Business Connector Blog bot DAX Blogs 0 02.10.2007 04:49
ALEG: Проект "Фишка недели" и первый пост - Microsoft Dynamics™ AX .NET Business Connector Blog bot DAX Blogs 1 22.11.2006 09:43

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:39.