创建表单关闭时显示错误的记录

时间:2016-09-27 18:07:31

标签: axapta dynamics-ax-2012 x++

在AX2012 R3内部,当从退货订单列表视图页面创建新的退货订单时(使用标题中的按钮),SalesCreateOrder表单将打开并按预期运行。

然而,在关闭此表单时,不是打开新创建的订单,而是打开在网格中选择的订单。

一些开发人员对此表单进行了自定义,但没有(乍一看)似乎与此行为相关。

在SalesCreateOrder对话框结束时,我会在哪里找到打开表单的行为?

2 个答案:

答案 0 :(得分:1)

可以通过更改SalesCreateOrder.close方法

来打开创建的订单:

public void close()
{
    Args args = new Args(this); //Change here

    // Save user's customer search type
    MCRCustSearch::saveCustSearchType(mcrCustSearchType.selection());    
    if (salesTableType)
    {
        salesTableType.formMethodClose();
    }    

    //Change here -->
    args.record(salesTable);
    new MenuFunction(menuitemDisplayStr(SalesTable),MenuItemType::Display).run(args);
    //End of change <--    

    super();
}

如果从退货订单调用,您可能需要更改被调用的menuitem。

答案 1 :(得分:0)

您对如何创建退货的理解是错误的。关闭后表格不会打开,在创建时会打开。

当您执行Ctrl+n或点击创建新的退货订单时,ReturnTable表单最终会实际显示SalesCreateOrder表单。

要查看此内容,请在init的{​​{1}} ReturnTable方法中放置一个断点,然后尝试创建新的退货订单。