问题标签 [dynamics-ax-2012-r3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1312 浏览

axapta - 使用 CustVendOpenTransManager 进行 VendTransOpen 标记

我在 VendOpenTrans 上有一个按钮并实现了它的 clicked 方法。

我认为这会起作用,但我得到一个异常并且 AX 关闭..

如果我注释掉以下行,它将起作用,基本上标记网格中的所有行。

因此,更清楚地说,留下的是:manager.updateTransMarked(vto, NoYes::Yes);

这样,它就可以工作了。据我所知,当我添加该选择时会发生一些事情。

使用调试我能够检查它,我认为异常是由 for 循环引发的..

有没有机会得到这个提示?

0 投票
1 回答
555 浏览

axapta - 表关系错误值不在范围内

斧头 2012 R3。我创建了一个新表来保存组数据(我们称之为 AgencyTable);我创建了一个引用 AgencyTable 并扩展 RefRecId 的 RefRecId(我们称之为 AgencyTableRefRecId)。

我创建了另一个名为 RatingsTable 的新表,并在其中添加了 AgencyTableRefRecId。RatingsTable 与 AgencyTableRefRecId 上的 AgencyTable 有关系(Cardinality = OneMore;RelatedTableCardinality = ExactlyOne;RelationshipType = Association)。我还在 RatingsTable 中添加了对 BankAccountTable 的引用,并在 BankAccountId 上创建了一个关系。

我有一个 AgencyTable 记录。当我在 RatingsTable 中创建一条记录,然后单击引用 AgencyTable 的字段时,我得到一个下拉列表,可以看到 AgencyTable 记录,但是当我选择记录时,我得到错误:“值不在范围内。可接受的值在 -9223372036854775808 - 9223372036854775808”的范围内(int64 的最大值和最小值)。

这是一种简单的关系,也是关联数据的常用方式。我检查了我的编辑;我检查了关系,找不到导致问题的原因。(与 BankAccount 的关系很好)。

数据字典已同步。AOS 最近重新启动。
是什么导致了这个问题?

0 投票
1 回答
833 浏览

forms - 在表单初始化和执行查询之后添加一些逻辑的最佳位置

我在这里得到了关于在表单初始化后在哪里放置一些代码的问题的答案。

打开表单时的事件方法序列

据我所知,init 和 run 在线程 1 上执行,而 executeQuery 在线程 2 上执行。因此,为了遍历 form_ds,我应该选择一个在线程 2 上执行的方法,以确保 executeQuery 已完成.

那是对的吗?添加一些代码(如数据源迭代)的最佳位置到底在哪里?

0 投票
1 回答
437 浏览

axapta - 零售 webApi 服务 AX7

我们正在尝试通过使用 webAPI 的零售服务访问 AX7 数据,例如

https://AX---.cloud.dynamics.com/commerce/customer

这样我们就可以直接将数据用于我们的移动应用程序。

我不擅长retailsdk部分。任何人都可以提供标准服务列表以及在 URL 下传递所需的参数。

或者,如果将标准服务公开为 webAPI 还需要其他任何东西。

此外,这需要什么样的身份验证以及如何在 URL 本身下提供身份验证?

0 投票
2 回答
3562 浏览

axapta - 更改查阅列的宽度

我创建了一个包含两列的查找,第一列包含整数,它工作得很好,但第二列的名称很长,这就是问题出现的地方。用户应该水平滚动以检查整个字符串,即使在这种情况下,列的宽度也不足以显示整个数据。

我发现了这个:

在表单控件查找中调整列宽

但我不明白在哪里以及添加什么。

我不确定,但也许我必须在参数部分添加一个事实,即此查找用于指向 SSRS 报告的菜单项。

更新1:

我得到了一个名为这样的查找表单:

在这种形式的 init 方法中,我添加了:

意思是我真正需要的领域。

在此处输入图像描述

我不确定我是否完全理解该机制,但它似乎知道如何将这个确切的字段从它真正开始的地方返回到 DialogField。

为了使它看起来像一个查找,我将 Design 的样式保留为 Auto,但将WindowType更改为PopupHideToolBar更改为Yes并将Frame更改为Border

0 投票
1 回答
1688 浏览

axapta - 如何防止表单上的 X 按钮保存数据

每当我单击表单上的 (X) 按钮时,它仍会保留数据。我希望能够使用 (X) 按钮关闭表单而不保存任何数据。有谁知道为什么会这样?

设想:

Form1 有一个按钮[输入汽车信息],当我单击该按钮时,会打开另一个窗体 Form2,我可以在其中输入所有汽车信息。单击“确定”按钮后,Form2 将关闭,Form 1 将使用 Form2s 信息进行更新。

我的问题:

如果我单击 Form2 上的 X 按钮,Form1 仍会使用 Form2s 信息进行更新。有没有办法防止这种情况?

感谢所有的帮助!

0 投票
1 回答
869 浏览

axapta - 在控制器中获取查询

我有这两个版本的在我的控制器类中获取查询,

prePromptModifyContract 方法:

这里有一个奇怪的混合,我的查询作为属性添加到 Data Provider 类和临时表中。在 processReport 方法中,查询被执行,但范围仅在控制器中设置,所以......确切的流程是什么以及控制器如何使用上面突出显示的行获取对查询的引用?

还有一件事,上述方法调用之间有什么区别?它们目前都可以使用,但是我有什么理由应该使用其中一个吗?

0 投票
1 回答
658 浏览

regex - 选择三个字符,除非它们跟随 TextBuffer 的 @ 符号 .replace()

我想选择并替换三个字符,比如“STR”,除非它们在 @ 符号之后。

我使用带有替换方法的文本缓冲区类。我可以替换这三个字符,但它也替换了三个字符之前的字符。

这是我的代码:

结果是“FOO @STR FOO”。

我想要的结果是“ FOO @STR #FOO”,空格和# 完好无损。

我认为问题在于我匹配四个字符但只想替换三个。我假设我需要一个非捕获组或一些环顾四周。我在 Debuggex 中尝试了以下表达式:

正则表达式可视化

调试演示

这似乎可以工作并选择三个字符,如果它们不跟随 @,但 Dynamics AX 似乎不支持。我查看了此页面以获取 X++ RegEx 支持,但找不到任何可以解决我的问题的语法。

是否可以更改上述作业以产生以下输出:“ FOO @STR #FOO”。

0 投票
3 回答
2884 浏览

axapta - 查找库存维度

如果它存在,我正在尝试获取 inventDim 记录,否则创建一个新记录。

我确信值“220”的 InventLocationId 已经存在,但无论如何,添加了一个新的。

如果我再次运行上述行,我将获得最后创建的值,所以这一次,一切都很好。

通过检查 SQL:

两行都返回。

我可以使用以下行删除添加的行:

我不知道我在这里做错了什么..

0 投票
0 回答
113 浏览

axapta - 使用示例代码暂停交易

我知道 POS 将所有暂停的交易保存在SalesTransactions表格中。所有与交易相关的行都保存在表的TransactionsData字段中SalesTransactions。我的要求是使用任何代码从后端创建事务,但由于字段SalesTransactions的原因我无法做到这一点。TransactionData

谁能指导我如何实现它?

我们在零售 SDK 中有任何示例吗?

有没有可能这样做?