Axapta 查找2条缺失记录中的1条

Axapta 查找2条缺失记录中的1条,axapta,dynamics-ax-2012,x++,Axapta,Dynamics Ax 2012,X++,InventItemLocation表应包含2条记录,1条记录的InventDimId为“A”,1条记录的InventDimId为“B” 我正在尝试搜索InventDimId“A”丢失的项目 以下代码的问题在于,它还显示确实包含InventDimId“A”(MissingInventDimId)的项,因为它正在检查行 static void FindMissingInventItemLocation(Args _args) { InventTable inventTable; I

InventItemLocation表应包含2条记录,1条记录的InventDimId为“A”,1条记录的InventDimId为“B”

我正在尝试搜索InventDimId“A”丢失的项目

以下代码的问题在于,它还显示确实包含InventDimId“A”(MissingInventDimId)的项,因为它正在检查行

static void FindMissingInventItemLocation(Args _args)
{
    InventTable inventTable;
    InventItemLocation inventItemLocation;
    str info;

    while select inventItemLocation
    notexists join inventTable
    where inventTable.ItemId == inventItemLocation.ItemId &&
    inventItemLocation.inventDimId == 'MissingInventDimId' &&
    inventItemLocation.inventDimId == 'ExistingInventDimId'
    {
        info (inventItemLocation.ItemId);
    }

}

如果您试图查找具有
现有InventDimid
但没有
丢失InventDimid
的记录,请尝试以下操作

static void FindMissingInventItemLocation(Args _args)
{
    InventItemLocation  inventItemLocationExisting;
    InventItemLocation  inventItemLocationMissing;
    str                 info;
    ;

    while select inventItemLocationExisting
        where inventItemLocationExisting.inventDimId == 'ExistingInventDimId'
    notexists join inventItemLocationMissing
        where inventItemLocationMissing.ItemId == inventItemLocationExisting.ItemId &&
              inventItemLocationMissing.inventDimId == 'MissingInventDimId'
    {
        info (inventItemLocationExisting.ItemId);
    }
}

如果您试图查找具有
现有InventDimid
但没有
丢失InventDimid
的记录,请尝试以下操作

static void FindMissingInventItemLocation(Args _args)
{
    InventItemLocation  inventItemLocationExisting;
    InventItemLocation  inventItemLocationMissing;
    str                 info;
    ;

    while select inventItemLocationExisting
        where inventItemLocationExisting.inventDimId == 'ExistingInventDimId'
    notexists join inventItemLocationMissing
        where inventItemLocationMissing.ItemId == inventItemLocationExisting.ItemId &&
              inventItemLocationMissing.inventDimId == 'MissingInventDimId'
    {
        info (inventItemLocationExisting.ItemId);
    }
}

我很惊讶您的查询会产生任何结果,因为您选择的是所有
InventItemLocation
记录,其中项目不存在,
inventDimId
都等于
missingininventdimid
ExistingInventDimId
。我很惊讶您的查询会产生任何结果,因为您选择的是所有
InventItemLocation
记录,其中项目不存在,
inventDimId
既等于
MissingInventDimId
又等于
ExistingInventDimId