是否可以定义一个无法删除任何发票但能删除任何发票的发票产品的安全角色?
环境未自定义,并且定义(Tab:Mscrm.Form.invoicedetail.MainTab - > Group:Mscrm.Form.invoicedetail.MainTab.Groups - > Group:Mscrm.Form.invoicedetail.MainTab .Save - >控件:Mscrm.Form.invoicedetail.MainTab.Save.Controls)功能区按钮是
<Button Id="Mscrm.Form.invoicedetail.Delete" ToolTipTitle="$Resources:Mscrm_Form_Other_MainTab_Management_Delete_ToolTipTitle" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Form.Tooltip.Delete" Command="Mscrm.DeletePrimaryRecord" Sequence="70" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Management.Delete" Alt="$Resources:Ribbon.HomepageGrid.MainTab.Management.Delete" Image16by16="/_imgs/ribbon/Delete_16.png" Image32by32="/_imgs/Workplace/remove_32.png" TemplateAlias="o2" ModernImage="Remove" />
相应的命令定义是
<CommandDefinition Id="Mscrm.DeletePrimaryRecord">
<EnableRules>
<EnableRule Id="Mscrm.FormStateNotNew" />
<EnableRule Id="Mscrm.EntityFormIsEnabled" />
<EnableRule Id="Mscrm.CanDeletePrimary" />
</EnableRules>
<DisplayRules>
<DisplayRule Id="Mscrm.DeletePrimaryEntityPermission" />
</DisplayRules>
<Actions>
<JavaScriptFunction FunctionName="onActionMenuClick" Library="/_static/_forms/form.js">
<StringParameter Value="delete" />
<CrmParameter Value="PrimaryEntityTypeCode" />
</JavaScriptFunction>
</Actions>
</CommandDefinition>
似乎无法创建符合要求的角色。 因为 1.在&#39; displayrule&#39;部分,它需要&#39; Mscrm.DeletePrimaryEntityPermission&#39;允许。 2.在&#39; enablerule&#39;部分,它需要&#39; CanDeletePrimary&#39;权限。
提前致谢
答案 0 :(得分:1)
我认为使用OOB功能是不可能的。我建议开发一个插件,它将处理invoiceproduct的Delete消息,如果用户没有要求的角色,则抛出异常。