Импорт данных типа "Дата" из csv файла в 1С 8
По теме из базы знаний
- Импорт из EXCEL и других источников (xls, xlsx, xlsb, ods, sxc, dbf, mxl, csv, clipboard, sql) в 1С
- PowerTools: Инструменты администратора 1С 8.3
- Загрузка номенклатуры в справочник и документ из файла Excel и CSV, обновление цен и реквизитов (адаптируется под разные конфигурации 1С: 7.7)
- Экспорт данных для загрузки в систему SPOT2D
- Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Так а в каком формате дата в csv файле? Первое, что приходит в голову используя лев, прав, сред получить отдельно каждую часть даты из строки и собрать потом Дата(год, месяц, день, час, минута, секунда).
Если дата все-таки в более менее каноническом виде ("ГГГГММДДччммсс") просто разделители разные - можно попробовать поудалять разделители и получить единую строку
Если дата все-таки в более менее каноническом виде ("ГГГГММДДччммсс") просто разделители разные - можно попробовать поудалять разделители и получить единую строку
По идее должно сработать так:
ИсходнаяДата = "02.12.1997" // ваше значение из csv файла
//Тут хорошо бы добавить хотя бы проверку на то, что дата не пустая и строка содержит именно 10 символов иначе получится ерунда
ИтоговаяДата = Дата(Прав(ИсходнаяДата,4)+Сред(ИсходнаяДата,4,2)+Лев(ИсходнаяДата,2)+"000000");
т.е. мы получаем год + месяц + день и добавляем временем нулевым для преобразования стандартной функцией
ИсходнаяДата = "02.12.1997" // ваше значение из csv файла
//Тут хорошо бы добавить хотя бы проверку на то, что дата не пустая и строка содержит именно 10 символов иначе получится ерунда
ИтоговаяДата = Дата(Прав(ИсходнаяДата,4)+Сред(ИсходнаяДата,4,2)+Лев(ИсходнаяДата,2)+"000000");
т.е. мы получаем год + месяц + день и добавляем временем нулевым для преобразования стандартной функцией
(6)
Так как у меня есть не 1 дата получается так:
ИсходнаяДата = Стр.Дата;
Если Не Стр.Дата = 0 Тогда
ИтоговаяДата = Дата(Прав(ИсходнаяДата,4)+Сред(ИсходнаяДата,4,2)+Лев(ИсходнаяДата,2)+"000000");
КонецЕсли;
НовыйКлиент.ДатаРождения = ИтоговаяДата;
т.е. мы получаем год + месяц + день и добавляем временем нулевым для преобразования стандартной функцией
Так как у меня есть не 1 дата получается так:
ИсходнаяДата = Стр.Дата;
Если Не Стр.Дата = 0 Тогда
ИтоговаяДата = Дата(Прав(ИсходнаяДата,4)+Сред(ИсходнаяДата,4,2)+Лев(ИсходнаяДата,2)+"000000");
КонецЕсли;
НовыйКлиент.ДатаРождения = ИтоговаяДата;
Прикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот