在CRM 2011中,我正在Case页面上开发一个功能区按钮,用于启动自定义对话框。到目前为止,这种方法运作良好。
现在我正在尝试在创建案例期间以及案例关闭后禁用该按钮。
在customization.xml中,这是我在CommandDefinitions中使用RuleID“Mscrm.DisableDeactivateButton”的原因
<CommandDefinitions>
<CommandDefinition Id="Cmd_DialogEscalateCase">
<EnableRules>
<EnableRule Id="Mscrm.DisableDeactivateButton" /> ----> this is the name of the Rule
</EnableRules>
<DisplayRules />
<Actions>
<JavaScriptFunction FunctionName="launchModalDialog" Library="$webresource:new_launchDialog">
<!-- dialogID, typeName, recordId -->
<StringParameter Value="38d3bc89-ac5f-4097-94df-e9b165177777" />
<StringParameter Value="incident" />
<CrmParameter Value="FirstPrimaryItemId" />
</JavaScriptFunction>
</Actions>
</CommandDefinition>
然后这是我的Mscrm.DisableDeactivateButton“定义,它触发了一个名为”DisableDialogButton“的jscript webresouce:
<EnableRule Id="Mscrm.DisableDeactivateButton">
<CustomRule FunctionName="DisableDialogButton" Library="$webresource:nwp_launchDialog" Default="true" />
</EnableRule>
最后,当formType为1(创建)或3(只读)时,他的DisableDialogButton javascript返回false:
function DisableDialogButton()
{
var formType = Xrm.Page.ui.getFormType();
if (formType = 1 || formType = 3)
{return false;
}
else
{return true;
}
}
但是此功能仍无效。你能指导一下我应该采取的方向吗?
答案 0 :(得分:0)
尝试使用以下代码:
function DisableDialogButton()
{
var formType = Xrm.Page.ui.getFormType();
if (formType == 1 || formType == 3)
{
return false;
}
else
{
return true;
}
}
答案 1 :(得分:0)
不是您问题的直接答案。但是,对于工具栏中的添加和启用按钮,存在一个良好的CRM解决方案: