Javascript 需要帮助调试CRM Web资源代码--获取错误消息;“Web资源方法不存在”;

Javascript 需要帮助调试CRM Web资源代码--获取错误消息;“Web资源方法不存在”;,javascript,dynamics-crm,webresource,Javascript,Dynamics Crm,Webresource,我试图在用户打开CRM Opportunity表单时,使其上的Manufacturer字段成为必需字段。(我不能简单地使用业务规则来做到这一点,因为QuoteWorks中也需要“制造商”字段,这是我们创建许多Opportunity记录的地方。) 我已经创建了一个javascript web资源并添加到表单的OnLoad部分,但在打开表单时收到以下错误: Web资源方法不存在:将Manufacturer设置为Required 下面是我的代码: function SetManufacturerToR

我试图在用户打开CRM Opportunity表单时,使其上的Manufacturer字段成为必需字段。(我不能简单地使用业务规则来做到这一点,因为QuoteWorks中也需要“制造商”字段,这是我们创建许多Opportunity记录的地方。)

我已经创建了一个javascript web资源并添加到表单的OnLoad部分,但在打开表单时收到以下错误:

Web资源方法不存在:将Manufacturer设置为Required

下面是我的代码:

function SetManufacturerToRequired() {
    var value = Xrm.Page.getAttribute("new_opportunityscope");
    if (value != null) {
        if (value == "Product") {
            Xrm.Page.getAttribute("new_manufacturer").setRequiredLevel("required");
        } else {
            Xrm.Page.getAttribute("new_manufacturer").setRequiredLevel("none");
        }
    }
else {
        Xrm.Page.getAttribute("new_manufacturer").setRequiredLevel("none");
    }
}
如果您能帮助调试,我们将不胜感激。谢谢

第一期


从我最初的想法来看,在添加OnLoad时是否正确添加了函数名
SetManufacturerToRequired
。错误表示已附加到OnLoad事件,但在Webresource中找不到。您可能已经在CRM OnLoad中添加了函数名,将Manufacturer设置为Required

但是,当Opportunity Scope设置为“Product”时,仍然不需要该字段

尝试下面的代码,在您的原始代码中,您只获取属性,而不是它的值

 function SetManufacturerToRequired() {
        var value = Xrm.Page.getAttribute("new_opportunityscope");
        if (value != null) {
            //value.getValue() this will give you value as 777601 or something
if (value.getText()== "Product") {
                    Xrm.Page.getAttribute("new_manufacturer").setRequiredLevel("required");
                } else {
                    Xrm.Page.getAttribute("new_manufacturer").setRequiredLevel("none");
                }
            }
        else {
                Xrm.Page.getAttribute("new_manufacturer").setRequiredLevel("none");
            }
        }

从我最初的想法来看,在添加OnLoad时是否正确添加了函数名
SetManufacturerToRequired
。错误表示已附加到OnLoad事件,但在Webresource中找不到。您可能在CRM OnLoad中添加了函数名,因为
将制造商设置为必需的
。如果可能,请发布编辑(表单)的屏幕截图,在哪里添加OnLoad事件将提供更多信息。@AnkUser,您是对的,谢谢!我称之为“将制造商设置为必需”,需要删除空格。错误不再发生。但是,当Opportunity Scope设置为“Product”时,仍然不需要该字段。web资源在“OnLoad”部分启用,但似乎什么都不做。有什么问题吗?我在你的评论中添加了答案。我将函数名更新为SetManufacturerToRequired,错误消失了。谢谢但是,我尝试使用您的代码,该字段仍然没有更新。你知道为什么吗?“Opportunity Scope”是一个选项集字段,这可能是它不起作用的原因吗?我更新了答案以获取使用value.getText()的选项集文本,并使用value.getValue()获取其值