默认情况下,动态会保存用户对特定实体使用的最后一种形式。如果用户稍后打开相同类型的实体,则使用上次使用的表单。
有没有办法迫使动态总是使用某种形式?
答案 0 :(得分:6)
According to this MVP's blog您可以在UserEntityUISettings
插件中更新特定所有者和实体的Post-Retrieve
记录,以设置要显示的表单。
您必须获取并更新符合以下条件的UserEntityUISettings
:
ownerid
等于插件上下文的UserId
您需要更新lastviewedformxml
属性以设置您希望用户看到的表单。该属性为string
,其格式应为:
"<MRUForm><Form Type=\"Main\" Id=\"FORM_GUID_HERE\" /></MRUForm>"
可以从包含该实体的任何导出解决方案customization.xml
中获取表单GUID。
有一些问题需要注意:
UserEntityUISettings
中没有任何记录,因此如果查询返回0条记录,则不应该throw
。答案 1 :(得分:3)
您需要在加载时将JavaScript写入切换表单为默认(或任何其他)表单。
function switchForm() {
// Get current form's Label
var item = Xrm.Page.ui.formSelector.getCurrentItem();
itemLabel = item.getLabel();
if (itemLabel != "Information")
{
//load Information form
var items = Xrm.Page.ui.formSelector.items.get();
for (var i in items)
{
var form= items[i];
var formId = form.getId();
var formLabel = form.getLabel();
//Check condition either on ID or Label from Form
if (formLabel == "Information")
{
form.navigate();
}
}
}
请检查这些: