|
16.01.2012, 12:06 | #1 |
Участник
|
Бог с ними, с конечными пользователями. Речь то про что была:
Цитата:
Сообщение от ta_and
Хорошо, если пользователь опытный. Он знает, что разнесенный заказ уже нельзя больше разнести. Тут и тупой сообразит. А что делать, если недоступна кнопка например изменения настроек? Вот она была доступной, и вдруг стала недоступной.
Почему?! И побежал бедный неопытный пользователь к более опытному товарищу. Более опытный товарищ посмотрел на эту серую кнопку, почесал репу, и сказал "Не знаю". И побежали они оба к консультанту. Консультант посмотрел на эту серую кнопку, почесал репу, и сказал "Не знаю". И побежали они втроем к программисту... |
|
16.01.2012, 13:04 | #2 |
Участник
|
Думаю было бы удобнее обращаться с серыми кнопками, если бы можно было:
1. Выделить серую кнопку. Сейчас можно выделить только если кнопку помещена в MenuButton, просто кнопку на форме выделить нельзя. По крайне мере в 3.0 так, в других версиях не знаю 2. Задать отдельный HelpText для серой кнопки. То есть еще одно свойство типа DisabledHelpText значение которого показывалось бы как обычный HelpText, но только если кнопка серая. Если пункт 2 можно реализовать, перекрыв метод helpField, то пункт 1 требует изменений в ядре, насколько я знаю |
|
|
За это сообщение автора поблагодарили: Logger (3). |
16.01.2012, 14:21 | #3 |
Участник
|
Цитата:
Сообщение от Lucky13
Думаю было бы удобнее обращаться с серыми кнопками, если бы можно было:
1. Выделить серую кнопку. Сейчас можно выделить только если кнопку помещена в MenuButton, просто кнопку на форме выделить нельзя. По крайне мере в 3.0 так, в других версиях не знаю 2. Задать отдельный HelpText для серой кнопки. То есть еще одно свойство типа DisabledHelpText значение которого показывалось бы как обычный HelpText, но только если кнопка серая. Если пункт 2 можно реализовать, перекрыв метод helpField, то пункт 1 требует изменений в ядре, насколько я знаю А уж по вызову этого пункта расписывать - что требуется для активации Правда, это не подойдет для вложенных кнопок
__________________
Axapta v.3.0 sp5 kr2 |
|
16.01.2012, 15:06 | #4 |
Британский учённый
|
Цитата:
Сообщение от Lucky13
Думаю было бы удобнее обращаться с серыми кнопками, если бы можно было:
1. Выделить серую кнопку. Сейчас можно выделить только если кнопку помещена в MenuButton, просто кнопку на форме выделить нельзя. По крайне мере в 3.0 так, в других версиях не знаю 2. Задать отдельный HelpText для серой кнопки. То есть еще одно свойство типа DisabledHelpText значение которого показывалось бы как обычный HelpText, но только если кнопка серая. Если пункт 2 можно реализовать, перекрыв метод helpField, то пункт 1 требует изменений в ядре, насколько я знаю Мне только интересно, кто будет тратить время на написание этих подсказок
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
16.01.2012, 13:59 | #5 |
Administrator
|
Серые кнопки - зло, говорите? Ну вот, простой пример - на формах журналов есть кнопки утверждения (Report as ready, Approve, Reject). Представьте, насколько бы "удобнее" стал этот механизм, если бы серых кнопок не было.
Из всего текста соглашусь только с одним: программистам с первого дня обучения надо внушать, что при вызове любой функции необходимо проверять условия выполнения, и ни в коем случае не полагаться на доступность/недоступность кнопок. В целом, зло - это не серые кнопки сами по себе, а проектировщики, которые не умеют с ними работать.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
За это сообщение автора поблагодарили: Vadik (1). |
16.01.2012, 15:14 | #6 |
северный Будда
|
Коллеги, ну зачем же так сурово? можно же всё проще сделать существующими механизмами:
1) написать нужную проверку, которая возвращает true/false (последнее - в виде checkFailed) 2) в строчке на active эту проверку вызывать. если false - рисовать в отдельном поле красный квадратик (как при разноске складских журналов) 3) по нажатию кнопки - делать эту же проверку, но выводить false-результат в инфолог Будет наглядно без всяких серых кнопок
__________________
С уважением, Вячеслав |
|
16.01.2012, 15:23 | #7 |
Участник
|
Цитата:
Сообщение от Link
Тогда уже лучше добавить метод для кнопок, где в рантйме можно по условию разный хелп показывать. Т.е. super() возвращает оригинальную справку, и если метод не переопределен, то все работает как и раньше, если переопределен - в зависимости от условия возвращается для показа строка.
Цитата:
Сообщение от pitersky
Коллеги, ну зачем же так сурово? можно же всё проще сделать существующими механизмами:
1) написать нужную проверку, которая возвращает true/false (последнее - в виде checkFailed) 2) в строчке на active эту проверку вызывать. если false - рисовать в отдельном поле красный квадратик (как при разноске складских журналов) 3) по нажатию кнопки - делать эту же проверку, но выводить false-результат в инфолог Будет наглядно без всяких серых кнопок |
|
16.01.2012, 17:01 | #8 |
Британский учённый
|
Цитата:
Получается, что все можно сделать (см. вложение). Подсказка кнопки меняется в зависимости от текущих условий. Только кому то не хватает более простого способа. А кто то говорит о том, что нет возможности в рантайме выводить подсказки. AX 4 форма демонстрирует возможность отображать актуальную подсказку по неактивным кнопкам.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. Последний раз редактировалось Link; 16.01.2012 в 17:53. |
|
|
За это сообщение автора поблагодарили: S.Kuskov (5). |
16.01.2012, 17:56 | #9 |
Британский учённый
|
П.С. Интересно, кто нибудь будет это использовать )
Идея конечно красивая, но вот стоит ли оно усилий?
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
17.01.2012, 11:26 | #10 |
Участник
|
Цитата:
Думаю не стоит и использовать никто не будет. Чтобы такое использовали нужно чтобы подсказки можно было задавать в свойствах контролов без программирования и сама подсказка должна быть яркой, многострочной, а не как сейчас одна строка внизу экрана мелким шрифтом (говорю про 3.0 в других не знаю). Потому что сама идея, чтобы система содержала в себе подсказки для пользователя, привязанные к конкретному действию, вместо того, чтобы использовать для этого внешнюю документацию, мозг консультанта или программный код, в общем-то верная, просто реализация этих подсказок никакая и развитие этого механизма не производится. Почему, сложный вопрос. |
|
17.01.2012, 15:04 | #11 |
Британский учённый
|
Цитата:
Цитата:
Сообщение от Lucky13
Можно, но не всё. Разместите кнопки Start и Finish не в MenuButton, а просто в ButtonGroup, чтобы они отображались на форме, тогда выделить серую кнопку не получится.
Думаю не стоит и использовать никто не будет. Чтобы такое использовали нужно чтобы подсказки можно было задавать в свойствах контролов без программирования и сама подсказка должна быть яркой, многострочной, а не как сейчас одна строка внизу экрана мелким шрифтом (говорю про 3.0 в других не знаю). Потому что сама идея, чтобы система содержала в себе подсказки для пользователя, привязанные к конкретному действию, вместо того, чтобы использовать для этого внешнюю документацию, мозг консультанта или программный код, в общем-то верная, просто реализация этих подсказок никакая и развитие этого механизма не производится. Почему, сложный вопрос. А чем справка не многострочная и яркая подсказка, систематизированная, с поиском, картинками и т.д.?
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|
17.01.2012, 12:29 | #12 |
MS Dynamics AX 2012 R3
|
ИМХО кнопки в зависимости от ситуации можно и перекрасить. Не доступна операция - окрасить её в бледно жёлтый цвет и сделать внушение пользователям чтобы жали "Ctrl + F5" например.
А вообще на тему "и побежали они с консультантом к программисту" это где такие консультанты, что бизнес процессов своей компании не знают? о_О Вообще такие траблы решают грамотные мануалы.
__________________
"Человек человеку волк, а зомби зомби зомби." (с) С Уважением, Алексей Кабанов Последний раз редактировалось ZornFire; 17.01.2012 в 12:34. |
|
17.01.2012, 12:37 | #13 |
северный Будда
|
Цитата:
мануалы для уже внедрённых систем переписывают крайне редко в силу дефицита ресурсов. соответственно, мануал помогает далеко не всегда, в силу чего туда просто не заглядывают. да и на консультантов вы зря взъелись. На некоем журнале может быть стопиццот проверок (в том числе частично незадокументированные), а косяк может сидеть где-то в самой середине самой средней проверки. Если это не очевидный косяк, то консультант опять же будет его вылавливать существенно дольше, чем программист.
__________________
С уважением, Вячеслав |
|
17.01.2012, 12:59 | #14 |
MS Dynamics AX 2012 R3
|
Цитата:
Сообщение от pitersky
вы ещё больший идеалист, чем я
мануалы для уже внедрённых систем переписывают крайне редко в силу дефицита ресурсов. соответственно, мануал помогает далеко не всегда, в силу чего туда просто не заглядывают. да и на консультантов вы зря взъелись. На некоем журнале может быть стопиццот проверок (в том числе частично незадокументированные), а косяк может сидеть где-то в самой середине самой средней проверки. Если это не очевидный косяк, то консультант опять же будет его вылавливать существенно дольше, чем программист. просто имею опыт, где в компаниях хорошо следят за мануалами(как правило на первой линии поддержки или сами консультанты), не во всех компаниях конечно, ресурсы это да, не у всех они опять же есть в нужном количестве, про косяки я не говорю, хотя стоило упомянуть и про них но видимо поздняк)) вы уже про них расписали) Да это понято, просто мне надо было расписать свой комментарий и на эту тему
__________________
"Человек человеку волк, а зомби зомби зомби." (с) С Уважением, Алексей Кабанов Последний раз редактировалось ZornFire; 17.01.2012 в 13:32. |
|
17.01.2012, 12:40 | #15 |
Ищущий знания...
|
Иногда консультант бежит не только что бы спросить "как работает?", а что бы спросить "всегда работало так, а стало вот так, почему?"
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
14.02.2020, 00:38 | #16 |
Участник
|
Если делать кнопки серыми, пользователи будут спрашивать, почему они серые.
Если оставлять черными, будут спрашивать, почему они нажимают, а ничего не происходит. Если кнопки скрывать, пользователи будут спрашивать, почему не видно, вчера были. |
|
|
За это сообщение автора поблагодарили: AlGol (2). |
14.02.2020, 11:43 | #17 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: ta_and (4). |
14.02.2020, 16:49 | #18 |
Участник
|
Только сегодня столкнулись с интересным эффектом "засеривания" кнопки в DAX2012.
На форме SalesTable управляем кнопкой, расположенной в ActionPane стандартным образом в классе SalesTableInteraction. Вроде бы все хорошо - по нужному статусу кнопка активна/не активна, но есть нюанс... "Засеривание" происходит с очень короткой, но задержкой, в итоге, если нажимать F5 и успеть щелкнуть кнопку, то она срабатывает. |
|
|
За это сообщение автора поблагодарили: trud (1), S.Kuskov (2). |
14.02.2020, 17:15 | #19 |
Участник
|
Я бы сказал, что идеальная картинка такая:
1. Есть процедура. При ее запуске всегда выполняется п.2 (кроме явного разрешения пропустить проверку, если мы прям уверены, что всё ок). 2. Есть пререквизиты, оформленные в одном месте полным списком. Можно в любой момент запросить валидность запуска процедуры и получить как краткий ответ "можно" / "нельзя" так и расширенный - что именно ок, что именно не ок. 3. Есть Интерфейс пользователя с опциями: 3.1. Кнопка отображается при прохождении п.2. 3.2. Кнопка активная при прохождении п.2. 3.3. Кнопка после нажатия проверяет п.2. Если можно - выполняет п.1, если нельзя - дает расширенный ответ почему нельзя. 3.4. Отдельная кнопка "Проверка" / "Предварительный запуск", выполняет п.2, дает расширенный ответ. В каждом конкретном случае разработчик в зависимости от процесса / пользователей выбирает нужный вариант Интерфейса. Плохо что в стандарте есть разные варианты реализации всех 3х пунктов, и на вскидку не припомню ни одной идеальной реализации
__________________
Ivanhoe as is.. |
|
|
За это сообщение автора поблагодарили: sukhanchik (4). |
14.02.2020, 17:48 | #20 |
Участник
|
В каком-то смысле текстовый терминал с командной строкой - это идеальный вариант для реализации диалога между пользователем и системой. Пользователь волен в любой момент набрать абсолютно любую команду (нажать на любую кнопку), и система имеет возможность дать пользователю адекватный ответ, с подробным описанием почему эта команда не допустима в текущем контексте. Единый фокус ввода/вывода - панацея от серых кнопок!
|
|
|
За это сообщение автора поблагодарили: SRF (1). |
Теги |
динамический хелп |
|
|