Запрос FetchXML для возврата всех записей, принадлежащих подчиненным текущего пользователя.

У меня есть организация, которая использует управленческую иерархию для организации сотрудников (пользователей). Они хотели бы мнение для менеджеров. Это представление должно возвращать все Открытые возможности, принадлежащие Пользователям, которыми управляет текущий пользователь, ИЛИ управляется кем-то, кем управляет текущий пользователь, ИЛИ управляется кем-то, кем управляет кто-то, кем управляет текущий пользователь. Эти 3 уровня - все, что нам нужно.

Я уже разработал запрос FetchXML, который возвращает все проекты, принадлежащие пользователям, которыми управляет текущий пользователь.

  <entity name="opportunity">
    <attribute name="name" />
    <attribute name="estimatedvalue" />
    <attribute name="statuscode" />
    <attribute name="parentcontactid" />
    <attribute name="parentaccountid" />
    <attribute name="opportunityid" />
    <order attribute="name" descending="false" />
    <filter type="and">
      <condition attribute="statecode" operator="eq" value="0" />
    </filter>
    <link-entity name="systemuser" from="systemuserid" to="owninguser" link-type="inner" alias="ad">
      <filter type="and">
        <condition attribute="parentsystemuserid" operator="eq-userid" />
      </filter>
    </link-entity>
  </entity>
</fetch>

Ниже приведен вариант, который также не работает. Это возвращает все возможности, которые принадлежат тому, кто управляется текущим пользователем, который управляет ими самостоятельно.

  <entity name="opportunity">
    <attribute name="name" />
    <attribute name="estimatedvalue" />
    <attribute name="statuscode" />
    <attribute name="parentcontactid" />
    <attribute name="parentaccountid" />
    <attribute name="opportunityid" />
    <order attribute="name" descending="false" />
    <filter type="and">
      <condition attribute="statecode" operator="eq" value="0" />
    </filter>
    <link-entity name="systemuser" from="systemuserid" to="owninguser" link-type="inner" alias="aa">
      <filter type="and">
        <condition attribute="parentsystemuserid" operator="eq-userid" />
      </filter>
      <link-entity name="systemuser" from="systemuserid" to="parentsystemuserid" link-type="inner" alias="ab">
        <filter type="and">
          <condition attribute="parentsystemuserid" operator="eq-userid" />
        </filter>
        <link-entity name="systemuser" from="systemuserid" to="parentsystemuserid" link-type="inner" alias="ac">
          <filter type="and">
            <condition attribute="parentsystemuserid" operator="eq-userid" />
          </filter>
        </link-entity>
      </link-entity>
    </link-entity>
  </entity>
</fetch>

person MoonShotExpress    schedule 11.10.2019    source источник


Ответы (1)


Вас могут заинтересовать следующие операторы-владельцы:

  • eq-useroruserhierarchy
  • eq-useroruserhierarchyandteams
  • eq-useroruserteams
  • eq-userteams

Из вашего описания вам может понадобиться eq-useroruserhierarchy

Вы используете это так:

<fetch top="50" >
  <entity name="opportunity" >
    <all-attributes/>
    <filter>
      <condition attribute="ownerid" operator="eq-useroruserhierarchy" />
    </filter>
  </entity>
</fetch>
person jasonscript    schedule 11.10.2019