MS CRM 2011表单:“默认情况下可见”字段属性复选框不起作用

时间:2013-02-04 12:56:19

标签: dynamics-crm-2011

我最近将crm 4数据库迁移到了crm 2011.我们正在使用内部部署版本。

我现在正在调整脚本和表单到crm 2011.使用我的一个表单我有以下问题:我试图隐藏表单中的所有者。

要执行此操作,我已取消选中“字段属性”表单上的“默认情况下可见”复选框。

这适用于大多数表单,但无论我做什么,都会在其中一个表单上显示所有者。我已经能够在表单中移动字段,删除标签等。所有这些都有效,但是对可见性的更改将不起作用。

有人见过这个吗?为什么不起作用?有没有人知道如何在不编写自定义javascript的情况下解决问题(这可能会有效,但我有兴趣获得“默认可见”复选框再次工作。

更新

自定义实体只定义了一个表单。 此表单上没有自定义的JavaScript,但我检查了javascript错误,但没有。更奇怪的是,如果我看一下我看到的HTML代码 如果未选中复选框(样式可见性设置为可见!),则显示以下代码:

<td class="ms-crm-FieldLabel-LeftAlign ms-crm-Field-Required" id="ownerid_c" style="visibility: visible;">

然后是勾选的复选框我将得到(根本没有样式属性!):

<td class="ms-crm-FieldLabel-LeftAlign ms-crm-Field-Required" id="ownerid_c">

不用说我确实发布了我的更改。

在复选框按预期工作的表单上,我看到以下html(样式属性显示设置为无):

<td class="ms-crm-FieldLabel-LeftAlign ms-crm-Field-Required" id="ownerid_c" style="display: none;">

更新2

此问题发生在实体的更新形式中(因此所有者不为null)。 我把所有者移到了一个部分并试图隐藏该部分,但不幸的是该部分 不会隐藏。 * 如果我将所有者移出该部分,该部分将隐藏。我想知道这个所有者领域有什么,不会让我隐藏它。

3 个答案:

答案 0 :(得分:1)

这困扰了我很久,直到我意识到发生了什么。我试图完全只读更新表单。 CRM表单在更新表单上至少需要一个可读字段。当它找不到一个时,它会留下一个可见的和可读的(通常是所有者或名称字段或者恰好是表单上的最后一个字段)。我在某个地方找到了以下javascript代码,它可以很好地禁用表单上的所有字段,而不会显示默认设置不可见的讨厌的所有者字段。 (作者的道具,因为我不记得我在哪里得到它)

function DisableFormFields() {
    Xrm.Page.ui.controls.forEach(function(control, index) {
        if (doesControlHaveAttribute(control)) {
            control.setDisabled(true);
        }
    });
}

function doesControlHaveAttribute(control) {
    var controlType = control.getControlType();
    return controlType != "iframe" && controlType != "webresource" && controlType != "subgrid";
}

答案 1 :(得分:0)

因为这是CRM中表单的基本部分,所以我猜你的真正问题是导致字段不被隐藏的其他问题。如果你在IE中按F12,然后转到脚本选项卡进行调试,你会看到任何javascript错误吗?

同时确保您正在查看正确的。在CRM 2011中,您可以为不同的角色提供不同的表单,因此请务必检查左上角的表单。

不要忘记发布您的自定义设置!

修改

我知道如果某个字段被标记为必需,如果您尝试保存该表单并且该字段为空,它仍会显示它。这是在实体的创建上发生的,还是已经填充了值的实体的更新?

我会尝试将字段移动到它自己的部分,并使整个部分不可见。这也是一个很好的做法,因为如果您向表单添加其他字段,隐藏的字段将占用表单中的空格。

答案 2 :(得分:0)

您使用的是RTM版本的CRM 2011吗?已经使用汇总1

修复了已知错误
  

如果未选中“默认值可见”字段,则无法通过客户端API将字段可见性设置为“true”。

也许您的问题与此错误相关/相关

您可以在此处阅读更改日志:

Update Rollup 1 for Microsoft Dynamics CRM 2011 is available