首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于电子邮件地址MS Dynamic获取用户的业务单元

基于电子邮件地址MS Dynamic获取用户的业务单元
EN

Stack Overflow用户
提问于 2022-07-25 09:49:49
回答 1查看 70关注 0票数 0

我已经能够获得当前登录用户的业务单位价值的基础上的系统用户id。我想得到相同的业务单位价值,但,根据“内部邮件地址”或简单的用户的电子邮件地址。

到目前为止,我已经能够得到当前用户的电子邮件地址。但是,不知道如何在此基础上获得业务单位价值。

是否可以根据用户的电子邮件地址检索用户的业务单位?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-25 12:29:41

您将需要根据您的内部电子邮件或用户的电子邮件来生成系统用户,然后您将不得不获取基于系统用户发现的业务单元。

代码语言:javascript
运行
复制
   <fetch top="50">
  <entity name="systemuser">
    <attribute name="internalemailaddress" />
    <attribute name="systemuserid" />
    <attribute name="fullname" />
    <filter>
      <condition attribute="internalemailaddress" operator="eq" value="abc@xyz.de" />
    </filter>
    <link-entity name="businessunit" from="businessunitid" to="businessunitid" link-type="inner">
      <attribute name="name" />
      <attribute name="businessunitid" />
    </link-entity>
  </entity>
</fetch>

查询表达式

代码语言:javascript
运行
复制
// Define Condition Values
var query_internalemailaddress = "abc@xyz.de";

// Instantiate QueryExpression query
var query = new QueryExpression("systemuser");
query.TopCount = 50;

// Add columns to query.ColumnSet
query.ColumnSet.AddColumns("internalemailaddress", "systemuserid", "fullname");

// Define filter query.Criteria
query.Criteria.AddCondition("internalemailaddress", ConditionOperator.Equal, query_internalemailaddress);

// Add link-entity query_businessunit
var query_businessunit = query.AddLink("businessunit", "businessunitid", "businessunitid");

// Add columns to query_businessunit.Columns
query_businessunit.Columns.AddColumns("name", "businessunitid");

OData查询

代码语言:javascript
运行
复制
https://CRMURL.crm.dynamics.com/api/data/v9.2/systemusers?$select=internalemailaddress,systemuserid,fullname&$expand=businessunitid($select=name,businessunitid)&$filter=(internalemailaddress eq 'abc%40xyz.de') and (businessunitid/businessunitid ne null)&$top=50

SQL查询

代码语言:javascript
运行
复制
SELECT TOP 50 internalemailaddress, systemuserid, fullname, businessunit.name, businessunit.businessunitid
FROM systemuser
JOIN businessunit businessunit ON businessunit.businessunitid = systemuser.businessunitid
WHERE internalemailaddress = 'abc@xyz.de'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73107211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档