CRM 2011 JavaScript获取单选按钮值并设置用户名

javascript dynamics-crm-2011

268 观看

2回复

10 作者的声誉

在CRM 2011表单上,我有一个名为new_yearchecked的单选按钮(两个选项)字段和一个名为new_checkedby的查找字段,可以从中查找CRM用户。

我想在表单中添加一段Javascript,如果new_yearchecked更改为“是”,则new_checkedby将自动填充更改了new_yearchecked的用户名。

有人可以帮忙吗?我在这里

function YearChecked() {
if (Xrm.Page.getAttribute("new_yearchecked") = True) {
    var userLookup = Xrm.Page.context.getUserId();
    if (userLookup != null)  {
        Xrm.Page.getAttribute("new_yeacheckedby").setValue(userLookup);

    }

}

}

作者: KD84 的来源 发布者: 2016 年 2 月 22 日

回应 (2)


1

13131 作者的声誉

function getUserName() {
    if (Xrm.Page.ui.setFormNotification !== undefined) { return Xrm.Page.context.getUserName(); }

    var serverUrl;
    if (Xrm.Page.context.getClientUrl !== undefined) {
        serverUrl = Xrm.Page.context.getClientUrl();
    } else {
        serverUrl = Xrm.Page.context.getServerUrl();
    }
    var ODataPath = serverUrl + "/XRMServices/2011/OrganizationData.svc"; 
    var userRequest = new XMLHttpRequest(); 
    userRequest.open("GET", ODataPath + "/SystemUserSet(guid'" + Xrm.Page.context.getUserId() + "')", false); 
    userRequest.setRequestHeader("Accept", "application/json"); 
    userRequest.setRequestHeader("Content-Type", "application/json; charset=utf-8"); 
    userRequest.send();
    if (userRequest.status === 200) {
        var retrievedUser = JSON.parse(userRequest.responseText).d; 
        var userFullName = retrievedUser.FullName;
        return userFullName;
    }
    else { return "error"; }
}

}
function YearChecked() {
    var yearChecked = Xrm.Page.getAttribute("new_yearchecked").getValue();
    if (yearChecked == true) {
        var userLookup = new Array();
        userLookup[0] = new Object();
        userLookup[0].id = Xrm.Page.context.getUserId();
        userLookup[0].name = getUserName();
        userLookup[0].entityType = "systemuser";
        Xrm.Page.getAttribute("new_yeacheckedby").setValue(userLookup);
    }
}
作者: Guido Preite 发布者: 23.02.2016 01:31

0

498 作者的声誉

用户名不是必需的。您可以改用任意/临时名称。保存后,用户将看到实际的用户名。

例如

function YearChecked() {
    if (Xrm.Page.getAttribute("new_yearchecked") == true) {
        Xrm.Page.getAttribute("new_yeacheckedby").setValue([{
            id : Xrm.Page.context.getUserId(),
            name : "Current User",
            entityType : "systemuser"
        }]);
    }
}
作者: Adi Katz 发布者: 26.02.2016 10:57
32x32