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

Автор Тема: Функция получения даты из строки  (Прочитано 2042 раз)

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

Онлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 6556
  • РЕПУТАЦИЯ: 775
  • КПД: 12%
  • Регистрация: 2012-08-15
    • Skype: MuI_I_Ika
  • Сайт: 
  • Профессия: Программист 1С
Может преобразовать строки вида: "01/10/15","01-10-2015","10,15","10.15","01.03.2015 0:00:00" к дате

Функция ПолучитьДатуИзСтроки(Стр) 

Д = Дата("00010101000000");

Если ПустаяСтрока(Стр) Тогда
Возврат Д;
КонецЕсли;

Если Найти(Стр,".") > 0 Тогда

Если Найти(Стр,":") > 0 И Найти(Стр," ") > 0 Тогда
М = РазложитьСтрокуВМассивПодстрок(Стр," ");
Возврат ПолучитьДатуИзСтроки(М[0]);
КонецЕсли;

М = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(Стр,".");

ИначеЕсли Найти(Стр,"/")>0 Тогда

М = РазложитьСтрокуВМассивПодстрок(Стр,"/");

ИначеЕсли Найти(Стр,",")>0 Тогда

М = РазложитьСтрокуВМассивПодстрок(Стр,",");

ИначеЕсли Найти(Стр,"-")>0 Тогда

М = РазложитьСтрокуВМассивПодстрок(Стр,"-");

КонецЕсли;

Попытка

Если М.Количество() = 3 Тогда //"01.02.13" или "01.02.2013"
Год = ?(СтрДлина(М[2]) = 2,2000 + М[2],М[2]);
Д = Дата(Год,М[1],М[0]);
ИначеЕсли М.Количество() = 2 Тогда //"02.13" или "02.2013";
Год = ?(СтрДлина(М[1]) = 2,2000 + М[1],М[1]);
Д = Дата(Год,М[0],1);
КонецЕсли;

Исключение
КонецПопытки;

Возврат Д;

КонецФункции

   
Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт

МассивСтрок = Новый Массив();

Если Разделитель = " " Тогда

Стр = СокрЛП(Стр);

Пока Истина Цикл

Поз = Найти(Стр,Разделитель);

Если Поз = 0 Тогда
МассивСтрок.Добавить(Стр);
Возврат МассивСтрок;
КонецЕсли;

МассивСтрок.Добавить(Лев(Стр,Поз - 1));
Стр = СокрЛ(Сред(Стр,Поз));

КонецЦикла;

Иначе

ДлинаРазделителя = СтрДлина(Разделитель);

Пока Истина Цикл

Поз = Найти(Стр,Разделитель);

Если Поз = 0 Тогда
МассивСтрок.Добавить(Стр);
Возврат МассивСтрок;
КонецЕсли;

МассивСтрок.Добавить(Лев(Стр,Поз - 1));
Стр = Сред(Стр,Поз + ДлинаРазделителя);

КонецЦикла;
КонецЕсли;

КонецФункции

Последний раз редактировалось: MuI_I_Ika; 26 Авг 2015, 15:04


Теги:
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
168 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
48 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal