让查询中只有一个选择 addRange AX2012

let just one selection in query addRange AX2012

我写了一个查询如下,我想在查询中阻止对 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);

我认为这不能在查询对话框中轻松完成。我建议锁定范围(请参阅@Jonathan Bravetti 的回答)并在调用查询对话框之前添加 ui 自定义对话框或字段。用户将在自定义 ui 中输入帐号,然后您可以使用代码将输入的值传输到查询中。