阻止Dynamics CRM 2011使用上次使用的表单

Gea*_*eaz 3 microsoft-dynamics dynamics-crm dynamics-crm-2011

默认情况下,动态保存用户对特定实体使用的最后一种形式.如果用户稍后打开相同类型的实体,则使用上次使用的表单.

有没有办法强迫动态总是使用某种形式?

Ale*_*lex 6

根据此MVP的博客,您可以更新插件中UserEntityUISettings特定所有者和实体的记录,Post-Retrieve以设置要显示的表单.

您必须获取并更新UserEntityUISettings以下条件:

  • ownerid 等于插件上下文 UserId
  • 'objecttypecode'等于实体的类型代码(数字,而不是字符串)

您需要更新lastviewedformxml属性以设置希望用户看到的表单.该属性string应具有以下格式:

"<MRUForm><Form Type=\"Main\" Id=\"FORM_GUID_HERE\" /></MRUForm>"
Run Code Online (Sandbox Code Playgroud)

可以从customization.xml包含实体的任何导出解决方案中获取表单GUID .

有一些问题需要注意:

  • 这个插件是沙盒能的(所以没关系)但它与未记录的属性进行交互,所以确保它在任何更新后都能正常工作(它应该,但你永远不知道......)
  • 像SYSTEM这样的"特殊"用户没有任何记录,UserEntityUISettings所以如果查询返回0记录则不应该throw.
  • 我怀疑用户将无法再手动切换表单...
  • 这是一个检索插件,它可能会减慢查找速度