|
29.07.2024, 15:21 | #1 |
Участник
|
Цитата:
Сообщение от pitersky
Коллеги, ну зачем же так сурово? можно же всё проще сделать существующими механизмами:
1) написать нужную проверку, которая возвращает true/false (последнее - в виде checkFailed) 2) в строчке на active эту проверку вызывать. если false - рисовать в отдельном поле красный квадратик (как при разноске складских журналов) 3) по нажатию кнопки - делать эту же проверку, но выводить false-результат в инфолог Будет наглядно без всяких серых кнопок По счастью весь самописный код у нас написан в стиле а. Проверка (метод check) можно ли запустить функцию с выводом в инфолог checkFailed б. если в п.а все ок, то выполняем функцию. Тогда можно не запрещать на самописных кнопках нажатие (не использовать button.enable()) а всегда разрешать нажать кнопку, так как если кнопку нажимать было нельзя то проверка сама скажет о себе в инфолог почему нельзя (да, многие юзеры его не читают, но зато читает первая линия техподдержки и консультанты, т.е. цепочка задействованных специалистов все равно будет короче - Profit !). Документацию подробно можно при этом не вести. Все равно она быстро устаревает и зачастую не до конца соответствует тому как все работает в реальности (как следствие регулярно возникают проблемы которые эскалируются до консультантов, они не могут сами посмотреть и в итоге по цепочке доходит до программистов, время у всех тратится напрасно, юзеры по итогу напрягаются - аксапта плохая - специалисты по ней еще хуже). Т.е. при такой схеме, мы автоматом получаем актуальное сообщение почему нажатие кнопки невозможно. Удобно и экономно в поддержке. Правда при этом все же хотелось бы просигнализировать пользователю что кнопку нажимать не следует. Можно вызывать на active метод проверки из пункта а. с подавлением вывода в инфолог. А если метод вернул false, то как-то визуально помечать невозможность нажатия кнопки. Например : 1. Делать шрифт на кнопке серым (как будто кнопка засерена, но тем не менее нажимается. Нелучший вариант, так как скорее всего никто и не попытается нажать) 2. Или курсивом 3. Или дорисовывать на кнопке иконку со специальным запретным значком (красная иконка с знаком "проезд запрещен" или что-то в этом духе. Если таких кнопок будет много, то может рябить в глазах поэтому что-то нейтральное лучше поставить) |
|
Теги |
динамический хелп |
|
|