#Область ФункцииПреобразования
&НаКлиентеНаСервереБезКонтекста
Функция ЧислоИзСтроки(Знач Строка)
Попытка
Возврат Число(НомерИзСтроки(Строка));
Исключение
Возврат 0;
КонецПопытки;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция НомерИзСтроки(Знач Строка)
Строка = СокрЛП(Строка(Строка));
Для Каждого _ Из СтрРазделить(Строка,"0123456789",Ложь) Цикл
Строка = СтрЗаменить(Строка,?(ПустаяСтрока(СокрЛП(_)),_,СокрЛП(_)),"");
КонецЦикла;
Возврат Строка;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция МассивНомеровИзСтроки(Знач Строка,Знач Группировка)
Возврат СтрРазделить(Формат(ЧислоИзСтроки(Строка),"ЧДЦ=; ЧРГ=|; ЧН=; ЧГ="+Группировка),"|",Ложь);
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция МассивЧиселИзСтроки(Знач Строка,Знач Группировка)
ВозвращаемоеЗначение = Новый Массив;
МассивНомеров = МассивНомеровИзСтроки(Строка,Группировка);
Для Каждого Номер Из МассивНомеров Цикл
ВозвращаемоеЗначение.Добавить(Число(Номер));
КонецЦикла;
Возврат ВозвращаемоеЗначение;
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция ДатаИзСтроки(Знач Строка)
тДата = Новый ОписаниеТипов("Дата",,,,,Новый КвалификаторыДаты(ЧастиДаты.Дата));
ВозвращаемоеЗначение = тДата.ПривестиЗначение();
мДата = МассивЧиселИзСтроки(Строка,"2,0");
Если мДата.Количество() = 3 Или мДата.Количество() = 4 Тогда
Если мДата.Получить(1) > 12 Тогда
Возврат ДатаИзСтроки(Формат(мДата.Получить(0),"ЧЦ=3; ЧРГ=0; ЧВН=; ЧГ=1")+Формат(мДата.Получить(1),"ЧЦ=2; ЧВН=; ЧГ=0")+Формат(мДата.Получить(2),"ЧЦ=2; ЧВН=; ЧГ=0"));
Иначе
мДата.Установить(2,?(мДата.Количество()=4,мДата.Получить(2)*100,2000)+мДата.Получить(мДата.ВГраница()));
КонецЕсли;
ИначеЕсли мДата.Количество() = 2 И Не мДата.Получить(0)<10 Тогда
Возврат ДатаИзСтроки(Формат(мДата.Получить(0),"ЧЦ=3; ЧРГ=0; ЧВН=; ЧГ=1")+Формат(Число(Формат(мДата.Получить(1),"ЧЦ=4; ЧС=; ЧРГ=2; ЧВН=; ЧГ=3,0")),"ЧГ=0"));
КонецЕсли;
Если Не мДата.Количество() < 3 Тогда
ВозвращаемоеЗначение = Дата(мДата.Получить(2),мДата.Получить(1),мДата.Получить(0));
КонецЕсли;
Возврат тДата.ПривестиЗначение(ВозвращаемоеЗначение);
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Функция СтрокаВДату(СтрокаДаты)
СтрокаДаты=СокрЛП(ВРЕГ(СтрокаДаты));
мМесяцы = СтрРазделить("ЯНВ,ФЕВ,МАР,АПР,МА,ИЮН,ИЮЛ,АВГ,СЕН,ОКТ,НОЯ,ДЕК",",",Ложь);
Для Каждого Месяц Из мМесяцы Цикл
Если Булево(Найти(СтрокаДаты,Месяц)) Тогда
Возврат ДатаИзСтроки(СтрЗаменить(СтрокаДаты,Месяц,Формат(мМесяцы.Найти(Месяц)+1,"ЧЦ=2; ЧВН=; ЧГ=0")));
КонецЕсли;
КонецЦикла;
Возврат ДатаИзСтроки(СтрокаДаты);
КонецФункции
#КонецОбласти