在AX2012 R3内部,当从退货订单列表视图页面创建新的退货订单时(使用标题中的按钮),SalesCreateOrder表单将打开并按预期运行。
然而,在关闭此表单时,不是打开新创建的订单,而是打开在网格中选择的订单。
一些开发人员对此表单进行了自定义,但没有(乍一看)似乎与此行为相关。
在SalesCreateOrder对话框结束时,我会在哪里找到打开表单的行为?
答案 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
方法中放置一个断点,然后尝试创建新的退货订单。