请有人帮助我理解Batch疯狂吗?
我正在尝试调试具有大约50个批处理作业的Axapta 3.0实现.大多数批处理类没有实现该description()方法,因此当您查看批处理列表表单(基本>>查询>>批处理列表)时,描述字段为空.您可以看到批处理组和开始时间等,但您无法分辨实际调用的是哪个类.
的批次表包含称为隐藏字段ClassNum其识别ID之类的属性.谁能告诉我如何从ID中找到相应的类?一旦我确定了罪魁祸首,我就可以添加说明.
我尝试在AOT上使用标准的查找功能,但它没有拿起它们.
任何建议都是最受欢迎的!
非常感谢,迈克
如何在Axapta/Dynamics Ax中创建主/详细信息表单,其中包含主网格和详细网格,在主网格中选择记录会相应地更改详细网格的内容?
我有一些可能含糊不清的问题,我不确定我是否会得到正确的答案,但我想我会把它放在那里,因为不知道还能在哪里得到答案.
过去两年来,部门一直在实施各种现代开发实践,即敏捷,Scrum,TDD,持续集成,MVC.
我的公司现在将转向Microsoft Dynamics CRM(目前我们使用的是第三方产品).他们希望将Dynamics用作CRM,同时也用于定制定制开发.通过做一些阅读和背景学习,我可以欣赏Microsoft Dynamics是一个优秀的产品,它有其地位,并解决了许多企业的问题.我对Microsoft Dynamics的了解来自以下视频.http://channel9.msdn.com/Series/DynamicsCRM2011
我们的实施可能是针对业务高度定制的,我们还将在Dynamics CRM中构建大量自定义应用程序.我的公司是微软的家,所以我们已经使用.NET,SQL Server等.
我的问题:
Microsoft Dynamics是否允许现代开发实践,如TDD,持续集成,MVC?
如果CRM部件高度定制,我们将失去使用Dynamics CRM的好处吗?
它作为市场产品的声誉如何?
在动态CRM中开发定制的自定义应用程序是否更快或更慢,而不是自定义MVC应用程序?
已知的限制或缺点是什么?
有什么其他好的选择,如果有的话?
我意识到没有答案,只有意见,如果有人使用或有观点或可以指出一些平衡意见和事实的良好环节,我将不胜感激.
谢谢.
我正在开发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) 我有一个包含许多物品的容器,其中一些是容器.我需要获得那些内部容器.什么是最好的做法?
我的解决方案对我来说有点难看:(
container a = [1, 2, ["one","two","three"]];
container b;
int i;
;
for (i = 1; i <= conLen(a); i++)
{
try
{
b = conPeek(a, i);
info(strFmt("%1", conPeek(b,1)));//here should be some logic with b items
}
catch
{
info(strFmt("NOT A CONTAINER %1", conPeek(a, i)));
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
当我在Dynamics 2012中编译CIL时,我看到以下错误 -
名称为"Dynamics.Ax.application"的重复类型.在程序集'Dynamics.Ax.application,version = 6.0.947.280,culture ...
我试过了
我还能尝试什么?
我正在寻找一些检索消息的工作示例并检索多个消息插件(早期绑定).我没有找到任何成功的例子在线查找.我已经检查了SDK和各种论坛.链接或工作示例将不胜感激!
我想要完成的是在UI上呈现之前截取和更新特定字段.我能够通过javascript部分完成这个,这是首选的方法,但遗憾的是网格等中的演示文稿无法以这种方式处理.
我在网上找到了一个链接
在这个例子中,他能够拦截消息并更新值,但这似乎只适用于汇总6(我在10).
与上述帖子有关的还有一个来自Chaitany
在这个例子中,他正在实现一个类似的解决方案作为后期操作,并从上下文输出参数中获取属性"BusinessEntity".(这让我感到困惑,因为我没有看到在Retrieve Reponse中定义的这个属性我认为这应该是RetrieveResponse的一个属性.
最终,我想要一个拦截检索或检索多个的解决方案,调整显示的值,然后在保存表单时恢复.
在 php 中向 webservice 发送过滤器时一切正常,但是当我们需要对日期进行排序时,我们遇到了问题。我们需要在某个日期之后修改所有对象。
在页面中,我们有一个日期元素,如下所示:
<xsd:element minOccurs="0" maxOccurs="1" name="Last_Date_Modified" type="xsd:date"/>
Run Code Online (Sandbox Code Playgroud)
我们已经尝试了在 SO 上解释的解决方案:
Dynamics Nav (Navision) webservice ReadMultiple date filter
但是我们的日期格式有点不同,我们的看起来像: 2013-01-01
在我们的过滤器中,我们尝试了以下方法:
array(
'Field' => 'Last_Date_Modified',
'Criteria' => '20130101..'
)
Run Code Online (Sandbox Code Playgroud)
以及其他一些变体,但它不返回任何内容。如果我们将其留空,它将返回所有内容。有没有人知道我们可以做什么?如果我们以某种方式将 last_modified_date 存储为像 unix 时间戳这样的 bigint 会有帮助吗?
我正在尝试确定如何通过 Web api 在 Dynamics 中找到选项列表字段的整数值。我可以使用以下方法访问基本元数据:
GET https://[COMPANY].api.crm3.dynamics.com/api/data/v9.0//EntityDefinitions(LogicalName='lead')/Attributes/
Run Code Online (Sandbox Code Playgroud)
但是对于选项列表值,我没有看到整数值到显示字符串的映射。
是否有一张表格可以保存所有这些信息,或者是否有一种方法可以在上述调用中扩展这些信息?
microsoft-dynamics metadata dynamics-crm odata dynamics-crm-webapi
当我尝试将多批记录迁移到 CRM 时,Dynamics 365 Web API 会引发以下错误:
在 300 秒的时间窗口内,传入请求的组合执行时间超过了 1,200,000 毫秒的限制。减少并发请求的数量或减少请求的持续时间,稍后再试。
我正在使用并行 for 循环通过 Web API 将多批数据迁移到 CRM。我需要高吞吐量,因为我需要在有限的时间内迁移数百万条记录。
有没有办法绕过这个问题?限制线程数会导致吞吐量受到重大影响。我需要一个解决方案,以便我可以同时(同时)迁移数百个批次。
我正在使用 Dynamics 365 的 Web API v9.1。我使用并行 for 循环,在每次迭代中,都会提取一大块数据(假设批量大小为 500),并且该线程将这 500 条记录迁移到 CRM . 我希望将每个 500 条记录的多个线程迁移到 CRM。
我尝试通过使用多个用户来解决此问题(因为限制仅限于每个用户),但该解决方案未被客户接受。
另一种解决方案是减少并发线程的数量。这导致吞吐量降低。
我不想限制线程数。这个问题有解决方法吗?
c# microsoft-dynamics dynamics-crm dynamics-crm-webapi dynamics-365
axapta ×5
crm ×2
dynamics-crm ×2
x++ ×2
ax ×1
c# ×1
dynamics-365 ×1
dynamics-nav ×1
metadata ×1
navision ×1
odata ×1
plugins ×1
soap ×1
wsdl ×1
xrm ×1