Priority-Web-SDK: фильтрация формы

Я пытаюсь понять, как использовать функцию setSearchFilter в Priority Web SDK. Я могу запустить formStart(), а затем form.getRows(1), чтобы получить всю форму, но мне нужно только ~5 из более чем 100 строк.

login(configuration)
    .then(() => formStart('ORDERS', null, null, 'demo',1))
    .then(form => form.setSearchFilter({
        or: 0,
        ignorecase: 1,
        QueryValues: [{
            field: 'TOTPRICE',
            fromval: '100',
            op: '>'
        }]
    }))
    .then(filter => filter.getRows(1))
    .then(rows => console.log(rows))
    .catch(err => console.log(err));

Если я закомментирую then-setSearchFilter линия, я получаю всю форму. С этим я получаю filter не определено.

Это для телефонного приложения, поэтому важно, сколько данных я загружаю.

1 ответ

Решение

Как видно из документации, setSearchFilter не возвращает объект фильтра. После определения фильтра каждый вызов getRows будет возвращать строки в соответствии с фильтром. Вы должны назвать это так: form.getRows не filter.getRows,

Кроме того, при определении фильтра вы должны определить все его элементы.

Другие вопросы по тегам