Имя: Пароль:
1C
1С v8
Преобразование значения к типу Число не может быть выполнено
0 badsinner
 
03.08.12
16:01
Всем доброго!
1С 8,2,15,289, конфигурация УНФ 1,3,4,1. При попытке зайти в прас-лист пишет Преобразование значения к типу Число не может быть выполнено. При отладке пишет {Обработка.ПрайсЛист.Форма.Форма.Форма(281)}: Преобразование значения к типу Число не может быть выполнено
                       Цена = Выборка.Цена * (1 + Выборка.ВидЦен.Процент / 100);
1 Lex_Liven
 
03.08.12
16:03
Выборка.ВидЦен.Процент и Выборка.Цена проверь типы. Если там не число и значение нулевое, то в выборке будет NULL, а не 0.
как вариант

Цена = Число(Выборка.Цена) * (1 + Число(Выборка.ВидЦен.Процент) / 100)
2 NickOmsk
 
03.08.12
16:03
глянь в отладчике
3 mikecool
 
03.08.12
16:04
нул и неопределено надо как то обрабатывать
4 Живой Ископаемый
 
03.08.12
16:10
2(0) спасибо за новости!
5 badsinner
 
03.08.12
16:14
Если б знать какой параметр перед этим поменял, а то сейчас в форму и войти нельзя
6 badsinner
 
03.08.12
16:32
Lex_Liven не помогло
7 Lex_Liven
 
03.08.12
16:35
Тогда смотри в отладчике значения Выборка.Цена и Выборка.ВидЦен.Процент.
8 vmv
 
03.08.12
16:38
предсказываю Null в значении Выборка.Цена

ваятели новых конф УФ не могут позволить себе роскошь проверять результаты запросов при их использовании в коде расчетов - план
9 badsinner
 
03.08.12
16:46
как в отладке проверить какое значение стоит в Выборка.Цена и Выборка.ВидЦен.Процент. ? очень нужно, шеф яйца отрежет
10 badsinner
 
03.08.12
16:50
скорее всего перед ошибкой в поле Вид цен была введена буква, после этого на страницу Прайс-лист попасть нельзя, как удалить условие в виде буквы?
11 Lex_Liven
 
03.08.12
16:55
Чтобы быстро попасть на страницу:

Попытка
Цена = Выборка.Цена * (1 + Выборка.ВидЦен.Процент / 100);
Исключение
Цена=0;
КонецПопытки;

Чтобы сделать все правильно, надо копать глубже до самых причин ошибки.
12 hhhh
 
03.08.12
16:55
(10) ну так

     //Цена = Выборка.Цена * (1 + Выборка.ВидЦен.Процент / 100);
     Цена = 1;
13 hhhh
 
03.08.12
16:57
(11) Цена = 0; нельзя. Оно через пару строк вылетит и автор нас съест.
14 Lex_Liven
 
03.08.12
16:57
(12) так он может не отловить ошибку. а по моему способу - переберет строки, где 0 получился.
15 badsinner
 
03.08.12
17:04
hhhh спасибо большое, мои яйца живы!
сейчас попробую раскомметировать обратно