在我的x ++代码中,我有以下内容
void run() {
try
{
startLengthyOperation();
this.readFile();
}
catch (Exception::Deadlock)
{
retry;
}
catch (Exception::Error)
{
error(strfmt("An error occured while trying to read the file %1", filename));
}
catch
{
error("An unkown error has occured");
}
endLengthyOperation();
}
Run Code Online (Sandbox Code Playgroud)
我正在进行最后一次捕获(之前,我没有得到关于异常的消息).但我想知道什么是真正发生并导致异常.我怎样才能找出异常是什么?
如何使用X ++在Microsoft Dynamics AX 2009中获取PDF文件的创建日期?
如何在按钮单击中打开该PDF文件?
我觉得我可能会失去理智......但是如果你在AOT搜索任何带有双冒号"::"的东西,它就会完全失败.我正试图通过Forms\SysAotFind来解决这个问题,但我不想把我的轮子旋转成一堆可能只在我系统上的东西.
要在AX 2009中重现,请选择Classes\SalesTableType,按Ctrl + F并将"CustLedgerAccounts :: sumAccount"放入包含的文本框中,然后单击"立即查找".您可以看到它显然位于Classes\SalesTableType\accountCust方法中.我已经尝试在没有运气的对象中搜索基本枚举.
我知道这不是编码问题,但这是AX开发的一部分.
问题>在客户端部署服务组后,AX崩溃,我收到此错误:
Microsoft Dynamics AX已停止工作
然后
Microsoft Dynamics AX正在重新启动
每次我尝试部署服务组时都会发生这种情况.
我在MS Dynamics AX 2012中开发
先感谢您.
有没有办法在记录创建过程中(Ctrl+N)自动在网格末尾而不是在中间创建线条?
我知道这只是视觉上造成的,但它仍然造成了一些混乱。
这是我到目前为止在数据源上所做的,但它工作不正常:
public void create(boolean _append = false)
{
this.setPosition(MyTable.RowCount());
super(_append);
}
Run Code Online (Sandbox Code Playgroud) 我有以下表格,我想根据其他列的值更改列的背景颜色;
在橙色列中,我希望单元格颜色是COLOR ATTRIBUTES部分下的红色,绿色和蓝色字段的RGB组合,而不是显示橙色背景.
确定update()
表中方法中哪个字段已更改的正确方法是什么?
我知道这可能是在modifiedField()
via,fieldId
但现在还为时尚早.
如何使用多个值构建查询.我需要创建过滤器,在网格中只显示活动的BOM,我正在寻找解决方案.这是我的代码,它不起作用:
public void executeQuery()
{
QueryBuildRange qbr;
QueryRun queryRun;
Query q = new Query();
qbr = SysQuery::findOrCreateRange(BOMTable_q.dataSourceTable(tableNum(BOMTable)), fieldNum(BOMTable, BOMId));
if (activeButton==false)
{
qbr.value(SysQuery::valueUnlimited());
}
else
{
while select BOMVersion where BOMVersion.Active==true && BOMVersion.Approved==true{
qbr.value(queryValue(BOMVersion.BOMId));
}
super();
Run Code Online (Sandbox Code Playgroud) 我正在开发AX 2009安装.工作是更新WMSOrderTrans表.这是我到目前为止所得到的:
WMSOrderTrans wmsOrderTrans;
;
while select wmsOrderTrans
{
if (wmsOrderTrans.BBBpackingSlipExists())
{
ttsBegin;
wmsOrderTrans.selectForUpdate(true);
wmsOrderTrans.BBBPackingSlipExists = NoYes::Yes;
wmsOrderTrans.doUpdate();
ttsCommit;
}
}
Run Code Online (Sandbox Code Playgroud)
这项工作大约需要一个小时才能完成测试系统.这让我担心生产系统的性能.
目前,代码已经被编写为具有最小的锁定问题(如果应该更新并且然后立即提交,则为每一行执行selectForUpdate).原因是,当作业运行时,用户将在系统上工作.
我的问题是,如果有一种合理的方式以较少的交易开销实现这项工作.
while select forUpdate ...
Run Code Online (Sandbox Code Playgroud)
...似乎不是一个选项,因为它会锁定表,直到作业完成.
任何输入都表示赞赏.
这是BBBPackingSlipExists方法的代码:
display boolean BBBpackingSlipExists()
{
InventDim inventDimCur;
InventDim inventDimPackSlip;
InventTrans inventTransPackSlip;
;
select firstonly RecId from inventTransPackSlip
where inventTransPackSlip.InventTransId == this.inventTransId
&& (inventTransPackSlip.StatusIssue == StatusIssue::Deducted
|| inventTransPackSlip.StatusIssue == StatusIssue::Sold)
&& !inventTransPackSlip.PackingSlipReturned
exists join inventDimCur
where inventDimCur.inventDimId == this.inventDimId
exists join inventDimPackSlip
where inventDimPackSlip.inventDimId == inventTransPackSlip.inventDimId
&& inventDimCur.inventSerialId …
Run Code Online (Sandbox Code Playgroud) 我有一个自定义表单,它有两个数据源。让我们说让我的表单更轻松地包含 Salestable 和 SalesLines 数据源。
例如,我可以说我有一个以 ItemGroup edt 为界限的过滤器。
我想通过此过滤器过滤 SalesTable 数据源,以便在与 SalesOrders 数据源连接的网格中“显示”:
''所有'有'带有 saleslines.ItemGroup == somethingfromFilter的销售线的SalesOrders ''。
我试过的都失败了。有人能帮我吗?
仅供参考:我假设正确链接的数据源属性:SalesLine.JoinSource = SalesTable 我所有的尝试都是在过滤器的修改方法中。