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