Имя: Пароль:
1C
1С v8
запись в базу mySQL
0 lite700
 
28.11.15
20:38
проблема при записи в таблицу mysql .почему- то вместо цены
2650 записывается цена 2 рубля

в отладке цена явлется типом число и равно 2650
пробовал еще нули добавлять ,000 ,но это не помогет
ЧТО ТУТ МОЖЕТ БЫТЬ ? причем если цена 680 то вроде нормально пишет .

Цена=Ценообразование.ПолучитьЦенуНоменклатуры(Выборка.номенклатура.Ссылка, ,ВыбЦена1,ТекущаяДата()) ;

Цена1=Строка(цена)+",000" ;
Цена=Число(цена1) ;
Command.CommandText="INSERT INTO `vh5cb_virtuemart_product_prices`(`virtuemart_product_id`, `virtuemart_product_price_id`, `product_price`,`product_currency`) VALUES ('"+Значение+"','"+Значение1+"','"+Цена+"','131'); " ;   //цена
RS = Command.Execute();
1 vde69
 
28.11.15
20:40
неразрывный пробел....

надо использовать формат

Command.CommandText="INSERT INTO vh5cb_virtuemart_product_prices(virtuemart_product_id, virtuemart_product_price_id, product_price,product_currency) VALUES ('"+Значение+"','"+Значение1+"','"+формат(Цена,"ТутНеПомнюТочно")+"','131'); " ;
2 lite700
 
28.11.15
20:42
а щас попробую!
3 lite700
 
28.11.15
21:07
'"+формат(Цена,"ЧРГ=")+"' чот так не хочет
4 vde69
 
28.11.15
21:08
чему равно Command.CommandText

вывиди сюда текст полностью
5 lite700
 
28.11.15
21:19
ты имеешь ввиду в отладчике чему равно ?
6 lite700
 
28.11.15
21:20
если превраить в строку убрать пробелы и так отправить ?
7 lite700
 
28.11.15
21:37
пробовал превратить  в строку ,убрать пробелы , добавть .0000
но не хочет что -то
8 Amra
 
28.11.15
21:44
Какой тип Цена и чему оно равно в Command.CommandText
9 lite700
 
28.11.15
21:47
щас
10 lite700
 
28.11.15
21:54
"INSERT INTO `vh5cb_virtuemart_product_prices`(`virtuemart_product_id`, `virtuemart_product_price_id`, `product_price`,`product_currency`) VALUES ('16','16','2 790','131'); "
это отладчик выдает
11 lite700
 
28.11.15
21:56
первоначально цена- это число
имеет вид 2 790 с пробелом
12 lite700
 
28.11.15
21:57
Цена1=Строка(Цена) ;
Цена1=СтрЗаменить(цена1," ","");
пытаюсь так
13 Amra
 
28.11.15
21:57
Еще раз - тип? Похоже на тип строка
14 Amra
 
28.11.15
21:57
(12) Цена1=СтрЗаменить(цена1,Символы.НПП,""); !!!
15 vde69
 
28.11.15
22:00
сделай так

Command.CommandText="INSERT INTO vh5cb_virtuemart_product_prices(virtuemart_product_id, virtuemart_product_price_id, product_price,product_currency) VALUES ('"+Значение+"','"+Значение1+"','"+формат(Цена,"ЧГ=0")+"','131'); " ;
16 lite700
 
28.11.15
22:00
Цена=Ценообразование.ПолучитьЦенуНоменклатуры(Выборка.номенклатура.Ссылка, ,ВыбЦена1,ТекущаяДата()) ;
--здесь цена это число
но так не проходить
пытаюсь в строку перевести
а что символы НПП
17 Amra
 
28.11.15
22:07
(16) Там не пробел, а неразрывный пробел, именно Символы.НПП
18 lite700
 
28.11.15
22:07
Да заработало !!!   формат(Цена,"ЧГ=0")+  спасибо всем особенно VDE69
19 lite700
 
28.11.15
22:09
Возможно можно и через символы.НПП
20 Amra
 
28.11.15
22:12
(18) (19)  Наслаждайся)
21 vde69
 
28.11.15
22:14
пришлось конфигуратор открывать :) на память не помню...

а вообще на будущее сначало формируй строку а потом ее пихай в Command.CommandText

это хороший стиль, который тебе в последствии поможет в отладке...
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший