Имя: Пароль:
1C
1С v8
Загрузка из excel
0 Vassol
 
21.08.12
10:13
Доброго утра всем.

Помогите умножить на 1000)))) Весь мозг вынес, из-за этой мелочи.

Вобщем: загружаю из excel таблицу

КЧ = Новый КвалификаторыЧисла(15,2);
       КЧ2 = Новый КвалификаторыЧисла(15,3);
         КС = Новый КвалификаторыСтроки(50);
       Массив = Новый Массив;
         Массив.Добавить(Тип("Строка"));
         ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);
       Массив.Очистить();
         Массив.Добавить(Тип("Число"));
         ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, , ,КЧ);
       Массив.Добавить(Тип("Число"));
         ОписаниеТиповЧ2 = Новый ОписаниеТипов(Массив, , ,КЧ2);
   
       ТЗ.Очистить();
       ТЗ.Колонки.Очистить();
   
       ТЗ.Колонки.Добавить("Товар", ОписаниеТиповС, "Товар",50);
       ТЗ.Колонки.Добавить("Номер", ОписаниеТиповС, "Номер", 15);
       ТЗ.Колонки.Добавить("ЕдИзм", ОписаниеТиповС, "ЕдИзм", 10);
       ТЗ.Колонки.Добавить("Вес", ОписаниеТиповЧ, "Вес", 10);
       ТЗ.Колонки.Добавить("Объем", ОписаниеТиповЧ2, "Объем", 10);
   
   Для Строка = 1 по ExcelПоследняяСтрока Цикл
       
       ОбработкаПрерыванияПользователя();
       
       Стр = ТЗ.Добавить();
       Попытка
           Стр.Товар = ExcelЛист.Cells(Строка, 2).Value;
           Стр.Номер = ExcelЛист.Cells(Строка, 3).Value;
           Стр.ЕдИзм = ExcelЛист.Cells(Строка, 5).Value;
           Стр.Вес = ExcelЛист.Cells(Строка, 11).Value;
             Стр.Объем = ExcelЛист.Cells(Строка, 12).Value*1000;

И последнюю колонку умножаю на тысячу, чтоб переконвертировать объем.
1С не определяет тип колонки и поэтому при загрузке выдает ошибку:
(Преобразование значения к типу Число не может быть выполнено)
Результат пересчитывает, правильно. Но эта постоянная ошибка раздражает)))
пробовал переводить в число:
   Стр.Объем = Число(ExcelЛист.Cells(Строка, 12).Value)*1000;
Все ровно ругается.
Подскажите че я не догоняю?
1 ZanderZ
 
21.08.12
10:16
попробуй Число(ExcelЛист.Cells(Строка, 12).Text)
2 Vassol
 
21.08.12
10:17
не помогает(
3 bazvan
 
21.08.12
10:18
Ищи маню-парадокса он в этом спец(только окуратней а то он тебе на 1500000 умножит
4 Aprobator
 
21.08.12
10:18
Попробуй так:

ТипЧисло = Новый ОписаниеТипов("Число");
....
СтрОбъем = ТипЧисло.ПривестиЗначение(ExcelЛист.Cells(Строка, 12).Value) * 1000
5 Vassol
 
21.08.12
10:23
(4) Спасибо огромное, помогло.
Всем спасибо за помощь.
6 Aprobator
 
21.08.12
10:26
(5) нз - вероятные причины проблемы, наличие пробелов или разделитель не тот.
Число(...) это не переваривается, а через описание типов - пофигу.