我想执行更新在 AX2009 中选定日期之后创建的每个销售订单。 但 X++ 太糟糕了,它给了我一个错误。有人可以修复它吗?我讨厌这个X++
static void SalesOrdersDlvMode_Update(Args _args)
{
#define.doupdate(true)
#define.doinfo(false)
SysOperationProgress progress = new SysOperationProgress();
SalesTable salesTable;
int counter = 0;
utcdatetime targetDate
;
targetDate = mkDate(31, 12, 2022);
ttsBegin;
while select forupdate salesTable
where salesTable.DlvMode == 'ABC'
&& salesTable.createdDateTime >= targetDate
{
salesTable.DlvMode = 'ABCUPD';
salesTable.update(); // Perform the update
counter++;
}
ttsCommit;
info(strFmt("Updated: %1 records;", counter));
}
“操作数类型与运算符不兼容。”仍然:(
这里的问题是 targetDate 类型是 utcDateTime 但 mkDate 方法返回 date 类型,因此它们不兼容。尝试下面的代码。
targetDate = DateTimeUtil::newDateTime(mkDate(31, 12, 2022), 0, DateTimeUtil::getUserPreferredTimeZone());