【问题标题】:getting a user's business unit on the basis of email address MS Dynamics根据电子邮件地址获取用户的业务部门 MS Dynamics
【发布时间】:2022-07-25 20:29:41
【问题描述】:

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

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

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

【问题讨论】:

    标签: dynamics-crm dynamics-crm-2011 microsoft-dynamics dynamics-crm-2013


    【解决方案1】:

    您需要根据您的内部电子邮件或用户的电子邮件来获取系统用户,然后您必须根据找到的系统用户获取业务单元。

       <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'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-12
      • 1970-01-01
      • 1970-01-01
      • 2015-01-23
      • 2023-01-13
      • 1970-01-01
      相关资源
      最近更新 更多