11.11.2004, 15:01 | #1 |
Участник
|
Как выключить калькулятор при вводе данных в поля?
Привет всем!
Допустим, мы хотим ввести в некоторое поле в некоторой форме значение "3.2" (три целых две десятых). При вводе точки мы промахиваемся и вводим знак деления (он рядом с точкой справа внизу клавиатуры и вводится при включенной латинской раскладке). Далее вводим цифру "2" и переходим к следующей записи. В результате вместо "3.2" мы получаем "3/2". Аксапта вычисляет это выражение и втихомолку сохраняет значение "1.5"! Но мы то хотели ввести "3.2" и просто ошиблись! Как этого избежать? |
|
11.11.2004, 15:51 | #2 |
Участник
|
И ещё...
А что если пользователь хотел ввести число 100, а по ошибке вместо 1 нажал 2 (рядом расположены)? Т.е. хотел 100, а ввёл 200... Как этого можно избежать? |
|
11.11.2004, 16:04 | #3 |
Member
|
Предлагаю для каждого оператора поставить по наблюдателю. Можно двоих.
Кстати, есть еще такой способ. Встречал в банковских системах (довольно старых)... ну и еще кое-где. Суть в том, что один и тот же документ (типа платежки) вводится дважды, причем разными операторами. После этого запускается специальная процедура, которая пропускает документ к разноске только в том случае, если для документа есть двойник. Этот способ тоже не гарантирует исключение ошибки, но очень сильно снижает ее вероятность (если не принимать во внимание корявость почерка в первичных документах). А если серьезно, согласен с xonix. Может чего-то с пользователем сделать, а не с Аксаптой? Ну... отправить его на тренинг по нажиманию кнопок на клавиатуре, например. Или к офтальмологу... А, может, к нервопатологу... Разобраться сперва нужно.
__________________
С уважением, glibs® |
|
11.11.2004, 16:23 | #4 |
Участник
|
Всем спасибо! Я со всеми согласен. Дальше не будем продолжать, а то так договоримся до того, что это меня надо к невропатологу. А я его очень боюсь.
|
|
11.11.2004, 16:51 | #5 |
Участник
|
В свое оправдание (чтобы меня не отправляли к невропатологу) отвечу на пример xonix'а - когда польщователь вместо 100 ввел 200, я могу возразить, что это совершенно другая ошибка.
Когда пользователь вводит знак "/ " вместо точки система просто обязана выдавать ему предупреждения. Если не ограничивать свое мировоззрение только Аксаптой, то естественно ожидать от любой системы в таких случаях сообщение об ошибке. |
|
11.11.2004, 16:56 | #6 |
Участник
|
>Когда пользователь вводит знак "/ " вместо точки система просто обязана.....
Один вопрос: Как система узнает что пользователь ХОТЕЛ ввеcти? |
|
11.11.2004, 17:00 | #7 |
Модератор
|
Тогда контруктив - сделай текстовый контрол а потом извлекай из него число
Потребуют калькулятор назад - можно парсер прикрутить от Андре! С Уважением, Георгий. P.S. По-моему, это невропатологи нас бояться |
|
11.11.2004, 17:00 | #8 |
Участник
|
Все! Я виноват перед всеми! Приношу извинения.
Проверил в Экселе - Эксель работает точно так же, как Аксапта. Если выставить формат ячейки "числовой", то при вводе в ячейку "3/2", Эксель выдает результат "1.5". Правда все-таки видно, что в ячейке введена формула. Но это уже совсем маленькое для меня оправдание, поэтому завтра я иу к невропатологу. |
|
11.11.2004, 17:02 | #9 |
Участник
|
Смех смехом, а между тем проблема имеет приемлемое решение.. вариант такой: хочешь использовать в полях калькулятор - пожалуйста, только отделяй операторы от операндов <i>пробелами</i>. Это придает действиям намного большую осмысленность, значительно уменьшая возможность ошибки. Как вариант, можно в конце еще требовать нажатия знака "равно", без которого из поля с такими введенными данными нельзя было бы выйти с сохранением значения.
Одно "но": это видимо ядро надо править... |
|
11.11.2004, 17:06 | #10 |
Модератор
|
Слушай, а можно личный вопрос?
Как твои пользователи умудряются перепутать точку (между "0" и "Enter") и / (между "Num Lock" и "*")?? У них что, щупальца??? С Уважением, Георгий, Марсианин. |
|
11.11.2004, 17:09 | #11 |
Участник
|
Ace, разберите к черту клавиатуру и вмонтируйте кнопку с точкой отдельно в стол, например под столешницей чтобы коленкой её нажимали. Тогда точно не перепутают.
|
|
11.11.2004, 17:12 | #12 |
Участник
|
2 George
Они вводят точку не с калькуляторной клавиатуры, а с основной - точка располагается между шифтом и буквой "Ю". При этом бывает включена латинская раскладка клавиатуры. Если ввести эту точку в латинской раскладке, то получается деление. |
|
11.11.2004, 17:21 | #13 |
NavAx
|
Простой вопросник:
1. Сколько времени потребуется на эту фенечку? (подозреваю, уже потрачено порядка 4 часов) 2. Во сколько обходится компании час работы программиста? (скорее всего, не менее $15) 3. Сколько времени пользователя теряется из-за криворукости? (подозреваю, что прорядка 5 секунд) 4. Сколько стоит час оператора? 5. За какое время издержки от ошибок перекроют стоимость доработки. 6. Ну и наконец, какое время будет эксплуатироваться система. Думаю, рассчеты рентабельности дойдут даже до самого невменяемого пользователя.
__________________
Isn't it nice when things just work? |
|
11.11.2004, 17:27 | #14 |
Участник
|
Цитата:
Изначально опубликовано Zabr
Ace, разберите к черту клавиатуру и вмонтируйте кнопку с точкой отдельно в стол, например под столешницей чтобы коленкой её нажимали. Тогда точно не перепутают. |
|
11.11.2004, 17:45 | #15 |
Участник
|
Зря вы, господа, затеяли такую дискуссию вокруг простого вопроса. Никаких 4 часа на решение этой проблемы затрачено не было, так как изначально предполагалось, что такое поведение зашито в exe-шнике Аксапты.
Я просто спросил: можно или нельзя выключить - и все. |
|
12.11.2004, 17:06 | #16 |
Участник
|
Для Ace of Database:
предлагаю простое решение: сделать русскую раскладку в Windows раскладкой по-умолчанию, а еще лучше - сделать ее единственной. Зачем вашим пользователям английская раскладка? |
|
16.11.2004, 12:37 | #17 |
Участник
|
Цитата:
Как этого избежать?
(С) MS Word |
|