logo
logo

Форум Баг с датой в феврале

создать новую тему раскрыть все
Баг с датой в феврале Дмитрий 22/02/2006 11:56 #написать ответ
Сейчас февраль, в котором, как известно, 28 дней. При попытке добавления операции программа по умолчанию выставляет текущую дату. Я хочу изменить ее, например, на 31.01.2006 г. - забыл ввести операцию. Изменяю ручками, т. е. ввожу числа в поля, а не пользуюсь выпадающим календарем. Набираю в поле "Число" 31, нажимаю на *стрелку вправо*, чтобы перейти на поле "Месяц", и программа автоматически меняет введенное мною число на 28. Я понимаю, что с ее точки зрения все правильно - в феврале 28 дней, а не 31, но я же еще НЕ ЗАКОНЧИЛ ввод данных, т. е. AC принимает решение, не имея на руках всех необходимых данных ! Предлагаю сделать так, чтобы программа ругалась на неправильно введенную дату при нажатии кнопки OK или Добавить, а не изменяла самовольно введенную пользователем дату.
Непростой вопрос. (+) Dervish 22/02/2006 15:18 #написать ответ
У меня уже было ощущение, что в этой части не всё хорошо. Например, при вводе даты по цифрам иногда возникает неудобство, когда контрол "ругается" просто стандартным звуком ошибки.
 
Избежать всего этого можно было бы если проверять данные при потере фокуса ввода. Но такая проверка и реакция на ошибку будет очень неожиданной для пользователя.
 
Пока не знаю как тут лучше поступить.
Ы... xFlower 22/02/2006 19:57 #написать ответ
А можно, например, при неправильности даты подсвечивать контрол какой-нибудь красной рамкой и запрещать терять фокус?
Подсвечивать... Dervish 23/02/2006 15:04 #написать ответ
...красной рамкой - запросто! А вот запрещать терять фокус, это не есть хорошо... Имхо... Не забывайте, что контрол для ввода даты используется ещё и в диалоге ввода/редактирования операции. Если из-за неверно введённой даты программа запретить пользователю нажать на Cancel, вряд ли это будет хорошо...
Тогда disabl`ить OK. xFlower 23/02/2006 17:36 #написать ответ
И всё равно обводить красной рамкой.
Кстати.
Вы видели среду Eclipse?
Там реализовано очень, на мой взгляд, симпатично.
В верхней части диалога есть поле, где отображаются все ошибки + их важность (error/warning).
Например, применительно к данной софтине версии 1.3, warning`ом может считаться сообщение о том, что "добавленная операция не подходит под текущий фильтр".
Нет, не видел. (+) Dervish 24/02/2006 22:16 #написать ответ
Может быть и симпатично. Будут ли читать такие сообщения?
Будут. xFlower 25/02/2006 00:29 #написать ответ
Они достаточно хорошо заметны.
 
Если это ошибка, то всё равно OK не нажмётся.
Что-то нужно сделать, но... Dervish 01/03/2006 21:48 #написать ответ
...я не уверен, что такое решение будет лучше всего.
 
Давайте мы к этому вопросу чуть позже вернёмся, хорошо? Мне вначале нужно переделать диалоги. Чем я, собственно, сейчас и занимаюсь.
Эта... xFlower 03/03/2006 18:09 #написать ответ
Того...
Я вообще ни на чём не настаиваю
И, боже упаси, не лезу в дебри разработки.
 
Но если вам понравится такая идеология - с отображение предупреждений и ошибок прямо в диалоге - то делать это надо сейчас, пока они ещё окончательно не переделаны.
Предлагаю сделать так (+) Дмитрий 26/02/2006 16:24 #написать ответ
как сейчас сделана реакция на попытку ввести операцию с нулевой суммой, т. е. выдавать ошибку после нажатия кнопки OK или Дублировать.
Про частоту операций Denis ® 26/02/2006 18:45 #написать ответ
Как часто с этой ситуацией сталкивается пользователь? Один раз в год? Тут ( http://www.dervish.ru/forum.php?theme_id=1183&forum_id=4 ) уговариваем реализовать подстановку текущей даты/времени для дублируемых операций, тех операций, которые составляют 80% ввода, так и то не можем убедить в необходимости изменений.
Вы говорите о сервисе,а я о баге(-) (-) Дмитрий 28/02/2006 10:14 #написать ответ
Вы тоже говорите о сервисе Denis ® 01/03/2006 10:02 #написать ответ
Если бы другим способом нельзя было ввести, то это была бы проблема.
 
В поле дата нажмите на клавиатуре кнопки ALT + "Стрелка вниз", в "выпавшем" календаре клавиатурными стрелками выберете нужную дату и проблема будет решена.
Вопрос (+) Дмитрий 01/03/2006 12:01 #написать ответ
Если следовать Вашей логике, то если машина заводится только с толкача, а не поворотом ключа зажигания - то все в порядке, неисправностей нет? Заводится же, едет, и плевать, что стартер полетел
 
Я говорю о самопроизвольном поведении программы, которая меняет введенные пользователем данные, а Вы - о том, что по команде "Дублировать" программа должна не делать точную копию, а видоизменять имеющиеся данные. Для справки посмотрите значение слова "дублировать": выполнять что-нибудь сходное, <B>одинаковое</B> параллельно с другим (см. здесь - http://ozhegov.ru/slovo/11306.html). ИМХО, прямо противоположные вещи.
Баг исправим, вот... Dervish 01/03/2006 21:49 #написать ответ
...и получится сервис.
 
Делать нужно и то и другое. Так что темы для спора нет.
Ответ Denis ® 02/03/2006 15:21 #написать ответ
Если пользоваться ей раз в год, и на одной чаше лежит необходимость подтолкнуть, а на другой потратить месяц работы и две-три месячных дохода, то лучше подтолкнуть - затраты на исправление не сопоставимы с затратами сервис.
 
Относительно значения слова "Дублировать", то это определение, в приведенной Вами ссылке, не противоречит значению дублирования операции - "выполнять что-нибудь <B>сходное</B>".