Б24.
Решил сделать через компонент фильтра. Однако, есть проблемы:
- не нашел возможность переименовать кнопки (найти, сбросить);
- не нашел возможность отловить нажатие кнопки "Найти". Дело в том, что отчет "тяжелый", поэтому запускать его нужно не на изменении его полей, а нажатием на соответствующую кнопку. В script.js соответствующего компонента такого события нет (только onApply, но не увидел возможности отследить источник).
Подскажите, пожалуйста, куда копать. Может я использую неверное направление?
- не нашел возможность отловить нажатие кнопки "Найти". https://bx24devbook.website.yandexcloud.net/Razrabotka/UI/Filtr/Publicnaa_cast.html#sobytia - не нашел возможность переименовать кнопки (найти, сбросить); Увы, не все можно сконфигурировать https://bx24devbook.website.yandexcloud.net/Razrabotka/UI/Filtr/Obzor.html#pereopredelenie-azykovyh-fraz-fil-tra
Спасибо. Буду изучать.
Интересный момент. Исследовал работу события apply фильтра. Оказалось (как минимум на конкретной коробке), что если набрать фильтр, потом нажать "Сбросить", то генерируется action = apply. Если нажать второй раз на "Сбросить": action = clear. В принципе - мысль понятна: сбросил фильтр, нужно перечитать данные. Но можно ли понять источник события (нажатия)?
А что значит "источник события"? Например какие вы подразумеваете источники?
Я вижу свою задачу понять какая из кнопок была нажата "Найти" или "Сбросить", т.к. action не может однозначно ответить на данный вопрос.
А в чем семантическое отличие? Найти = Выполнить построение отчета по заданному условию. Сбросить = выполнить построение отчета по стандартным условиям.
К сожалению, мне нужно, чтобы построение отчета осуществлялось только по нажатию "Найти". Отчет "тяжелый", выполняется долго. Пользователь может набрать фильтр, потом понять, что накидал лишнего и сбросить его, чтобы начать снова. Так вот в этот момент пересобрать отчет не нужно.
А как вы его прервете? Вы отправили запрос и он начал обрабатываться. Если вы прервете запрос то вы не высвободите ресурсы.
Я не хочу прерывать процесс, когда он уже начался. Мне нужно запустить его только при определенных условиях. Т.е., задача состоит в том, чтобы использовать фильтр в качестве формы со всеми его основными возможностями (выбор параметров, сохранение пресетов и т.д.), но без автоматической отправки ajax при любом изменении. Может я не в ту сторону думаю?
Сделать поле Старт И отрабатывать когда оно да. При сбросе оно нет. Вариант?
Надо провести моделирование... я не уверен что семантически это верно. Сегодня уже не успею, лучше завтра днём меня тегнуть
Не совсем, при пресете оно может бы выполнен хотя запрос был сброшен
Обсуждают сегодня