logo
logo

Доработки Поведение программы при удалении операций

список тем создать тему

Поведение программы при удалении операций

Версия: 3.0.253

Тип: Доработка
Статус: Завершено
Важность: Если время будет
Доработка 3.0.253 #313
ИСХОДНЫЕ:
Закладка «ОПЕРАЦИИ»
Рабочее поле
Меню правого клика мыши на заблокированной строке
Пункт «УДАЛИТЬ»
 
ПРЕДЛОЖЕНИЕ:
Предлагаю сделать команду активной. Соответственно, при выполнении команды «УДАЛИТЬ» на заблокированной строке (строках) рабочего поля окна, предлагаю выводить информационно-командное окно с сообщением, типа «Запись заблокирована». И как вариант, сразу предложение подтвердить действие удаления.
 
АРГУМЕНТ:
Отсутствие каких-либо действий при нажатии на клавиатуре клавиши «DELETE» на заблокированной строке.

Файлы:
Могу не согласиться. Блокировка как раз и удобна тем, что не позволяет натворить глупостей и удалить операцию. А для удобства удаления заблокированной операции, можно её выделить и перед удалением нажать комбинацию клавиш "Ctrl+B".
Мне тоже кажется, что с блокировкой операций сейчас все удачно реализовано.
Речь шла не про блокировку и ее функционал. Соответственно, речь не шла и про удобство удаления заблокированной операции. Никак нет. В моем начальном сообщении, к сожалению, слились два понятия. И это в итоге увело обсуждение в другую сторону. Поэтому, чуть ниже, на двух примерах, предлагаю рассмотреть две ситуации, объясняющие логику возникновения вопроса.
ДВА ПРИМЕРА
 
ИСХОДНЫЕ УСЛОВИЯ:
Есть задача: удалить строку данных
Есть два формата строки данных: обычный и заблокированный.
Есть два способа работы со строками данных, при помощи клавиатуры или мышки. (Смешанный вариант работы умышленно опускается для «чистоты эксперимента».)
 
ПРИМЕР 1 (работа мышкой)
- Вар 1: Последовательность событий при удалении строки данных формата «обычный»: стоя на строке > правая кнопка мышки > пункт меню УДАЛИТЬ > подтверждение команды удаления (в специальном информационном окне)
- Вар 2: Последовательность событий при удалении строки данных формата «заблокированный»: стоя на строке > правая кнопка мышки > пункт меню ИЗМЕНИТЬ БЛОКИРОВКУ > правая кнопка мышки > пункт меню УДАЛИТЬ > подтверждение команды удаления (в специальном информационном окне)
 
ПРИМЕР 2 (работа клавиатурой)
- Вар 1: Последовательность событий при удалении строки данных формата «обычный»: стоя на строке > кнопка клавиатуры DEL > подтверждение команды удаления (в специальном информационном окне)
- Вар 2: Последовательность событий при удалении строки данных формата «заблокированный»: стоя на строке > комбинация кнопок Ctrl+B > кнопка клавиатуры DEL > подтверждение команды удаления (в специальном информационном окне)
 
ПРЕДЛОЖЕНИЕ для «Примера 2, Вар 2:»:
При нажатии кнопки клавиатуры DEL стоя на «заблокированной» строке выводить всплывающее окно с текстом типа: «Данные заблокированы. Для удаления данных требуется предварительно снять блокировку.».
 
Аргумент здесь простой. Для неосведомленного пользователя такое информационное сообщение решит задачу, направив его действия в верное русло. Что же происходит, если неосведомленный пользователь интуитивно, при желании удалить строку данных, использует кнопку DEL в актуальной версии программы? В одном случае (Пример 2, Вар 1), он сможет удалить данные (если блокировка не включена). А в другом случае (Пример 2, Вар 2), он не получает никакой реакции на нажатие кнопки DEL. Хотя точно знает, что кнопка DEL должна удалять строку данных (он уже так вроде раньше удалял!). Развиваем ситуацию дальше. Этот же неосведомленный пользователь начинает думать сильнее и, опять же таки, интуитивно использует правую кнопку мыши для достижения поставленной задачи. Открывается сервисное меню. И что он видит там? А там есть пункт меню УДАЛИТЬ, но он почему-то неактивен. Итого, за последнюю минуту жизни, у пользователя такая цепочка событий и мыслей: «1) кнопка DEL не работает, 2) пункт меню не активный, 3) зачем дальше жить?». Именно поэтому, в первоначальном тексте данной ветки форума, предлагалось сначала «активировать пункт меню», а затем увязать его действие с информационным окном (которого сейчас нет), и которое упоминается здесь же, чуть выше. Другой вопрос, что возможно действительно не стоит давать на таком информационном окне возможность подтверждения действия удаления. Это тоже предлагалось в самом начале. А единственной целью такого предложения было сократить количество действий для выполнения одной операции удаления (Пример 1, Вар 2). От этого предложения я действительно скорее откажусь, чем буду настаивать.
 
Здесь можно было бы поставить точку в изложении. Однако, при тестовой прогонке сервисного меню (вызываемого правой кнопки мыши), возник другой вопрос. А почему в этом сервисном меню (если активировать его стоя на заблокированной строке данных) остается активным пункт меню «Изменить»? Ведь на заблокированной строке данных он открывает полностью «заблокированное» окно – без какой-либо возможности что-то «менять». То есть, в такой ситуации, состояние «активности» данного пункта меню кажется неуместным. А если быть совсем точным, то неуместным кажется название данного пункта (а не его функционал). Предлагаю изменить заглавие на «Открыть» (вместо «Изменить»). Тогда, все вроде бы станет на свое место, и появится связь названия с логикой действия.
Хоть доработка уже и отклонена, все же поддержу вас.
Сам, при этом являясь уже опытным пользователем программы, не раз впадал в небольшое недоумение, попадая в окно с заблокированными полями или не видя ни какой реакции на нажатия кнопок.
Лишняя информативность не помешала бы.
Видимо, я неправильно понял первоначальную просьбу. Предложение выдать пользователю сообщение о необходимости разблокировать операцию поддерживаю.
 
Что же касательно доступности кнопки "Изменить" и диалоге с заблокированными полями... Он появляется для того, чтобы можно было рассмотреть операцию. Все-таки табличное представление не всегда удобно.
По поводу пункта «Изменить», смысл предложения сводился к тому, чтобы просто переименовать данный пункт меню на более адекватный сути действия этого пункта. Например, назвать его «Открыть» (или «Отобразить», или «Показать»). Почему действие пункта «Изменить», в настоящий момент, не соответствует сути действия? Потому что вызывая меню, стоя на заблокированной строке, не получится ничего «изменить», а лишь можно будет только(!) открыть окно, как вы и сказали, «чтобы можно было рассмотреть операцию».