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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.02.2020, 17:48   #41  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,435 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
В каком-то смысле текстовый терминал с командной строкой - это идеальный вариант для реализации диалога между пользователем и системой. Пользователь волен в любой момент набрать абсолютно любую команду (нажать на любую кнопку), и система имеет возможность дать пользователю адекватный ответ, с подробным описанием почему эта команда не допустима в текущем контексте. Единый фокус ввода/вывода - панацея от серых кнопок!
За это сообщение автора поблагодарили: SRF (1).
Старый 14.02.2020, 23:38   #42  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,300 / 3533 (124) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Выскажусь с позиции человека, которому в силу своей работы постоянно приходится изучать новый функционал.
Серые кнопки - это ОЧЕНЬ удобно. Я плююсь, когда кнопки оставляют доступными, но при их нажатии выскакивает та или иная ошибка.
Т.е. тыркаясь в новый функционал без наличия под рукой идеальных инструкций мне очень удобно тыркаться в ограниченное количество кнопок и не гадать в какую кнопку надо тыкать.
Особенно это касается процессов, которые нужно проходить последовательно, например сначала подтвердить заказ на покупку, а затем его разнести.

Конечно бывают ошибки и кнопка / поле остаются недоступными когда не надо.
Конечно бывают ошибки и кнопка / поле остаются доступными когда не надо.
Но какие бы ни были классными инструкции - объективно пользователям низкого уровня нужно давать доступ к минимальному количеству кнопок и полей для исключения ошибок. Причина банальна и проста... как правило чем ниже уровень зарплаты - тем больше текучка кадров. И получается, что либо систему не спускать на низкий уровень, либо сделать на низком уровне интерфейс, максимально не позволяющий отклониться от процесса. Обычно руководство выбирает вариант удобного интерфейса.

Производительность... Ну так если на Active делать джойны InventTrans с InventSettlement без фильтрации, да еще добавлять туда GeneralJournal-таблицы (а ранее LedgerTrans) - то понятно, что система умрет сразу на открытии формы. Всегда можно придумать либо дополнительные таблицы, либо кеширование в памяти, что сильно ускорит вопросы производительности и скорость перерисовки не скажется на работе пользователей.
Опять-таки - систему пишут люди и никто не идеален - даже разработчики Microsoft - всегда могут быть ошибки, в т.ч. связанные с производительностью
А по факту - пользователи систему всегда изучают, если в режиме текущей работы выполняются те или иные разработки, потому что система постоянно меняется.
Поэтому чем меньше "свободы" у пользователей при изучении системы - тем им проще с ней работать.
Ну и конечно уменьшение "свободы" должно уменьшать количество кликов, т.е. пользователь сразу должен видеть места, в которые ему щелкать запрещено (вариант - их не видеть совсем, но в этом случае Аксапта перегруппировывает расположение объектов на форме и это визуально тяжелее воспринимается, когда у тебя нужное тебе поле то в одном, то в другом углу экрана)
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 15.02.2020 в 11:45.
Старый 17.02.2020, 13:26   #43  
vmoskalenko is offline
vmoskalenko
Участник
Аватар для vmoskalenko
 
145 / 334 (12) ++++++
Регистрация: 25.01.2007
Адрес: Toronto
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Пользователь волен в любой момент набрать абсолютно любую команду (нажать на любую кнопку), и система имеет возможность дать пользователю адекватный ответ, с подробным описанием почему эта команда не допустима в текущем контексте. Единый фокус ввода/вывода - панацея от серых кнопок!
А если всё выполнилось успешно, то
  • UNIX-style, Пользователь получит на консоль ничего/пусто
  • DOS-style, Пользователь получит на консоль как минимум ОК, а как максимум Лог.
  • PowerShell-style, Пользователь получит на консоль от пусто до детального лога в зависимости от параметров -Verbose -Debug

Поэтому я бы не уходил в восторг от работы с консолью.
Старый 18.02.2020, 21:30   #44  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Тема навеяла воспоминания об собственных идеях "идеально правильной системы" Там то же были мысли о том как бы я сделал отображение причины запрета операции

Согласен, серая кнопка и хелп-текст с подсказкой почему нельзя нажать были бы прекрасны

Но в данной системе такое не принято. Принято просто делать серым. Поэтому не выЁЖиваемся и делаем ровно так как принято. Единообразно, серо, безобразно и надо нажиать ф5 - пофигу. Здесь это стандарт, ему и следуем. Локальные прекрасности будут вызывать много никому не нужных вопросов
За это сообщение автора поблагодарили: Logger (3), S.Kuskov (2).
Старый 20.02.2020, 14:50   #45  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,503 / 428 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Не стоит забывать, что серые кнопки крайне толерантны к мультивыбору))))) и есть опасность запустить в обработку то, что не следует, именно потому что оно выбрано, но не последнее в списке. ну и наоборот - если из 10 выбранных журналов 1 (последний выбранный) запрещён, то обработать не получится ни один из десяти
__________________
С уважением,
Вячеслав
Старый 21.02.2020, 15:38   #46  
ta_and is offline
ta_and
Участник
 
226 / 122 (5) +++++
Регистрация: 26.02.2002
Адрес: СПб
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Я плююсь, когда кнопки оставляют доступными, но при их нажатии выскакивает та или иная ошибка.
Да. И эту ошибку нужно сразу же закрыть. Не читая. И плюнуть. В монитор.
Зачем какая-то глупая информация?!
Какая тупая система! Не может сделать мне только одну большую доступную кнопку на стуле, на которую я могу прийти и в начале работы сесть. И все должно работать.
А я буду смотреть на монитор и гонять пасьянс.
Вообще идиоты эти яйцеголовые придумали какую-то хрень с кнопками... Лучше бы на бумажке крыжики ставили... Вот это было удобно.
За это сообщение автора поблагодарили: sukhanchik (2).
Старый 29.07.2024, 15:21   #47  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,926 / 3206 (114) ++++++++++
Регистрация: 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, время: 08:58.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.