Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Окт 2017, 01:01
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как проверить возможность преобразования строки в дату?  (Прочитано 1236 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Gennadiyy

  • **
  • Сообщений: 83
  • РЕПУТАЦИЯ: 5
  • КПД: 6%
  • Регистрация: 2015-12-08
  • Сайт: 
Здравствуйте! В общем ситуация следующая: необходимо распарсить огромный эксель, в некоторых ячейках есть числа, к примеру 8.9, которые автоматически преобразуются в дату (8.9 = 08.09.2016 00:00:00), так вот: можно ли как то проверить, что ячейку возможно преобразовать в дату Дата(Строка), что бы в коде проверять "если можно преобразовать, значит нужно из даты спарсить день и месяц иначе оставить как есть"


Оффлайн ilyay

  • 1С:Специалист, 1С:Эксперт
  • ****
  • Сообщений: 373
  • РЕПУТАЦИЯ: 70
  • КПД: 19%
  • Регистрация: 2011-06-09
  • Сайт: 
  • Профессия: Разработчик 1С
Неправильная постановка задачи заключается в борьбе с неверно оформленным в Ексель файлом средствами 1С. Не лучше ли причесать Ексель его же средствами?

Оффлайн Gennadiyy

  • **
  • Сообщений: 83
  • РЕПУТАЦИЯ: 5
  • КПД: 6%
  • Регистрация: 2015-12-08
  • Сайт: 
Неправильная постановка задачи заключается в борьбе с неверно оформленным в Ексель файлом средствами 1С. Не лучше ли причесать Ексель его же средствами?
Не легче, в файле несколько миллионов строк и порядка 30 столбцов с числами, конечно можно через если ячейка = "01.01.2016 00:00:00" тогда ячейка = "1.1"; иначеесли... но это будет не очень красиво, вот хотел бы узнать более красивый способ)

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1097
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
строковый формат даты, который "понимает" функция Дата() - далеко не "08.09.2016 00:00:00"
в 1С это "ГГГГММДД..." и т.д.
то есть можете смело парсить :ooifh:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн ilyay

  • 1С:Специалист, 1С:Эксперт
  • ****
  • Сообщений: 373
  • РЕПУТАЦИЯ: 70
  • КПД: 19%
  • Регистрация: 2011-06-09
  • Сайт: 
  • Профессия: Разработчик 1С
Неправильная постановка задачи заключается в борьбе с неверно оформленным в Ексель файлом средствами 1С. Не лучше ли причесать Ексель его же средствами?
Не легче, в файле несколько миллионов строк и порядка 30 столбцов с числами, конечно можно через если ячейка = "01.01.2016 00:00:00" тогда ячейка = "1.1"; иначеесли... но это будет не очень красиво, вот хотел бы узнать более красивый способ)
Напишите макрос, который определит тип значения в ячейке и перезапишет его в однозначном представлении.

Оффлайн Gennadiyy

  • **
  • Сообщений: 83
  • РЕПУТАЦИЯ: 5
  • КПД: 6%
  • Регистрация: 2015-12-08
  • Сайт: 
Неправильная постановка задачи заключается в борьбе с неверно оформленным в Ексель файлом средствами 1С. Не лучше ли причесать Ексель его же средствами?
Не легче, в файле несколько миллионов строк и порядка 30 столбцов с числами, конечно можно через если ячейка = "01.01.2016 00:00:00" тогда ячейка = "1.1"; иначеесли... но это будет не очень красиво, вот хотел бы узнать более красивый способ)


Напишите макрос, который определит тип значения в ячейке и перезапишет его в однозначном представлении.

Да я уже так, в самой обработке добавил код:

Если СтрДлина(Строка)>5 Тогда
Массив = РазложитьСтрокуВМассивПодстрок(Строка, ".");
ЦелаяЧасть = Массив[0];
ДробнаяЧасть = Массив[1];

Если Лев(ЦелаяЧасть, 1) = "0" Тогда
ЦелаяЧасть = Сред(ЦелаяЧасть, 2);
КонецЕсли;

Если Лев(ДробнаяЧасть, 1) = "0" Тогда
ДробнаяЧасть = Сред(ДробнаяЧасть, 2);
КонецЕсли;
Строка = ЦелаяЧасть + "." + ДробнаяЧасть;

КонецЕсли;

Всё в принципе устраивает, по скорости примерно так же парсится, как и без дат)


Теги:
 

Как при вставке текста запроса с консоли запроса ив программный код конфигурации автоматически добавлять прямую черту в начале каждой строки

Автор ktu78Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 1963
Последний ответ 16 Ноя 2015, 08:12
от KrivosheevEV
Возможно ли языком запросов без конкатенации текста запроса и без СКД преобразовать строки таблицы в столбцы (колонки) выходной таблицы?

Автор acces969Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 365
Последний ответ 29 Май 2017, 15:29
от alex0402
"Уникальность" строки таблиной части документа

Автор mashencev_antonРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 1799
Последний ответ 20 Авг 2014, 12:22
от has
как перебрать строки в табличной части документа в форме документа

Автор IaterРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 6841
Последний ответ 06 Май 2015, 23:03
от Iater
Изменение строки "Скидка" в чеке ККМ в Розница 2.2

Автор magnifico61Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 347
Последний ответ 06 Апр 2017, 08:40
от magnifico61

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Топ 10 авторов за месяц

oleg-x
86 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
54 Сообщений
alex0402
51 Сообщений
AIFrame
40 Сообщений
Oldman06
31 Сообщений
vitasw
27 Сообщений
Golickoff Golickoff
26 Сообщений
MuI_I_Ika MuI_I_Ika
16 Сообщений
AsadRoman
13 Сообщений
BuhRust
13 Сообщений

* Кто онлайн

  • Точка Гостей: 236
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal