如何从带有对话框的表单中插入记录确认?

时间:2015-04-30 08:08:59

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

我在MyTableNewRecord中插入了Form记录。

在我的插入表格方法中,iI对此代码进行了加密:

dialog     dialog;
DialogText dialogText ;
DialogButton dialogButton;
DialogField dialogField;

dialog = new Dialog("Dialog user");
dialogText =
dialog.addText("Text dialog.");
dialogText = dialog.addText("Click OK to continue");

dialog.run();
super();

要插入,我使用表格。 在MyForm中,我使用 SysListPanelRelationTableCallback 来插入数据。 我创建的这个SysListPanel看起来像:

sysListPanel = SysListPanelRelationTableCallback::newForm(element,
                     element.controlId(formControlStr(SysUserGroupInfo, Users)),
                     "@SYS25440", "@SYS57282", #ImageUser,
                     tablenum(MyTableRecord),
                     fieldnum(MyTableNewRecord, UserId),
                     fieldnum(MyTableNewRecord, AdministratorUse),
                     tablenum(TableFromRecords),
                     fieldnum(TableFromRecords, Id),
                     [fieldnum(TableFromRecords, Id),
                     fieldnum(TableFromRecords, Name)]
                     , 0, '' ,
                     "","");

当我将用户从正确的站点放到lest站点(并添加MyTableNewRecords)时, DialogBox 运行,但是,当我单击OK(dialogBox DefaultButton)时,我给出了一个错误,看起来像:

  

"很少或太少ttsbegin / ttscommit。目前的TTS水平是1"

如果我只点击Escape(X),我可以插入记录。

如何在DialogBox之后插入记录?

我试图插入ttsbegin; ttscommti;也许我把它们放错了,因为它给了我同样的错误。

我必须使用另一种覆盖方法,但我尝试使用validateWritre,甚至没有打开对话框(在Debug中测试并且没有通过该方法)。

或者,可以插入确认befor以使用ListPanel添加记录吗? 在我必须在表格中添加记录(MyTableNewRecord)后,我需要进行确认。

谢谢你的时间,

享受!

1 个答案:

答案 0 :(得分:0)

你不应该在交易期间编写允许用户交互的代码(即对话框)

https://msdn.microsoft.com/en-us/library/aa609617.aspx