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

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

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

Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 7091
  • РЕПУТАЦИЯ: 839
  • КПД: 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


Теги:
 

Помогите выразить код Объект.Наименование = Объект.Подразделение + " " + Объект.Должность + " " + Объект.ФизическоеЛицо через строки.

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

Ответов: 3
Просмотров: 692
Последний ответ 05 Мар 2019, 19:28
от Ledgik
Не активны кнопки "Добавить" и "Удалить" дополнительные строки в отчете по НДС

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

Ответов: 2
Просмотров: 1565
Последний ответ 25 Янв 2018, 14:50
от kiksi
Как при вставке текста запроса с консоли запроса ив программный код конфигурации автоматически добавлять прямую черту в начале каждой строки

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

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

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

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

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

Ответов: 3
Просмотров: 3118
Последний ответ 20 Авг 2014, 12:22
от has

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
48 Сообщений
LexaK
36 Сообщений
alexandr_ll
31 Сообщений
DmitriyF DmitriyF
18 Сообщений
VID1234
17 Сообщений
Алексей_1985_06
16 Сообщений
alex0402 alex0402
15 Сообщений
BuhRust
13 Сообщений
temrmal temrmal
11 Сообщений
wise wise
11 Сообщений

* Кто онлайн

  • Точка Гостей: 319
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal