|
Преобразование времени 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, но думаю, это очепятка =)
|
|