Я не знаю простого способа добиться этого из-за того, что это fetch xml, а язык весьма ограничен. Но для этого есть небольшой «хак».
Во-первых, я предполагаю, что значение value "@DateType" - это имя атрибута, по которому вы хотите отфильтровать диапазон дат.
Теперь, чтобы добиться того, чего вы хотите, вам в основном нужно перехватить предварительную фильтрацию с помощью собственного параметра. Удалите фильтр из основного запроса и включите предварительную фильтрацию. Что-то вроде следующего (в моем случае я тестировал его на свинце):
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="lead" enableprefiltering="true" prefilterparametername="FilterParam">
<attribute name="fullname" />
<attribute name="createdon" />
<attribute name="modifiedon" />
<attribute name="statuscode" />
<attribute name="subject" />
<attribute name="ownerid" />
<attribute name="leadid" />
<order attribute="createdon" descending="true" />
</entity>
</fetch>
Важной частью является enableprefiltering="true" prefilterparametername="FilterParam"
и указанный параметр предварительной фильтрации FilterParam
(вы можете назвать его как хотите).
Теперь это должно было автоматически создать для вас новый параметр с именем FilterParam
. Откройте свойства этого параметра и отредактируйте значение по умолчанию, чтобы вместо этого прочитать это:
= "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>" +
"<entity name='lead'><all-attributes/>" +
"<filter type='and'>" +
"<condition attribute='" + Parameters!DateType.Value + "' operator='on-or-after' value='" + Format(Parameters!DateFrom.Value, "yyyy-MM-dd") + "' />" +
"<condition attribute='" + Parameters!DateType.Value + "' operator='on-or-before' value='" + Format(Parameters!DateTo.Value, "yyyy-MM-dd") + "' />" +
"</filter></entity></fetch>"
По сути, вы используете выражение в параметре для создания строки FetchXML для передачи в качестве предварительного фильтра. Это использует параметры даты для создания правильного фильтра.
Теперь запустите его, и он должен фильтроваться по двум разным датам.
person
Conor Gallagher
schedule
14.03.2017