Я пытаюсь использовать веб-службы Acumatica для «экспорта» с экрана CR302000 (Организация> Управление клиентами> Контакты).
Используя фильтр с условием FilterCondition.Contain
, я могу ограничить результаты только теми, у которых поле Phone1
содержит определенную строку.
Теперь я хочу, чтобы номер телефона, по которому я выполняю фильтрацию, содержал подстановочный знак. В веб-интерфейсе работает подстановочный знак%. Но при использовании веб-сервисов это не работает (строки не возвращаются).
Мой фильтр:
Filter[] filters = new Filter[]
{
new Filter()
{
Field = new Field()
{
FieldName = context.DetailsContact.Phone1.FieldName,
ObjectName = context.DetailsContact.Phone1.ObjectName
},
Condition = FilterCondition.Contain,
Operator = FilterOperator.And,
Value = "283%9534"
}
}
Что становится таким в запросе SOAP:
<Filter>
<Field>
<FieldName>Phone1</FieldName>
<ObjectName>ContactCurrent: 1</ObjectName>
</Field>
<Condition>Contain</Condition>
<Value xsi:type="xsd:string">283%9534</Value>
<OpenBrackets>0</OpenBrackets>
<CloseBrackets>0</CloseBrackets>
<Operator>And</Operator>
</Filter>
Кто-нибудь знает, можно ли добиться фильтрации с помощью подстановочных знаков с помощью API веб-служб?
Обновление. Подстановочный знак% почти работает, если я не добавляю команду ContactSummary.ServiceCommands.EveryContactID
. Он возвращает ровно один результат, соответствующий поиску с подстановочными знаками. Но мне нужны все совпадающие результаты, поэтому я включаю EveryContactID
Обновление 2: подстановочный знак отлично подходит для экрана CR301000 (Leads) с командой LeadSummary.ServiceCommands.EveryLeadID
. Это ошибка CR302000?
Обновление 3: резюмируя беседу в комментариях к принятому ответу, CR301 и CR302 должны иметь возможность фильтровать по контактному телефону с подстановочным знаком, но из-за какой-то неизвестной ошибки CR302 не может использовать подстановочные знаки. .