小编FH-*_*way的帖子

如何在两个表单之间传递多个记录?

我想在两个表单之间传递多个记录.用户打开Form-A,选择多个记录,然后单击打开Form-B的按钮.在Form-B中有两个(或更多)StringEdit控件,它们应显示所选记录的值.

我知道如何只传递一条记录,为此我在Form-B的方法中使用以下代码:

if (element.args().parmEnumType() == enumNum(NoYes) 
 && element.args().parmEnum() == NoYes::Yes)
{
    myTable = element.args().record();
    stringEdit.text(myTable.Field);
}
Run Code Online (Sandbox Code Playgroud)

我应该如何更改我的代码,以便我可以将另一个StringEdit控件的文本设置为用户选择的下一条记录的字段值?

forms x++ axapta args dynamics-ax-2012-r2

5
推荐指数
1
解决办法
5877
查看次数

FormRun.wait():不建议使用方法,而是使用什么?

我目前正在为一个更大的项目修复一些BestPractice-Warnings。我在某些情况下会调用表单并等待做更多的事情,这主要是一些对话框。为了等待表单,经常使用以下代码:

Object formRun;

//declare args and stuf...
formRun = classfactory.formRunClass(args);
formRun.init();

//call methods on formRun (display,run,etc...)

formRun.wait();
Run Code Online (Sandbox Code Playgroud)

我现在面临的问题是'wait()'似乎已被弃用,我不知道如何替换或解决此问题。我已经看到一些开发人员将表单声明为“对象”以摆脱此警告(顺便说一下,它仍然无法工作),但这是一个后期绑定调用,也应避免。 ..

其他人遇到过这个问题吗 ?我尝试使用system.reflection命名空间调用此方法,但这看起来不正确,并且在x ++中的代码也比这种简单任务所需的代码多得多。

x++ axapta dynamics-365-operations

3
推荐指数
1
解决办法
182
查看次数

如何将XML编码强制为UTF-8?

我正在尝试通过以下方式在构建的xml中强制执行编码:

XmlWriterSettings       xmlSetting = new XmlWriterSettings();
XmlWriter               xmlWriter;
Str                     res;


xmlSetting.encoding ('UTF-8');
xmlWriter = XmlWriter::newXml(xmlSetting);    
xmlWriter.writeStartDocument();
xmlWriter.writeStartElement('root');
xmlWriter.writeEndElement();
xmlWriter.writeEndDocument();
xmlWriter.flush();
res = xmlWriter.writeToString();    
info(res);
Run Code Online (Sandbox Code Playgroud)

但是,这在我的系统中的结果是:

<?xml version="1.0" encoding="utf-16"?><root />
Run Code Online (Sandbox Code Playgroud)

将编码强制为UTF-8的正确方法是什么?

文档未提供示例:https : //docs.microsoft.com/zh-cn/previous-versions/dynamics/ax-2012/system-classes/gg929065(v%3dax.60)

xml encoding axapta dynamics-ax-2012-r3

2
推荐指数
1
解决办法
193
查看次数

在运行时如何在表单中添加字符串控件?

我想在运行时单击按钮时在窗体上添加字符串控件。

到目前为止我尝试过的是:

  1. 创建一个表格
  2. 新增run 表格方式
  3. 新增runTimeControl_validate表格方式
  4. 在表单上添加了按钮

该按钮的单击方法具有以下代码:

void clicked()
{
    FormBuildDesign       design = Form.design();
    FormBuildGroupControl formBuildGroupControl;
    FormStringControl     c;
    FormControlType       fC;        
    ;

    // c = addGroup.addControl(FormControlType::String, 'RunTimeControl');

    c = ButtonGroup.addControl(fC::String, 'test');
    c.label("New control");
    formBuildGroupControl = formBuildDesign.control(addGroup.id());
}
Run Code Online (Sandbox Code Playgroud)

我在行中出错 c = ButtonGroup.addControl(fC::String, 'test');

错误:不存在枚举

x++ dynamics-ax-2012

2
推荐指数
1
解决办法
66
查看次数

Microsoft Dynamics 365 F&amp;O 中的表基数

在 Microsoft Dynamics 365 F&O 中创建表时,有两个字段让我感到困惑,并且我找不到正确的文档来填充它们。它们是“基数”和“相关表基数”。

我尝试搜索此链接,但找不到有关基数的任何内容。

据我所知,它们可以按如下方式使用:

  • 多对一(非必需):
  • 基数:零更多
  • 相关表基数:ZeroOne
  • 多对一(必填):
  • 基数:OneMore
  • 相关表基数:ExaclyOne
  • 一对一(非必需):
  • 基数:ExaclyOne
  • 相关表基数:ZeroOne

我认为“ZeroOne”将是“我是零,你是一”,或者“OneMore”将是“我是一,你是更多”的思路。

但“ZeroMore”似乎不适合通常的数据库关系,因为只有两个相关的表基数选项:“ZeroOne”和“ExaclyOne”。

有人可以找到更好的解释或向我发送正确的文档链接吗?

提前致谢。

x++ axapta dynamics-365-operations

2
推荐指数
1
解决办法
1529
查看次数