2012-11-23 66 views
0

我遇到了一个我的托管解决方案的严重问题,我有一个自定义工作流程,它会创建一堆自定义实体,并且这些定制企业有几个钱领域。“如果货币字段中存在值,则需要货币” - 设置默认货币

这里的时候我跑我的工作流程会发生什么:

  1. 自定义工作流进入“等待”状态,throwns一个空引用异常。
  2. 已创建了几个实体,但其中一个在货币字段中有空值(它们默认onLoad为0.00英镑)。
  3. 当我打开这条记录时,我收到了这篇文章中提到的错误信息。

有几件事情你应该知道:

  1. 默认货币在系统中设置(以英镑)。
  2. 我曾尝试下面的JavaScript在我的窗体的onload()事件作为已在别处建议网站:

var lookupData = new Array(); 
var lookupItem= new Object(); 
lookupItem.id = "{7bCA916E76-FA28-E211-8C7C-0800273EE9D1}"; 
lookupItem.entityType = "transactioncurrency"; 
lookupItem.name = "Pound Sterling";  
lookupData[0] = lookupItem; 
Xrm.Page.getAttribute("transactioncurrencyid").setValue(lookupData); 

如果这个JS是thje形式和我试图创建一个新的记录,我得到的错误:

Error: 'Xrm.Page.getAttribute(..)' is null or not an object

任何人都可以提出建议,以它是什么,我要在这里做什么?

此错误只发生在直播系统上,而不是在开发环境中。

+1

您是否知道环境中的id不同?我不认为你应该设置货币。 –

回答

3

这是因为您要在实时环境中尝试设置的货币ID与开发环境中的ID不同。

您需要从现场环境得到了“英镑”货币的ID,并把它放在“在此处插入”:

lookupItem.id = "--insert here--"; 
lookupItem.entityType = "transactioncurrency"; 
lookupItem.name = "Pound Sterling"; 

然后它会奏效。