Процессы: Автоматизация действий - Не работает фильтр действий в списке
-
- Спонсор
- Сообщения: 428
- Зарегистрирован: 02 дек 2017, 10:10
- Имя: Nikolay Rastegaev
- Откуда: Izhevsk
Процессы: Автоматизация действий - Не работает фильтр действий в списке
Фильтр на возможность применения действий работает на странице сущности (кнопки присутствуют на странице или отсутствуют в зависимости от значений фильтра), но в списке фильтр не действует и через список можно выполнить действие над сущностью, для которой оно должно быть не доступно.
Иллюстрации на скриншотах.
Конечно, в списке всегда будут сущности в разных состояних. Будут те, к которым действие можно применять и те, к которым нет. Причем действий будет много и каждое из них будет применяться к различным подмножествам сущностей из списка. И эти подмножества могут пересекаться, могут не пересекаться... Поэтому выделять как-то выделить сущности в списке, к которым нельзя применить действие из выпадающего меню над списком нельзя. Также нельзя убрать/скрыть чекбокс в строке сущности. Поэтому предлагаю сделать
1) либо всплывающее окно с сообщением, что к данной сущности действие не может быть применено,
2) либо сообщение вверху страницы, по подобию с сообщением об успешном применении автоматизированых действий.
Иллюстрации на скриншотах.
Конечно, в списке всегда будут сущности в разных состояних. Будут те, к которым действие можно применять и те, к которым нет. Причем действий будет много и каждое из них будет применяться к различным подмножествам сущностей из списка. И эти подмножества могут пересекаться, могут не пересекаться... Поэтому выделять как-то выделить сущности в списке, к которым нельзя применить действие из выпадающего меню над списком нельзя. Также нельзя убрать/скрыть чекбокс в строке сущности. Поэтому предлагаю сделать
1) либо всплывающее окно с сообщением, что к данной сущности действие не может быть применено,
2) либо сообщение вверху страницы, по подобию с сообщением об успешном применении автоматизированых действий.
Последний раз редактировалось nikolay.rastegaev 14 янв 2018, 10:41, всего редактировалось 2 раза.
- support
- Техническая поддержка
- Сообщения: 9016
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Автоматизация действий - Не работает фильтр действий в списке сущностей
Я вот думаю скрыть автоматизацию в списке, если установлены фильтры, потому что применять фильтр к каждой записи - это не вариант. Если записей будет 1000 или 10000, то сервер не выдержит.
-
- Спонсор
- Сообщения: 428
- Зарегистрирован: 02 дек 2017, 10:10
- Имя: Nikolay Rastegaev
- Откуда: Izhevsk
Re: Автоматизация действий - Не работает фильтр действий в списке сущностей
Вот как раз на эту тему сейчас следующий пост:
viewtopic.php?f=10&t=1147&p=4761
Автоматизация в списке необходима. Нельзя ее убирать. Вот как, например, делать массовое согласование каких-нибудь запросов, задач. Это очень нужная и востребованная функция.
Как можно сделать:
1) Пользователь открыл список записей, В БД был запрос, мы уже знаем сколько записей в списке N
2) Пользователь выполняет действие над списком. Это действие подразумевает условие.
В этом случае приложение выполняет один! запрос в БД, где в where прописаны условия, к которым может быть применено действие. ЗАтем по полученному списку выполняет действие.
Мы также получили количество записей в списке M
3) Если M < N, выводим пользователю сообщение, что действие было применено не ко всем записям.
И выводим список тех записей, к которым оно было применено. Этот список получили уже на шаге 2.
Запросов к базе меньше 10. Нагрузка на сервер - не будет нагрузки.
А что касается 1000 и 10 000 записей - то в этом случае это уже Enterprise уровень. Владельцы таких приложений уже должны понимать, что их приложение должно работать не на компах и не на виртуальных хостингах, а на выделенном сервере стоимостью в миллионы рублей. Ну или хотя бы тысяч 500.
viewtopic.php?f=10&t=1147&p=4761
Автоматизация в списке необходима. Нельзя ее убирать. Вот как, например, делать массовое согласование каких-нибудь запросов, задач. Это очень нужная и востребованная функция.
Как можно сделать:
1) Пользователь открыл список записей, В БД был запрос, мы уже знаем сколько записей в списке N
2) Пользователь выполняет действие над списком. Это действие подразумевает условие.
В этом случае приложение выполняет один! запрос в БД, где в where прописаны условия, к которым может быть применено действие. ЗАтем по полученному списку выполняет действие.
Мы также получили количество записей в списке M
3) Если M < N, выводим пользователю сообщение, что действие было применено не ко всем записям.
И выводим список тех записей, к которым оно было применено. Этот список получили уже на шаге 2.
Запросов к базе меньше 10. Нагрузка на сервер - не будет нагрузки.
А что касается 1000 и 10 000 записей - то в этом случае это уже Enterprise уровень. Владельцы таких приложений уже должны понимать, что их приложение должно работать не на компах и не на виртуальных хостингах, а на выделенном сервере стоимостью в миллионы рублей. Ну или хотя бы тысяч 500.
-
- Спонсор
- Сообщения: 428
- Зарегистрирован: 02 дек 2017, 10:10
- Имя: Nikolay Rastegaev
- Откуда: Izhevsk
Re: Автоматизация действий - Не работает фильтр действий в списке сущностей
По алгоритму уточнение:
...
2) Пользователь отметил 5 пунктов из списка, сделал запрос.
3) Получили список запросов SELECT-ом с условием из фильтра автоматизированного действия
4) Посчитали функцией SQL COUNT не выполняя полного запроса количество записей без фильтра
5.1) Сравнили, если совпадают, никаких предупреждений не выводим, значит применили действие ко всем записям
5.2) Количество записей с фильтром меньше. Выводим список записей из списка с фильтром с текстом сообщения, что действие применено только к этим записям. Выводить лучше в виде предупреждения, пусть даже и длинного, Проще скопировать, чем из всплывающего окна.
...
2) Пользователь отметил 5 пунктов из списка, сделал запрос.
3) Получили список запросов SELECT-ом с условием из фильтра автоматизированного действия
4) Посчитали функцией SQL COUNT не выполняя полного запроса количество записей без фильтра
5.1) Сравнили, если совпадают, никаких предупреждений не выводим, значит применили действие ко всем записям
5.2) Количество записей с фильтром меньше. Выводим список записей из списка с фильтром с текстом сообщения, что действие применено только к этим записям. Выводить лучше в виде предупреждения, пусть даже и длинного, Проще скопировать, чем из всплывающего окна.
Последний раз редактировалось nikolay.rastegaev 14 янв 2018, 08:44, всего редактировалось 1 раз.
- support
- Техническая поддержка
- Сообщения: 9016
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Автоматизация действий - Не работает фильтр действий в списке сущностей
ага, благодарю за разъяснения, появилась идея, попробую реализовать.
-
- Спонсор
- Сообщения: 428
- Зарегистрирован: 02 дек 2017, 10:10
- Имя: Nikolay Rastegaev
- Откуда: Izhevsk
Re: Автоматизация действий - Не работает фильтр действий в списке сущностей
Сергей, получится, ли сделать сегодня, или завтра утром? Если можно.
У нас сейчас учтены работы в Руководителе и мы хотим согласовать их трудозатраты у заказчика.
Он будет согласовывать списком в Руководителе.
У нас сейчас учтены работы в Руководителе и мы хотим согласовать их трудозатраты у заказчика.
Он будет согласовывать списком в Руководителе.
- support
- Техническая поддержка
- Сообщения: 9016
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Процессы: Автоматизация действий - Не работает фильтр действий в списке
Завтра, сегодня не успею.
- support
- Техническая поддержка
- Сообщения: 9016
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Процессы: Автоматизация действий - Не работает фильтр действий в списке
Поправил. Процесс применяется только к записям, которые попадают под фильтр.
- Вложения
-
- plugins.zip
- (25.29 КБ) 195 скачиваний
-
- Спонсор
- Сообщения: 428
- Зарегистрирован: 02 дек 2017, 10:10
- Имя: Nikolay Rastegaev
- Откуда: Izhevsk
Re: Процессы: Автоматизация действий - Не работает фильтр действий в списке
Работает! Спасибо!