Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

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

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

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

Оффлайн Gennadiyy

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


Оффлайн ilyay

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

Оффлайн Gennadiyy

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

Оффлайн Gennadiyy

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

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

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

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

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

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

Ответов: 1
Просмотров: 149
Последний ответ 06 Апр 2017, 08:40
от magnifico61
В акте-сверки пустые строки в столбце "Документ" и нет периода в заголовке

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

Ответов: 3
Просмотров: 1312
Последний ответ 23 Дек 2016, 19:18
от ignatovsam

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
96 Сообщений
Dethmontt Dethmontt
69 Сообщений
alex0402
61 Сообщений
MuI_I_Ika MuI_I_Ika
57 Сообщений
wise wise
47 Сообщений
Сергей Федоров Сергей Федоров
41 Сообщений
ilyay ilyay
39 Сообщений
BuhRust
22 Сообщений
magnifico61
20 Сообщений
videomause
20 Сообщений

* Кто онлайн

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal