我正在使用CRM 我想用约会实体中的值更新联系人实体。 联系实体有两个字段最后约会日期和下一个约会日期。 约会实体中称为开始日期和结束日期的两个字段。这两个值应该被复制到联系人字段值。 我希望这发生在使用JavaScript用于更新MSCRM中的值的JavaScript
回答
有几种方法通过他们的Web服务调用CRM实体。使用javsacript可能会非常耗时,因为确定错误发生的原因通常非常困难。我通常倾向于创建一个小的ASP .Net应用程序,将CRM SDK添加为Web服务,明确调用并使用HTTP Fiddler观看SOAP请求。一旦我接着完成了实际的SOAP调用,我就可以复制该调用,将其转换为字符串,以便我可以操纵所需的值,然后通过javsacript请求将其发送到SDK url。
这里是调用CRM SDK更新的一些例子/取指仅使用JavaScript的:
,这里是一个微软官方CRM的JavaScript样本包:
使用基于浏览器的JavaScript,使用Firefox上的Firebug,Chrome上的开发工具等,您可以轻松地观看HTTP。 – 2010-06-24 14:15:32
@TJ Crowder,当然,我只是试图传递我自己的步骤,以确定SOAP请求语法是友好的建议,而不是唯一的方法。 – 2010-06-24 14:29:44
我强烈建议您不要使用JavaScript,而是使用标注(CRM 3.0)或插件(CRM 4.0),纯粹是因为JavaScript会在保存点击上执行,但一旦t他执行了JavaScript,保存可能因其他原因失败(即,更新前标注或插件失败)。
更新后的标注或插件使用相关的ID来访问联系人将是(在我看来)一个更强大的解决方案。但是,如果你想绝对希望通过JavaScript来完成,那么是的,Brian Scott给出的关于他给出的例子的建议就是要走的路。
如果它是一个插件对我来说也没有问题..其实我首先尝试插件。我没有通过它。所以我转移到Java脚本。 这是我使用的代码。 public void Execute(IPluginExecutionContext context) { DynamicEntity entity = null;
if (context.InputParameters.Properties.Contains("Target") &&
context.InputParameters.Properties["Target"] is DynamicEntity)
{
entity = (DynamicEntity)context.InputParameters.Properties["Target"];
if (entity.Name != EntityName.appointment.ToString())
return;
}
else
{
return;
}
try
{
Guid appointmentID = new Guid(context.OutputParameters["id"].ToString());
ICrmService crmservice = context.CreateCrmService(true);
appointment appObj = (appointment)crmservice.Retrieve(EntityName.appointment.ToString(), appointmentID, new ColumnSet(new string[] { "regardingobjectid", "location" }));
if (appObj.regardingobjectid == null || appObj.regardingobjectid.type != "contact")
{
return;
}
Guid contactID = appObj.regardingobjectid.Value;
contact cnt = new contact();
cnt.contactid = new Key();
cnt.contactid.Value = contactID;
cnt.firstname = appObj.location;
crmservice.Update(cnt);
}
catch (System.Web.Services.Protocols.SoapException ex)
{
throw new InvalidPluginExecutionException(
"Invalid plug-in.", ex);
}
}
- 1. MSCRM 2011:过滤使用JavaScript
- 2. 用于循环Firebase更新的Javascript
- 3. MSCRM 2011 Javascript条款问题
- 4. 在MSCRM 2016 turbo表格中使用Silverlight的Javascript函数调用
- 5. Javascript引用值未更新?
- 6. Javascript更新数组中的数组值
- 7. 通过javascript更新html表中的值
- 8. 基于云的MSCRM非生产开发?
- 9. MongoCollection更新,其中的值等于
- 10. 创建联系人和更新的自定义字段MSCRM 4
- 11. JavaScript中的快速方式用新值更新现有阵列
- 12. 更新列值,基于列的值
- 13. 使用java执行MSCRM中的Fetchxml
- 14. 如何删除MSCRM 4.0中的用户
- 15. 更新值,其中值等于
- 16. 需要关于动态更新表值的建议(C#,MVC3,JavaScript)
- 17. 使用Ember.js在Javascript中更新DOM中的值
- 18. 更新关于拖放的JavaScript数据
- 19. 用于更新列中具有相同值的行的T-SQL
- 20. 用于更新点几何中的m值的算法
- 21. 使用基于该行的值更新表中的所有行?
- 22. MSCRM Sharepoint
- 23. 调用Javascript窗体位于更新面板中的ASP.NET按钮
- 24. Tamper Monkey中的JavaScript/userscript是否适用于ajax更新?
- 25. JavaScript的更新
- 26. JavaScript的更新
- 27. 复制对象中的数组,然后更新基于键的值 - Javascript
- 28. 如何用C#中的ListView中的旧值更新新值
- 29. Javascript更新值每15秒
- 30. 更新变量值javascript
FWIW,“JavaScript”是一个单词。最好确保你这样写,以避免与“Java”混淆,这是一种完全不同的语言。 :-) – 2010-06-24 14:14:20
这是[你早先的问题](http://stackoverflow.com/questions/3109828/javascript-to-update-contact-entity)的重复,但它更清晰。我投票决定把另一个关闭,尽管这有点落后。建议去掉和删除你之前的问题(你可以通过点击问题文本下的“删除”来完成)。 – 2010-06-24 14:19:49