Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 如何按代码删除axapta表单的零金额行_Forms_Filter_Axapta_X++ - Fatal编程技术网

Forms 如何按代码删除axapta表单的零金额行

Forms 如何按代码删除axapta表单的零金额行,forms,filter,axapta,x++,Forms,Filter,Axapta,X++,当我们处理EOS时(服务结束)然后系统以某种方式自动生成零行0.00作为rendom employee的兑现数量。我的客户不希望此表单中出现此零行,因为当他们试图将EOS过账到总账时,它会将错误显示为金额,不能过账而没有值。因此,如何在x++中编写代码以从我的帐户中删除零金额行如果存在任何0.00兑现金额,则填写EOS表格 在上面的截图中,当我们处理EOS时,系统已将兑现数量计算为零。请给出一些建议,以通过X++代码处理此情况。如果您使用数据源获取值,则数据源上有一个名为“如果为空则插入”的属

当我们处理EOS时(服务结束)然后系统以某种方式自动生成零行0.00作为rendom employee的兑现数量。我的客户不希望此表单中出现此零行,因为当他们试图将EOS过账到总账时,它会将错误显示为金额,不能过账而没有值。因此,如何在x++中编写代码以从我的帐户中删除零金额行如果存在任何0.00兑现金额,则填写EOS表格


在上面的截图中,当我们处理EOS时,系统已将兑现数量计算为零。请给出一些建议,以通过X++代码处理此情况。

如果您使用数据源获取值,则数据源上有一个名为“如果为空则插入”的属性(在本例中,数据源带有EncashmentQuantity字段),该属性自动设置为“是”,但您可以将其更改为“否”如果值为0,则不应显示该值。我不确定这就是你所说的,但可能是。我希望能理解这个问题

“我的客户不希望此表单中出现此零行,因为…”

我认为您可以这样做,如果您想按代码筛选不带0值的记录,您可以在DataSource中使用filter右键单击override executequery方法并插入代码,如下所示:

public void executeQuery()
{    
    this.query().dataSourceTable(tableNum(**YourTablename**)).addRange(fieldNum(**YourTableName**,**YoutFilterField**)).value(strFmt("%1", '>0'));
    super();
}
例如:

this.query().dataSourceTable(tableNum(LedgerJournalTrans)).addRange(fieldNum(LedgerJournalTrans,AmountCurCredit)).value(strFmt("%1", '>0')); // DISCARD all record lower than 0

我分享以下有用的链接:


干得好

你有什么代码可以开始吗?没有,事实上我是axapta的新手。我不知道该从哪里开始编写代码。如何在应用程序中触发员工服务终了的处理?你能在你的问题中包括一个菜单路径和一个简短的过程描述吗?还是定制?还使用了什么版本的动力学?
this.query().dataSourceTable(tableNum(LedgerJournalTrans)).addRange(fieldNum(LedgerJournalTrans,AmountCurCredit)).value(SysQuery::valueNot(0));