“如果货币字段中存在值,则需要货币” - 设置了默认货币

时间:2012-11-23 12:35:43

标签: javascript dynamics-crm-2011

我的托管解决方案存在严重问题,我有一个自定义工作流程,可以创建一系列自定义实体,这些自定义实体上有几个货币字段。

以下是我运行工作流程时会发生的事情:

  1. 自定义工作流程进入“等待”状态并抛出空引用异常。
  2. 已经创建了几个实体,但其中一个实体在货币字段中有空值(默认值为£0.00)。
  3. 当我打开此记录时,我收到了本帖子中提到的错误消息。
  4. 你应该知道一些事情:

    1. 默认货币在系统中设置(至英镑)。
    2. 我已经尝试在我的表单的OnLoad()事件中跟踪JavaScript,如网络上其他地方所建议的那样:

    3. 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在表单上并且我尝试创建一个新记录,我会收到错误:

        

      错误:'Xrm.Page.getAttribute(..)'为null或不是对象

      有人可以告诉我这里必须做什么吗?

      此错误仅发生在实时系统上,而不是在开发环境中。

1 个答案:

答案 0 :(得分:3)

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

您需要从实时环境中获取“英镑”货币的ID,并将其放在“插入此处”:

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

然后它会起作用。