Имя: Пароль:
1C
1С v8
Перевод времени в определенный день
0 yayadastish
 
30.05.16
11:37
Здравствуйте. Мне нужно, когда день в дате = 31, то установить время на полдень. С датами не работал, туплю страшно.
Придумал конструкцию

    Если День(Дата)='31' тогда
        Дата = НачалоДня(Дата);
        Дата = ДобавитьДату(Дата, Час, 12);
    КонецЕсли;

но 1с ругается на неверный формат День(Дата). А какой верный? Ведь ни месяц, ни год неизвестен. Как вытащить день?
1 Fragster
 
гуру
30.05.16
11:38
без ковычек
2 Fragster
 
гуру
30.05.16
11:38
или без кавычек
3 Jonny_Khomich
 
30.05.16
11:38
с чем ты работал? дата - простейший тип
4 Jonny_Khomich
 
30.05.16
11:39
А если в месяце 30 дней или ещё хуже, 28?
5 Nuobu
 
30.05.16
11:40
Лучше так:

Если Формат(Дата, "ДФ=dd") = "31" Тогда
...
КонецЕсли;
6 yayadastish
 
30.05.16
11:42
(4) это меня не волнует, хотят только 31-го переводить, а не в конце месяца
(3) ну вот с датами не сталкивался, кроме добавлений месяца бывало
(2) спасибо, верно, а я не знал
(5) спасибо, сделаю так))
7 xxTANATORxx
 
30.05.16
11:44
(6)так проще Дата = НачалоДня(Дата) + 60 * 60 * 12;
(5)День(Дата) так тоже нормально
8 yayadastish
 
30.05.16
11:47
(7) благодарю, заработало