我已经能够获得当前登录用户的业务单位价值的基础上的系统用户id。我想得到相同的业务单位价值,但,根据“内部邮件地址”或简单的用户的电子邮件地址。
到目前为止,我已经能够得到当前用户的电子邮件地址。但是,不知道如何在此基础上获得业务单位价值。
是否可以根据用户的电子邮件地址检索用户的业务单位?
发布于 2022-07-25 12:29:41
您将需要根据您的内部电子邮件或用户的电子邮件来生成系统用户,然后您将不得不获取基于系统用户发现的业务单元。
<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>
查询表达式
// 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查询
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查询
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'
https://stackoverflow.com/questions/73107211
复制相似问题