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

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

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

Оффлайн Gennadiyy

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


Оффлайн ilyay

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

Оффлайн Gennadiyy

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

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

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

Оффлайн Gennadiyy

  • **
  • Сообщений: 77
  • РЕПУТАЦИЯ: 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
Просмотров: 1429
Последний ответ 16 Ноя 2015, 08:12
от KrivosheevEV
"Уникальность" строки таблиной части документа

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

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

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

Ответов: 2
Просмотров: 4243
Последний ответ 06 Май 2015, 23:03
от Iater
В акте-сверки пустые строки в столбце "Документ" и нет периода в заголовке

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

Ответов: 3
Просмотров: 1014
Последний ответ 23 Дек 2016, 19:18
от ignatovsam
Заполнение строки документа значениями реквизитов табличной части документа

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

Ответов: 10
Просмотров: 2475
Последний ответ 01 Апр 2015, 22:19
от vitasw

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

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

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


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

* Реклама

* Поиск

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

* Реклама

* Последние вакансии

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
149 Сообщений
alex0402
102 Сообщений
MuI_I_Ika MuI_I_Ika
53 Сообщений
Norfolk
50 Сообщений
LexaK
47 Сообщений
AsadRoman
27 Сообщений
SlimShady
21 Сообщений
друган
21 Сообщений
alexandr_ll
19 Сообщений
MrLvovsky MrLvovsky
16 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal