Axapta 仅允许查询addRange AX2012中的一个选择

Axapta 仅允许查询addRange AX2012中的一个选择,axapta,x++,dynamics-ax-2012-r3,Axapta,X++,Dynamics Ax 2012 R3,我编写了一个查询,如下所示,我想在查询中阻止accountnum的多个选择。 有什么方法可以在代码中实现这一点吗 Query = new Query(); qbdsVendTransOpen = Query.addDataSource(tableNum(VendTransOpen)); qbdsVendTrans = qbdsVendTransOpen.addDataSource(tableNum(VendTrans)); qbdsVendTrans.relations(true); qbdsV

我编写了一个查询,如下所示,我想在查询中阻止accountnum的多个选择。 有什么方法可以在代码中实现这一点吗

Query = new Query();
qbdsVendTransOpen = Query.addDataSource(tableNum(VendTransOpen));
qbdsVendTrans = qbdsVendTransOpen.addDataSource(tableNum(VendTrans));
qbdsVendTrans.relations(true);
qbdsVendTrans.joinMode(JoinMode::InnerJoin);

qbdsVendTable = qbdsVendTrans.addDataSource(tableNum(VendTable));
qbdsVendTable.relations(true);
qbdsVendTable.joinMode(JoinMode::InnerJoin);

qbdsVendTable.addRange(fieldNum(VendTable,accountNum));
如果要锁定范围,请添加以下行:

qbdsVendTable.addRange(fieldNum(VendTable,accountNum)).status(rangestatus::Locked);
如果要锁定范围,请添加以下行:

qbdsVendTable.addRange(fieldNum(VendTable,accountNum)).status(rangestatus::Locked);

我认为在查询对话框中不容易做到这一点。我建议在调用查询对话框之前,锁定范围(参见@Jonathan Bravetti的答案)并构建一个自定义对话框或字段。用户将在自定义ui中输入帐号,然后您可以使用代码将输入的值转移到查询中。

我认为在查询对话框中不容易做到这一点。我建议在调用查询对话框之前,锁定范围(参见@Jonathan Bravetti的答案)并构建一个自定义对话框或字段。用户将在自定义ui中输入帐号,然后您可以使用代码将输入的值转移到查询。

谢谢您的回答@Jonathan,但如果我这样做,用户无法选择任何accountnum值。我希望用户只能选择一个值,当用户选择第二个值时,删除前一个值确定,现在是明确的问题。所以我同意@FH的回答,但要听从他们的建议。谢谢你的回答@Jonathan,但如果我这样做,用户就不能选择任何accountnum值。我希望用户只能选择一个值,当用户选择第二个值时,删除前一个值确定,现在是明确的问题。所以我同意answer@FH的意见,按照他们的建议去做。AX中有一个设计概念,你在这里遗漏了。您将直接向用户公开查询。您的查询应该包装在一个抽象的UI中。AX中有一个设计概念,您在这里缺少了。您将直接向用户公开查询。您的查询应该包装在一个抽象的UI中。