AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.01.2012, 15:14   #1  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,514 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Коллеги, ну зачем же так сурово? можно же всё проще сделать существующими механизмами:
1) написать нужную проверку, которая возвращает true/false (последнее - в виде checkFailed)
2) в строчке на active эту проверку вызывать. если false - рисовать в отдельном поле красный квадратик (как при разноске складских журналов)
3) по нажатию кнопки - делать эту же проверку, но выводить false-результат в инфолог

Будет наглядно без всяких серых кнопок
__________________
С уважением,
Вячеслав
За это сообщение автора поблагодарили: Logger (7).
Старый 16.01.2012, 15:23   #2  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от Link Посмотреть сообщение
Тогда уже лучше добавить метод для кнопок, где в рантйме можно по условию разный хелп показывать. Т.е. super() возвращает оригинальную справку, и если метод не переопределен, то все работает как и раньше, если переопределен - в зависимости от условия возвращается для показа строка.
Такой метод есть - helpField, только у серой кнопки его вызывать нельзя.

Цитата:
Сообщение от pitersky Посмотреть сообщение
Коллеги, ну зачем же так сурово? можно же всё проще сделать существующими механизмами:
1) написать нужную проверку, которая возвращает true/false (последнее - в виде checkFailed)
2) в строчке на active эту проверку вызывать. если false - рисовать в отдельном поле красный квадратик (как при разноске складских журналов)
3) по нажатию кнопки - делать эту же проверку, но выводить false-результат в инфолог
Будет наглядно без всяких серых кнопок
Сделать можно все. Было бы удобно, если бы подсказку можно было бы создать как можно более простым способом, без лишнего программирования.
Старый 16.01.2012, 17:01   #3  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
Такой метод есть - helpField, только у серой кнопки его вызывать нельзя.

Сделать можно все. Было бы удобно, если бы подсказку можно было бы создать как можно более простым способом, без лишнего программирования.
Что то я тогда не пойму тогда с чего сыр да бор.

Получается, что все можно сделать (см. вложение). Подсказка кнопки меняется в зависимости от текущих условий. Только кому то не хватает более простого способа. А кто то говорит о том, что нет возможности в рантайме выводить подсказки.

AX 4 форма демонстрирует возможность отображать актуальную подсказку по неактивным кнопкам.
Вложения
Тип файла: xpo Form_tutorial_ButtonsHelp.xpo (5.5 Кб, 619 просмотров)
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.

Последний раз редактировалось Link; 16.01.2012 в 17:53.
За это сообщение автора поблагодарили: S.Kuskov (5).
Старый 29.07.2024, 15:21   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,987 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от pitersky Посмотреть сообщение
Коллеги, ну зачем же так сурово? можно же всё проще сделать существующими механизмами:
1) написать нужную проверку, которая возвращает true/false (последнее - в виде checkFailed)
2) в строчке на active эту проверку вызывать. если false - рисовать в отдельном поле красный квадратик (как при разноске складских журналов)
3) по нажатию кнопки - делать эту же проверку, но выводить false-результат в инфолог

Будет наглядно без всяких серых кнопок
Ваш вариант мне нравится и кажется весьма удачным.
По счастью весь самописный код у нас написан в стиле
а. Проверка (метод check) можно ли запустить функцию с выводом в инфолог checkFailed
б. если в п.а все ок, то выполняем функцию.

Тогда можно не запрещать на самописных кнопках нажатие (не использовать button.enable()) а всегда разрешать нажать кнопку, так как если кнопку нажимать было нельзя то проверка сама скажет о себе в инфолог почему нельзя (да, многие юзеры его не читают, но зато читает первая линия техподдержки и консультанты, т.е. цепочка задействованных специалистов все равно будет короче - Profit !). Документацию подробно можно при этом не вести. Все равно она быстро устаревает и зачастую не до конца соответствует тому как все работает в реальности (как следствие регулярно возникают проблемы которые эскалируются до консультантов, они не могут сами посмотреть и в итоге по цепочке доходит до программистов, время у всех тратится напрасно, юзеры по итогу напрягаются - аксапта плохая - специалисты по ней еще хуже).

Т.е. при такой схеме, мы автоматом получаем актуальное сообщение почему нажатие кнопки невозможно. Удобно и экономно в поддержке.

Правда при этом все же хотелось бы просигнализировать пользователю что кнопку нажимать не следует.
Можно вызывать на active метод проверки из пункта а. с подавлением вывода в инфолог.
А если метод вернул false, то как-то визуально помечать невозможность нажатия кнопки.
Например :
1. Делать шрифт на кнопке серым (как будто кнопка засерена, но тем не менее нажимается. Нелучший вариант, так как скорее всего никто и не попытается нажать)
2. Или курсивом
3. Или дорисовывать на кнопке иконку со специальным запретным значком (красная иконка с знаком "проезд запрещен" или что-то в этом духе. Если таких кнопок будет много, то может рябить в глазах поэтому что-то нейтральное лучше поставить)
Теги
динамический хелп

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как у кнопки динамически поменять DataSource ? Poleax DAX: Программирование 4 06.09.2010 17:45
TreeNode кнопки на форме -> ClassId класса кнопки Андрей К. DAX: Программирование 4 27.07.2010 10:01
Активация/деактивация кнопки ToolBara Kaermo DAX: Программирование 5 23.07.2009 16:39
Аксапта как фронт-офисное решение в рознице. vc DAX: Функционал 15 11.02.2008 10:42
как в табличном методе "узнать" о нажатии определенной кнопки на форме Zeppelin DAX: Программирование 12 08.11.2007 20:47
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:30.