|
|
#1 |
|
Участник
|
AX2009 и AX4.0 совместимый код. Как?
Есть такой запрос, как сделать так чтобы он работал как на 4ке так и на 5ке?
С 5кой все ок, а в 4ке ругается на тип utcdatetime, далее на класс DateTimeUtil. Как заставить компилятор игнорировать неизвестные типы? X++: UtilIdElements utilIdElements;
TimeOfDay modifyTime;
TransDate modifyDate;
#if.ax5
utcdatetime datetime;
#endif
;
modifyTime = timenow();
modifyDate = systemdateget();
#if.ax5
datetime = DateTimeUtil::newDateTime(modifyDate, modifyTime);
#endif
while select name, id, recordType from utilIdElements
where
#if.ax5
((utilIdElements.createdDateTime > datetime) ||
(utilIdElements.modifiedDateTime > datetime))
#endif
#ifnot.ax5
(( utilIdElements.createdDate == modifyDate && utilIdElements.createdTime > modifyTime) ||
( utilIdElements.modifiedDate == modifyDate && utilIdElements.modifiedTime > modifyTime))
#endif
{
...
}
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
|
|
|
#2 |
|
Участник
|
Похоже, где-то в четверке прописано #define.ax5. Попробуйте эту строку закомментировать.
|
|
|
|
| За это сообщение автора поблагодарили: Alex_KD (1). | |
|
|
#3 |
|
Участник
|
Угу.
Неправильно прописал, надо так: X++: #AOT
#if.ReferencesPath
#define.Ax4
#endif
#if.WorkflowCategoriesPath
#define.Ax5
#endifВыходит, что если не срабатывает #define компилятор не смотрит внутрь. Комментировать не выход - должно работать везде без изменения кода.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
|
|
|
#4 |
|
Участник
|
А если вместо зашитых запросов использовать Query/QueryRun, то можно будет обойтись даже без директив условной компилляции...
|
|
|
|
|
#5 |
|
Участник
|
Цитата:
на createdDateTime или createdDate + createdTime?
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
|
|
|
#6 |
|
Участник
|
Цитата:
|
|
|
|
|
#7 |
|
Участник
|
Согласен, можно.
У меня получение Editor e; в 5ке сделано тоже через X++: #if.ax5
....
#endif
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
|