当 child with open mode new 关闭时如何设置调用者的位置?

How to set position on caller when the child with open mode new is closing?

我有一个带记录的表格。要创建新记录,我有 menuitem 按钮,它会打开一个新表单,您可以在其中创建新记录(并且有很多逻辑不容易移动到 parent 数据源上的新记录操作)。此菜单项具有 OpenMode = New,因此在数据源中创建了新记录。

当我关闭这个新表单时,我想将调用者设置为新创建的记录。我试图做到这一点。

    TableName TableName;
    FormDataSource FormDataSource;
    boolean test;
    #Task
    element.args().caller().task(#taskF5);
    FormDataSource = element.args().caller().dataSource('CallerDataSourceName');
    FormDataSource.research();
    TableName= getFirstSelection('ThisDatasourceName');
    test = FormDataSource.findRecord(TableName);

findRecord 的结果是真的,看起来它设置的位置一秒又一秒,网格上的位置切换到 1。(测试结果是真的。)

我将设置位置移到来电者处,但没有用。问题出在菜单项打开模式属性?如何确保调用方的位置?

我用的是AX2012

我最终得到了这个解决方案。我没有在 child 上设置位置,而是在调用者上设置位置。

在 child 我有这个 (+ hasMethod):

tableToFind = getFirstSelection(SQLTables_DS);
element.args().caller().setRecord(tableToFind);

super();

下关闭

在调用方我有方法:

public void setRecord(TableName _TableName)
{
boolean test;    

CallerDataSourceName_DS.research();
test = CallerDataSourceName_DS.findRecord(_TableName);
CallerDataSourceName.refresh();
}

关闭 child 中的相同技巧不起作用。我想这是由于 OpenMode 属性.