FetchXML - 记录不返回

时间:2014-01-31 14:22:21

标签: php dynamics-crm fetchxml

我有这个FetchXML查询,它根据所有者用户所处的业务以及机会成功的概率返回所有记录。我报告的所有字段都是强制性的,将被填写。我遇到的问题是我的一个关联帐户 - “new_dealerid”帐户可能并不总是被填充,如果我包括这个我只能获得31条记录(所有这些都有经销商),如果我不这样做我会得到32 (只有新的没有经销商)。那么有没有人知道如果没有相关帐户,如何将此属性默认为空字符串?

<request i:type="b:RetrieveMultipleRequest" xmlns:b="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <b:Parameters xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
                <b:KeyValuePairOfstringanyType>
                    <c:key>Query</c:key>
                    <c:value i:type="b:FetchExpression">
                        <b:Query>&lt;fetch mapping="logical" version="1.0" &gt;&#xD;
                            &lt;entity name="opportunity"&gt;&#xD;
                                &lt;attribute name="estimatedvalue" /&gt;&#xD;
                &lt;attribute name="name" /&gt;&#xD;
                &lt;attribute name="new_opportunitytype" /&gt;&#xD;
                &lt;attribute name="new_salesphase" /&gt;&#xD;
                &lt;attribute name="estimatedclosedate" /&gt;&#xD;
                &lt;link-entity name="systemuser" from="systemuserid" to="ownerid"&gt;&#xD;
                    &lt;attribute name="fullname"/&gt;&#xD;
                &lt;/link-entity&gt;
                &lt;link-entity name="account" from="accountid" to="new_dealerid"&gt;&#xD;
                    &lt;attribute name="name"/&gt;&#xD;
                &lt;/link-entity&gt;
                &lt;link-entity name="account" from="accountid" to="customerid"&gt;&#xD;
                    &lt;attribute name="name"/&gt;&#xD;
                &lt;/link-entity&gt;
                &lt;filter type="and"&gt;
                &lt;condition attribute="salesstagecode" operator="eq" value="'.$prob.'" /&gt;
                &lt;condition attribute="statuscode" operator="eq" value="1" /&gt;
                &lt;/filter&gt;
                &lt;link-entity name="systemuser" from="systemuserid" to="ownerid"&gt;&#xD;
                    &lt;link-entity name="businessunit" from="businessunitid" to="businessunitid"&gt;&#xD;
                &lt;filter type="and"&gt;
                    &lt;condition attribute="name" operator="eq" value="'.$bu.'" /&gt;
                &lt;/filter&gt;
                &lt;/link-entity&gt;
                &lt;/link-entity&gt;
                            &lt;/entity&gt;&#xD;
                        &lt;/fetch&gt;</b:Query>
                    </c:value>
                </b:KeyValuePairOfstringanyType>
            </b:Parameters>
            <b:RequestId i:nil="true"/><b:RequestName>RetrieveMultiple</b:RequestName>
    </request>

1 个答案:

答案 0 :(得分:1)

澄清一下,您想获得所有32条记录吗?

在这种情况下,您需要使用外部联接。

<link-entity name="account" from="accountid" to="new_dealerid" link-type="outer">