Axapta 操作数类型与AX2009中的运算符不兼容

Axapta 操作数类型与AX2009中的运算符不兼容,axapta,x++,dynamics-ax-2009,Axapta,X++,Dynamics Ax 2009,我是AX的初学者。我曾尝试在AOT作业中执行代码。我遇到这样的错误操作数类型与运算符不兼容。 我试着写出的代码如下 static void SelectQueryTest(Args _args) { int64 countItem; countItem = (select count(ItemId) from InventTable where InventTable.ItemGroupId== "100").ItemId; info(strFmt("Count: %1",

我是AX的初学者。我曾尝试在AOT作业中执行代码。我遇到这样的错误操作数类型与运算符不兼容。 我试着写出的代码如下

static void SelectQueryTest(Args _args)
{
   int64  countItem;
   countItem = (select count(ItemId) from InventTable where InventTable.ItemGroupId== "100").ItemId;
   info(strFmt("Count: %1", countItem));
}

谁能帮我找出哪里出了问题。

字段ItemId是一个字符串,因此您不能将其分配给int64。将count(ItemId)替换为count(RecId),并使用此字段作为结果。将记录计数到字段RecId也是一种很好的做法,因为它向熟悉AX的人清楚地表明了您的意图。

替换:

info(strFmt(“计数:%1”,计数项))

为此:

info(strfmt("Count: %1", int2str(countItem)));

希望此帮助…

strfmt语句将自动将数据类型转换为字符串。没有必要从strfmt语句中应用类型转换。有时,我确实需要它,但我知道它没有用。感谢热情之王再次提醒我这个功能:)