我们目前正在使用Dynamics CRM 2016.我们有一个iframe,暂时用于加载另一个应用程序。我们希望将当前登录到CRM的帐户的用户名传递到iframe的URL。使用以下js功能,我可以获取UserId和Name,但它是全名,而不是帐户上的用户名:
function createUrl() {
//var user = Xrm.Page.context.getUserId();
var user = Xrm.Page.context.getUserName();
var url = "http://myapp/app?user=" + user;
Xrm.Page.getControl('IFRAME_externalSite').setSrc(url);
}
我能找到的唯一解决方案是使用Xrm.Page.context.getUserId()方法中的UserId并通过OData查询SystemUser实体并从那里检索用户名。在没有查询OData服务的情况下还有其他方法吗?
答案 0 :(得分:6)
不,如果要获取已记录用户的其他字段而不是getUserId和getUserName方法可用的字段,则必须查询SystemUser实体。
请记住,如果您使用的是CRM 2016,则应该开始使用新的WebAPI(oData 4.0)而不是旧的oData 2.0端点