Перевод времени в определенный день
☑
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) благодарю, заработало
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан