Доброго времени! 



У меня интересная задача)

Необходимо сменить ответственного у нескольких записей продаж.



Задача:

1. Поставить фильтр (допустим выдало 100 записей)

2. Нажать "Выбрать все" (показано что выбрано 100)

3. Снять 1 галочку (показано что выбрано 99)

4. Нажать "Изменить ответственного"



Методы:

var selectedRows = this.getSelectedItems();

var selectedRows = this.get("SelectedRows");



Возвращают Id только отображенных записей (29)!



Как получить ожидаемые 99 Id записей?

Нравится

3 комментария

Здравствуйте.

Когда загружается реестр посылается один запрос (который оптимизирован и загружает не все записи, а 30 – если у вас 100000 записей то не будет накладки по производительности). Когда вы нажимаете «Выбирать все», то не произойдет загрузки всех записей(оптимизация описанная выше), а отправится отдельный запрос который просто вернет количество и обновит название кнопки (при дебаге в network это видно). Чтобы добиться требуемого результата нужно самостоятельно посылать запрос.

Тоже столкнулся с такой проблемой. Самое простое решение, которое я нашел - это использовать функцию, возвращающую запрос на получение записей для экспорта:

                    var esq = this.getExportToExcelEsq();

                    esq.rowCount = -1;

                    esq.getEntityCollection(function (response) {...}, this);

Можно посмотреть, как она работает и заменить её своей. Результатом запроса будут все выделенные записи (99 в Вашем случае).

 

Поправка: в 7.12.2 функция, возвращающая запрос, переехала, теперь так:

var esq = this.getGridDataInitializedEsq(true);

esq.rowCount = -1;

...

Показать все комментарии