Когда-то делал класс Дата. В нем ИзСтроки и Встроку
Перем Дата_;
Процедура Конструктор()
Дата_ = ТекущаяДата();
КонецПроцедуры // Конструктор
Процедура Установить(НоваяДата) Экспорт
Если ТипЗначения(НоваяДата) = 2 Тогда //строка
Дата_ = Дата(НоваяДата);
ИначеЕсли ТипЗначения(НоваяДата) = 3 Тогда //дата
Дата_ = НоваяДата;
КонецЕсли;
КонецПроцедуры // Установить
Функция Получить() Экспорт
Возврат Дата_;
КонецФункции // Получить
Функция ИзСтроки(СтрокаДаты_, ФорматДаты_) Экспорт
Если ПустаяСтрока(ФорматДаты_) = 1 Тогда //конвертируем строку типа '01.01.2005'
Возврат Дата(СтрокаДаты_);
КонецЕсли;
//допустимые части: ДД ММ ММММ ГГ ГГГГ
Дата_ = ПолучитьПустоеЗначение("Дата");
//уберем разделители из строки формата и даты
ФорматДаты = "";
Для инд = 1 По СтрДлина(ФорматДаты_) Цикл
символ = Сред(ФорматДаты_, инд, 1);
Если Найти("ДМГ", символ) <> 0 Тогда
ФорматДаты = ФорматДаты + символ;
КонецЕсли;
КонецЦикла;
СтрокаДаты= "";
Для инд = 1 По СтрДлина(СтрокаДаты_) Цикл
символ = Сред(СтрокаДаты_, инд, 1);
Если Найти(" .-/", символ) = 0 Тогда
СтрокаДаты = СтрокаДаты + символ;
КонецЕсли;
КонецЦикла;
Если ФорматДаты = "ДДММГГГГ" Тогда
Дата_ = Дата(Сред(СтрокаДаты,5), Сред(СтрокаДаты, 3, 2), Лев(СтрокаДаты, 2));
ИначеЕсли ФорматДаты = "ГГГГММДД" Тогда
Дата_ = Дата(Лев(СтрокаДаты, 4), Сред(СтрокаДаты,5, 2), Сред(СтрокаДаты, 7));
КонецЕсли;
Возврат Дата_;
КонецФункции // ИзСтроки
Функция ВСтроку(ФорматДаты) Экспорт
стр = ФорматДаты;
//формат строки: ЧастьРазделительЧасть
//допустимые части: ДД ММ ММММ ГГ ГГГГ НННН
ПадежМесяца = "И";
Если Найти(ФорматДаты, "ДД") <> 0 Тогда
д = Формат(ДатаЧисло(Дата_), "Ч(0)2.0");
стр = СтрЗаменить(стр, "ДД", д);
//Сообщить("Число=" + д);
ПадежМесяца = "Р";
КонецЕсли;
Если Найти(ФорматДаты, "НННН") <> 0 Тогда
дн = Формат(Дата_, "ДНННН");
стр = СтрЗаменить(стр, "НННН", дн);
//Сообщить("День недели=" + дн);
ПадежМесяца = "Р";
КонецЕсли;
Если Найти(ФорматДаты, "ГГГГ") <> 0 Тогда
г = Строка(ДатаГод(Дата_));
стр = СтрЗаменить(стр, "ГГГГ", г);
//Сообщить("Год=" + г);
ИначеЕсли Найти(ФорматДаты, "ГГ") <> 0 Тогда
г = Прав(Строка(ДатаГод(Дата_)), 2);
стр = СтрЗаменить(стр, "ГГ", г);
//Сообщить("Год=" + г);
КонецЕсли;
Если Найти(ФорматДаты, "ММММ") <> 0 Тогда
Если ПадежМесяца = "Р" Тогда
м = Формат(Дата_, "ДДДММММГГГГ"); //когда полная строка формата, возвращает месяц в родит падеже
м = СтрПолучитьСтроку(СтрЗаменить(м, " ", РазделительСтрок), 2);
Иначе
м = Формат(Дата_, "ДММММ");
КонецЕсли;
стр = СтрЗаменить(стр, "ММММ", м);
//Сообщить("Месяц=" + м);
ИначеЕсли Найти(ФорматДаты, "ММ") <> 0 Тогда
м = Формат(ДатаМесяц(Дата_), "Ч(0)2.0");
стр = СтрЗаменить(стр, "ММ", м);
//Сообщить("Месяц=" + м);
КонецЕсли;
Возврат стр;
КонецФункции // ВСтроку
ЗЫ никак не хочет файл прикреплять: пишет неверный формат файла

.rar