Имя: Пароль:
1C
1С v8
А вы описываете причины ошибок?
0 Ненавижу 1С
 
гуру
07.07.14
11:22
Очень часто пользователи звонят с ошибками типа:

{Форма.Форма.Форма(254)}: Преобразование значения к типу Число не может быть выполнено
               Стр.Объем = Страница.Cells(й,СоответствиеКолонок["Объем"]).Value/Количество;

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

А вы расписываете причины ошибок?
1 wanderer_ица
 
07.07.14
11:23
А как же без этого...
2 Крошка Ру
 
07.07.14
11:24
(0) "Если бы было сообщение "Некорректные данные в такой-то колонке и строке", то вопросов было бы меньше."

Ой, чойта я сильно сомневаюсь...
3 piter3
 
07.07.14
11:24
с некотрыми приходится нянчаться
4 Сонька
 
07.07.14
11:24
Все зависит от отношения.
5 Kalambur
 
07.07.14
11:24
(0) зае..ся все описывать. Не всегда
6 Лефмихалыч
 
07.07.14
11:25
(0) Ты путаешь проблему и следствие. Решать надо проблему, а она вот она: "пользователь отвлекает программиста". Поддержку он должен отвлекать, а не программиста
7 Крошка Ру
 
07.07.14
11:25
ИМХО, единственный способ уменьшить количество вопросов - не допускать таких ошибок.
8 Крошка Ру
 
07.07.14
11:26
(6) +1
9 Бешеная Нога
 
07.07.14
11:26
все относительно
10 Infsams654
 
07.07.14
11:26
(0) заверни в попытку, в Исключение выдавай номер строки й и имя колонки
11 Ymryn
 
07.07.14
11:26
(2) вопросов было бы скорее всего столько же. Но понять по первым словам было бы легче. А так, далеко не каждый пользователь с первой попытки сможет прочитать внятно стандартное сообщение об ошибке.

(0) Да, обязательные условия с сообщить в понятной форме. Даже если по логике процедуры этого быть не может, но код допускает  (правда там обычно пишу что-нибудь веселое, в расчете, что все равно никто не увидит). Это сильно помогает быстро определить, что именно сломалось.
12 Infsams654
 
07.07.14
11:28
(10) 1-й проход без загрузки - чтоб выдались все ошибки
13 Крошка Ру
 
07.07.14
11:28
(11) ну название модуля и номер строки-то он должен уметь прочитать...
14 Господин ПЖ
 
07.07.14
11:28
>Если бы было сообщение "Некорректные данные в такой-то колонке и строке"

разница не велика
15 Господин ПЖ
 
07.07.14
11:29
помню внедрялась рядом система на .net, ну и эксепшены не были перекрыты вразумительным описанием. Вот юзеры охреневали от описалова ошибки m$
16 Ymryn
 
07.07.14
11:30
(13) полная типовая ошибка на слух плохо определяется. Особенно с учетом, что все идет без правильных акцентов, сплошным монотонным потоком. В общем, понятные тебе и пользователю метки на ошибки ускоряют процесс общения, думаю все-таки с этим ты не будешь спорить :)
17 Крошка Ру
 
07.07.14
11:32
(16) Да я не спорю))
Меня смущают метки на ошибки, которые понятны пользователю. Они реальны?))
18 Ymryn
 
07.07.14
11:36
(17) Зависит от пользователя. Есть те, кто понимает. Есть те кто понимает, после одного раза как ему объяснишь, что это значит. Есть те (их все-таки весьма мало), кто понимать отказывается и кого просишь сделать таблицу с перечнем - увидел "Ошибка раз" - "Инструкция к выполнению".
Главные плюс все-таки: что это помогает тебе и людям, которым не лень думать быстро определить, что не так, и исправить это, не залазя в конфигуратор. :)
19 Sammo
 
07.07.14
11:39
Зависит от планируемого срока жизни и трудозатрат.
Описание и перекрытие сообщениями большинства ситуация некорректных данных треббует трудозатрат. Если это одноразовая поделка либо для личного пользования то - зачем? Если есть время и не очень квалифицированный персонал, то можно попробовать перекрыть наиболее характерные ошибки (корявые данные, деление на 0 и т.п.)
20 kosts
 
07.07.14
11:46
(0) Такие ошибки должны быть предусмотрены разработчиком, и корректно обрабатываться (в данном случае выдачей предупреждения пользователю). Весело наверное принимать звонки в свой выходной, особенно ехать на работу, а там ошибка вида "Преобразование значения к типу Число не может быть выполнено"...

Видится, что-то в таком виде.

Если Количество <> 0 Тогда
    ОбъемСтрокой = Страница.Cells(й,СоответствиеКолонок["Объем"]).Value;
    ОбъемСтрокой = УдалитьВсеПробелы(ОбъемСтрокой);
    ОбъемСтрокой = ЗаменитьЗапятуюНаТочку(ОбъемСтрокой);
    Попытка
        Объем = Число(ОбъемСтрокой);
    Исключение
        Предупреждение("Не правильно внесен объем в строке № блаблабла");
        Объем = 0;
    КонецПопытки;
    Стр.Объем = Объем / Количество;
Иначе
    Стр.Объем = 0; // Или выдача предупреждения о нуле, если количество всегда должно быть не нулевое
КонецЕсли;
21 Ненавижу 1С
 
гуру
07.07.14
11:58
(6) мы малы, чтобы была поддержка
всего 70 пользователей
22 VladZ
 
07.07.14
11:59
(20) Предупреждение в цикле - это издевательство над пользователем.
23 kosts
 
07.07.14
12:02
(22) Ну это же демо
24 Ymryn
 
07.07.14
12:05
(22) если пользователь издевается над программой подсовывая ей кривые данные, программа может ответить взаимностью! :)