Имя: Пароль:
1C
1С v8
Преобразование строки в дату
0 black_cat1305
 
04.04.14
07:07
Есть строка "апрель 2014", как можно преобразовать ее к виду: с "01.04.2014" по "31.04.2014"?
1 shuhard
 
04.04.14
07:08
(0) распарсить и вычислить начало и коней месяца
2 Wobland
 
04.04.14
07:09
откуда взялась?
3 jsmith82
 
04.04.14
07:09
Если Врег(Лев(ИскомаяСтрока, 6)) = "ЯНВАРЬ" Тогда
Месяц = 1;
ИначеЕсли Врег(Лев(ИскомаяСтрока, 7)) = "ФЕВРАЛЬ" Тогда
Месяц = 2;
.....
.....
.....
КонецЕсли;
4 jsmith82
 
04.04.14
07:10
Год = Число(Прав(ИскомаяСтрока, 4));
5 black_cat1305
 
04.04.14
07:11
спасибо большое, буду пробовать)
6 jsmith82
 
04.04.14
07:12
пжжи. это только начало
7 jsmith82
 
04.04.14
07:15
НачалоВремен = 00010101000000';
НачалоГода = ДобавитьМесяц(НачалоВремен, (Год * 12 - 1));
НачалоМесяца = ДобавитьМесяц(НачалоГода, Месяц);
КонецМесяца = КонецМесяца(НачалоМесяца - 1);
8 jsmith82
 
04.04.14
07:17
НачалоМесяцаСтрокой = Формат(НачалоМесяца, "ДФ=dd.MM.yyyy");
КонецМесяцаСтрокой = Формат(КонецМесяца, "ДФ=dd.MM.yyyy");
9 Wobland
 
04.04.14
07:18
(8) ещё немного: теперь это дело из строки в дату
10 kosts
 
04.04.14
07:21
См в типовой
ДатаКакМесяцПодобратьДатуПоТексту(ЗначениеПредставления, Значение);
11 anton_mgn
 
04.04.14
07:21
(0)
Год = Число(Прав(ИскомаяСтрока, 4));
Для Месяц = 1 По 12 Цикл
    ТекДата = Дата(Год,Месяц,1);
    Если ВРег(Формат(ТекДата,"ДФ=""ММММ гггг""")) = ВРег(ИскомаяСтрока) Тогда
        НачМесяца = НачалоМесяца(ТекДата);
        КонМесяца = КонецМесяца(ТекДата);
        Прервать;
    КонецЕсли;
КонецЦикла;
12 black_cat1305
 
04.04.14
08:21
спасибо большое все! Все у меня получилось!!! Ура!!!!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший