根据选项集字段值创建新记录

Create new record depending option set field value

我有一个包含一些必填字段的自定义实体。其中之一是 record type 字段,它的值可以是 internalexternal type 1external type 2。还有很多 Subgrids 和字段,每个字段仅对 record type 个值之一可见。

有没有办法为一个实体制作一些表单,一些基本表单只包含 record type 字段,这会根据所选 record type 将我重定向到所选表单。该表单将仅包含 record type 所需的组件。如果有办法做到这一点,这是最好的做法,还是最好将所有内容保持在相同的形式并使用 JavaScript 设置可见性?

取决于表格的复杂程度。如果表单上发生的事情不多,show/hide 选项卡将是最佳选择。但是如果有很多字段和很多逻辑,最好使用不同的表单并使用表单选择器的 Navigate 属性 来强制用户根据选择使用不同的表单。让事情变得更干净。

如果表单有未保存的值,您可能还必须执行 Save 并导航。

function recordType_OnChange() {
    Xrm.Page.data.save().then(function() {
        Xrm.Page.ui.formSelector.items.get(formId).navigate(); //switch formId based on record type value
    }, function(error) {
        console.log(error);
    });
}