2016-06-08 6 views
2

Я сделал запрос, который получает все отчеты от CRM, которые имеют определенный пользовательский указатель или должны быть выполнены сегодня. Так эквивалент, если заявление будет:XrmServiceToolkit.SOAP.RetrieveMultiple Query CRM 2016

if(ownerid == userGuid || novemo_date == today) {...} 

Как я могу сделать этот вид запроса:

if(ownerid == userGuid && (novemo_date == today || novemo_date == yesterday)){...} 

Это мой запрос:

var query = "<a:ColumnSet>" + 
          "<a:AllColumns>true</a:AllColumns>" + 
          "</a:ColumnSet>" + 
         "<a:Criteria>" + 
          "<a:Conditions />" + 
          "<a:FilterOperator>Or</a:FilterOperator>" + 
          "<a:Filters>" + 
          "<a:FilterExpression>" + 
           "<a:Conditions>" + 
           "<a:ConditionExpression>" + 
            "<a:AttributeName>ownerid</a:AttributeName>" + 
            "<a:Operator>Equal</a:Operator>" + 
            "<a:Values xmlns:b='http://schemas.microsoft.com/2003/10/Serialization/Arrays'>" + 
            "<b:anyType i:type='c:string' xmlns:c='http://www.w3.org/2001/XMLSchema'>" + userGuid + "</b:anyType>" + 
            "</a:Values>" + 
           "</a:ConditionExpression>" + 
           "<a:ConditionExpression>" + 
            "<a:AttributeName>novemo_date</a:AttributeName>" + 
            "<a:Operator>Equal</a:Operator>" + 
            "<a:Values xmlns:b='http://schemas.microsoft.com/2003/10/Serialization/Arrays'>" + 
            "<b:anyType i:type='c:string' xmlns:c='http://www.w3.org/2001/XMLSchema'>" + today + "</b:anyType>" + 
            "</a:Values>" + 
           "</a:ConditionExpression>" + 
           "</a:Conditions>" + 
           "<a:FilterOperator>Or</a:FilterOperator>" + 
           "<a:Filters />" + 
          "</a:FilterExpression>" + 
          "</a:Filters>" + 
         "</a:Criteria>" + 
         "<a:Distinct>false</a:Distinct>" + 
         "<a:EntityName>novemo_timereport</a:EntityName>" + 
         "<a:LinkEntities />" + 
         "<a:Orders />" + 
         "<a:PageInfo>" + 
          "<a:Count>0</a:Count>" + 
          "<a:PageNumber>0</a:PageNumber>" + 
          "<a:PagingCookie i:nil='true' />" + 
          "<a:ReturnTotalRecordCount>false</a:ReturnTotalRecordCount>" + 
         "</a:PageInfo>" + 
         "<a:NoLock>false</a:NoLock>"; 
+0

Мне удалось отфильтровать результаты, просмотрев полученные записи и сравнив атрибут ownerid с userGuid и удалив записи, не соответствующие массиву. Если есть кто-то, у кого есть опыт работы с этими типами запросов, я буду более чем благодарен за обмен знаниями ... С уважением! – bocasa

ответ

1

Используйте SOAP logger, вы можете напишите свою логику на C#, и журнал выведет XML-запрос/ответ для вас.

+0

Это кажется хорошей идеей, я дам ей попробовать ... – bocasa

Смежные вопросы