Имя: Пароль:
1C
1С v8
Преобразование времени Excel в дату 1с
0 Prilepsky
 
07.12.11
14:05
Столкнулся с такой проблемой.
Есть обработка , которая считывает csv файл и записывает его в ТЗ, все бы хорошо, но!

В этом файле есть одна колонка формата "чч.мм.сс" которая в 1с загружается как число.
Как это число преобразовать обратно во время?

Тип колонки задаю вручную:

КВ = Новый КвалификаторыДаты(ЧастиДаты.Время);
Массив = Новый Массив;
Массив.Добавить(Тип("Дата"));
ОписаниеТиповВ = Новый ОписаниеТипов(Массив, , ,КВ);
ТЗ.Колонки.Добавить("Время", ОписаниеТиповВ);

Метод загрузки:
Область = ЛистЭксель.Range(ЛистЭксель.Cells(1,1), ЛистЭксель.Cells(ВсегоСтрок,ВсегоКолонок));
Данные = Область.Value.Выгрузить();

Поэтому я не могу загружать как TEXT.
1 Rie
 
07.12.11
14:07
(0) Excel под рукой отсутствует. Но - что за число? В Excel целая часть этого числа - дата (в днях), дробная - время. Отсюда можно вычислить дату в 1С.
2 Prilepsky
 
07.12.11
14:10
(1) В exsel 0:02:15 а в 1с 0,0015625
3 Rie
 
07.12.11
14:22
(2) Это не дата, а только время.
0,0016525 умножаешь на 84600 - получаешь время от начала суток в секундах. Далее путём последовательных делений и взятия остатка получаешь секунды, минуты, часы времени.
4 Prilepsky
 
07.12.11
14:25
(3)Да, понимаю, что время. В заголовке ошибся.
Спасибо, попробую.
5 Rie
 
07.12.11
14:44
(4) Не ошибся. В 1С тип называется именно Дата.
Это я невнимательно читал (0), где прямым текстом было сказано "чч.мм.сс".
6 Prilepsky
 
07.12.11
15:59
Все получилось,спасибо.
Только умножать надо на 86400, но думаю, это очепятка =)