在表单数据源(SalesLine)上,我有一个validateWrite方法,该方法又调用super()方法来调用validateWriteSalesLine表上的方法,以及其他检查.
在SaleLine表中,我有自定义功能,用于记录,有时停止数据更改.
当我从新表单写入SalesLine时,我不希望触发此功能.因此,我想validateWrite在SalesLine表的方法中检查一个条件,以确定是否从validateWrite我的新表单调用.如果从我的新表单调用SalesLine写入,这将允许我跳过数据更改记录/停止.
什么是正确的方法?
我可以创建一个布尔值recordSaveChecks并在调用之前设置它SalesLine.write(),但是有更好的方法吗?
编辑:为了澄清,我没有要添加的表单特定的自定义验证,我有一个系统范围的验证(因此坐在SaleLine表上),当从1个特定表单调用时需要跳过它.
如何通过 a 实例化一个公共类型对象(AX 中表的基类)TableId?此外,我们还能用 TableId 做什么?
我的目标是发送tableid到我的方法,然后在那里创建 id 所属表的缓冲区。是否可以?
我需要在InventTrans上循环以累积某些日期的itemId数量,并使用此临时表作为数据源在表单中填充结果的临时表.我使用了一个类,对于一个itemId,这个过程很长(约5-10秒).
哪个代码最快?
我该如何改进我的代码?
有什么方法可以确定代码是在客户端还是在批处理作业中执行?我想过使用curUserId并检查用户是否是我们用于批处理作业的用户,但如果用户发生更改,这种方法就会失败。
当它运行到客户端时,我试图用是/否对话框修改update表的方法VendTable,但是当代码作为批处理运行时,我不希望发生这种情况。
有任何想法吗 ?
我有几个控件的表单.当我填充这些控件时,除了一个realEdit控件之外,所有控件都正确保存在数据源表中.它在表格中说"未经审查".我已经正确地设置了它的数据源和数据域属性,那么它可能是什么原因以及如何解决它?
我在AX的一份工作中有以下声明:
select RecId from pjiTable
join pID, Type, PrId from sjTable
where pjiTable.Prid == sjTable.PrId &&
(sjTable.Type == PjType::TimeMaterial || sjTable.Type == PjType::FixedPrice);
Run Code Online (Sandbox Code Playgroud)
我必须在SQL Server中使用它.如何将此select语句转换为SQL并在SQL Server Management Studio中使用它?
我在MyForm 中有一个ComboBox ( myComboBox ) 和 EnumType myEnumType。
在 modified方法中,我想获取值。
我使用的代码如下:
if (myComboBox.enumTypeValue() == myEnumType::Value1 )
{
//action
}
Run Code Online (Sandbox Code Playgroud)
或者另一种方式
if (myComboBox.enumType(myEnumType::Value1) )
{
//action
}
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我都无法取值。
方法是什么?谢谢大家!
享受!
我在使用FormRun两次打开表单时看到一个奇怪的情况
static void Job780(Args _args)
{
FormRun formRun;
Args args = new Args();
;
args.name(formstr(Form1));
formRun = ClassFactory.formRunClass(args);
formRun.init();
formRun.run();
formRun.wait();
}
如果我运行此代码两次,那么我会看到2个表单,但在关闭第二个表单之前我无法关闭第一个表单.
我在几个实例和不同版本(2009年,2012年)上尝试过它.清除缓存和*.auc fiels.结果相同.
问题是如何解决它.我的意思是如何使表单以任何顺序正确关闭.谢谢.
我们中的许多人正在审查AX 2012中的优化问题.在许多情况下,流程相关代码中的优化问题没有像我们在报告中有许多其他方法那样的解决方案.
案例:我有一个案例,我只需点击一下按钮就可以在AX 2012中执行多个销售订单的确认.在确认该销售订单后,我们需要执行一些其他"定制"流程,这是在遵循代码实践并最大限度地优化编码方法之后的一个漫长的过程.所以我对如何通过多线程处理这种场景提出了疑问
multithreading x++ axapta dynamics-ax-2012 dynamics-ax-2012-r3
我想在运行时单击按钮时在窗体上添加字符串控件。
到目前为止我尝试过的是:
run 表格方式runTimeControl_validate表格方式该按钮的单击方法具有以下代码:
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');
错误:不存在枚举