Dynamics 365 禁用选项的两种方式

436 字
2 分钟
Dynamics 365 禁用选项的两种方式

前言#

假定客户实体上有怎么一个“发票类型”的选项字段,现在需要把数专、数普外的选项停用掉,不让用户选到

选项选项值说明
专票10隐藏
普票20隐藏
电票30隐藏
纸质专票40隐藏
数电专票50
数电普票60

方式(一)通过JavaScript隐藏#

在没有“方式(二)”之前,我一般是通过 JS 的方式,在表单上添加逻辑,加载时移除掉这些选项。但这种方式有一个弊端:比如已有的记录选择了”电票”,用户打开表单的时候会看到这个字段是空的,很诡异。

// 把下面这段逻辑注册到表单的 OnLoad 事件上即可
RemoveInvoiceTypeOption: function (ExecutionContext) {
var objFormContext = ExecutionContext.getFormContext();
objFormContext.getControl("new_invoicetype").removeOption(10);
objFormContext.getControl("new_invoicetype").removeOption(20);
// ...
}
  • 只是”看不见”,数据本身没变,历史记录选了隐藏项会显示为空,容易让人误以为数据丢失;
  • 用户仍可能通过高级查找、视图、导入、Web API 等途径选到这些选项;
  • 每个表单都要单独维护这段脚本,容易漏。

方式(二)通过配置禁用#

可用通过配置的方式禁用选项后,强烈建议使用这个方式!

在解决方案编辑选项字段,对需要禁用的选项点击“三个点”,选择“其他属性”,把“已隐藏”勾选上之后保存即可。

通过配置隐藏选项
通过配置隐藏选项

对于已选择的“选项”,例如这条记录在禁用选项之前选择的是“电票”,那么画面会呈现禁用的样式:

通过配置禁用选项的效果
通过配置禁用选项的效果

(完)

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
Dynamics 365 禁用选项的两种方式
https://mgrowup.com/posts/dynamics365/disable-optionset-values/
作者
Donghai
发布于
2026-09-14
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Donghai
Hello, I'm Donghai.
公告
欢迎来到我的博客!这是一则示例公告。
分类
标签
最新动态
站点统计
文章
83
分类
11
标签
41
总字数
78,556
运行时长
0
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.5
文章许可
CC BY-NC-SA 4.0