Имя: Пароль:
1C
1С v8
Преобразование к типу число
,
0 Garikus
 
24.05.12
10:23
1С 8.2 помогите с тупым вопросом
в табличной части

СЗ= строка.Количество * строка.ЦенаЗакупа;

Ругается на преобразование к типу число не может быть выполнено
на данную переменную строка.ЦенаЗакупа, переменная берется с номенклатуры со справочника цена. т.е Номенклатура.ценаЗакупа;

подскажите как побороть
1 Alex S D
 
24.05.12
10:24
проверяй на заполненность
2 Wobland
 
24.05.12
10:24
это кто такой умный цены в справочнике хранит? тип реквизита каков? что рассказывает отладчик?
3 butterbean
 
24.05.12
10:24
типы проверь, где-то Строка по-любому
4 Garikus
 
24.05.12
10:24
(1) значение там есть, задача стоит посчитать суммуЗакупа
5 Garikus
 
24.05.12
10:25
воспринимает ссылкой строка.ЦенаЗакупа, а как значение от туда получить?
6 0_Serg_0
 
24.05.12
10:25
в справочнике цен нет
показывай весь код
7 andrewks
 
24.05.12
10:25
(5) либо значения нет, либо оно некорректное
8 Euguln
 
24.05.12
10:26
(0) Либо типизированный реквизит СЗ
9 Garikus
 
24.05.12
10:27
(6) это пока весь код, делается 2 документа в конфиги отдельной, в справочнике поле строка.ЦенаЗакупа тип число
10 Garikus
 
24.05.12
10:27
(8) реквизит СЗ поле в таб части число
11 DrShad
 
24.05.12
10:29
(5) смотри в РС цена по данной ссылке
12 Wobland
 
24.05.12
10:29
(6) обычно
13 0_Serg_0
 
24.05.12
10:29
отладчик на этой строке что показывает?
14 Garikus
 
24.05.12
10:30
(13) номенклатура.ЦенаЗакупа
15 Alex S D
 
24.05.12
10:30
(14) седня не пятница вроде)
16 butterbean
 
24.05.12
10:31
(14) Строка.ЦенаЗакупа и Строка.Количество - какие типы имеют??
17 Garikus
 
24.05.12
10:31
числовые оба
18 Иоканаан
 
24.05.12
10:31
(0)С подобной руганью я сталкивался только когда преобразумое значение равно Null. Т. о. обязательно надо проверять переменную на заполненность, (1) Вам правильно сказали.
19 Alex S D
 
24.05.12
10:32
текст ошибки можно полностью?
20 Garikus
 
24.05.12
10:32
{Документ.ОформлениеЗаявки.Форма.ФормаДокумента.Форма(18)}: Преобразование значения к типу Число не может быть выполнено
   СЗ= строка.Количество * строка.ЦенаЗакупа;
21 ЧеловекДуши
 
24.05.12
10:32
Дарю...

Функция ЧислоМое(НекаяСтр,НужныйТип = Неопределено)
   Перем Рез;
   
   Если (НужныйТип <> Неопределено) и (ТипЗнч(НекаяСтр) = НужныйТип) Тогда
       Рез = НекаяСтр;
       Возврат Рез;
   КонецЕсли;
   
   Рез = 0;
   //Если ПустаяСтрока(СокрЛП(НекаяСтр)) Тогда
   //    
   //    Если (НужныйТип <> Неопределено) Тогда
   //        Если (НужныйТип = Тип("Булево")) (ТипЗнч(НекаяСтр) = НужныйТип) и  Тогда
   //            Если Рез = 0 Тогда
   //                Рез = Ложь;
   //            Иначе
   //                Рез = Истина;
   //            КонецЕсли;
   //        КонецЕсли;
   //    КонецЕсли;
   //    
   //    Возврат Рез;
   //КонецЕсли;
   
   Попытка
       Рез = Число(НекаяСтр);
   Исключение
   КонецПопытки;
   
   Если (НужныйТип <> Неопределено) Тогда
       Если (НужныйТип = Тип("Булево")) и (ТипЗнч(НекаяСтр) <> НужныйТип) Тогда
           Если Рез = 0 Тогда
               Рез = Ложь;
           Иначе
               Рез = Истина;
           КонецЕсли;
       КонецЕсли;
   КонецЕсли;
   
   Возврат Рез;
КонецФункции
22 butterbean
 
24.05.12
10:32
(17) тогда ошибки из (0) точно не может быть
23 butterbean
 
24.05.12
10:33
(20) аааа, СЗ - это не число
24 PuhUfa
 
24.05.12
10:33
Сообщить(ТипЗнч(строка.Количество));
Сообщить(ТипЗнч(строка.ЦенаЗакупа));
СЗ= строка.Количество * строка.ЦенаЗакупа;
25 Schwonder
 
24.05.12
10:34
(0) Иди в сварщики... пока не поздно!
26 Alex S D
 
24.05.12
10:34
сз реквизит ?
27 Garikus
 
24.05.12
10:35
(24) 1 число второе номенклатура
28 Alex S D
 
24.05.12
10:35
%
29 Garikus
 
24.05.12
10:36
(25) не в сварщики не возьмут я сварщик не настоящий)
30 butterbean
 
24.05.12
10:36
(27) забанить без права на реабилитацию
31 Garikus
 
24.05.12
10:37
(30) только перед баном ткните носом на ошибку, я как бы не силен в этом. и деваться некуда. профиль работы у меня не тот немного
32 Reset
 
24.05.12
10:37
(27) Теперь прочитай (17)
33 PuhUfa
 
24.05.12
10:37
(27) ну дальше наверное сам все понимаешь -))
34 Garikus
 
24.05.12
10:38
а как мне номенклатуру в число ?))
35 butterbean
 
24.05.12
10:38
(31) тебя 10 раз про типы спрашивали, ты писал, что везде числа, а в  (27) оказалась какая-то номенклатура
36 Alex S D
 
24.05.12
10:38
походу это ошибка платформы..
37 Garikus
 
24.05.12
10:39
(36) скорей всего это моя ошибка
38 PuhUfa
 
24.05.12
10:39
(36) сейчас придет один дядька и скажет, что это ошибка платформы ДНК -)
39 ЧеловекДуши
 
24.05.12
10:41
(37)Не пыжся, смотри в (21), и забудь о типах :)
40 Schwonder
 
24.05.12
10:46
Сегодня же четверг, ты чего? Завтра надо такие ветки заводить ;)
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс