Как округлить дату по кратности? #758351


#0 by manking
Добрый день. Например В этой функции дата округляется с кратностью 1. То есть если ЕдиницаИзмерения  час, то время 12:45 округлится до 12:00. Но как задать кратность, чтобы при кратности 2, время округлялось через 2 часа, 12:00 , 14:00 , 16:00.  При кратности 3 12:00 , 15:00 , 18:00.
#1 by Горогуля
это надо программировать
#2 by 1Сергей
самую малость
#3 by Гёдза
сначала научись число округлять до 3
#4 by Гёдза
т.е 13 нужно округлить до 15
#5 by Ненавижу 1С
непонятно: 1. округлять или брать целое? 2. Час= Час(Дата); (((3600)*(Час))) 3. не дату, а интервал времени 4. если часов 25, то функция вернет несколько иное в целом: Окр(Значение/Кратность)*Кратность или Цел(Значение/Кратность)*Кратность
#6 by Ненавижу 1С
почему не до 12?
#7 by 1Сергей
+1
#8 by butterbean
НачалоДня(Дата)+3600*Цел(Час(Дата)/Кратность)*Кратность
#9 by Горогуля
там ещё единица измерения. предлагаю запросом
#10 by Фокусник
Определить количество секунд (например от начала дня), количество секунд разделить до нужного "кванта времени" - это значение округлить до целых, вернуть в секунды, вернуть в дату...
#11 by DexterMorgan
пипец, уже дошли до того, что сервер даты округлять будет, делать ему нечего совсем, ога
#12 by Ненавижу 1С
ну у меня округляет количество и суммы, ничего, не заржавел
#13 by DexterMorgan
Причем нах сервер преприятия, сервер скл!
#14 by Ненавижу 1С
именно он
#15 by DexterMorgan
В рамках задачи ТОЛЬКО округления даты - это бред
#16 by DexterMorgan
Красавчик
#17 by Ненавижу 1С
на самом деле он округляет не даты, а интервалы времени, ближе всего тип TimeSpan в .NET
#18 by DexterMorgan
да молодец, ч0, количество на цену перемножаешь тоже запросом? не из Челябинска? Больно суров ты
#19 by Ненавижу 1С
а че в том такого, я еще на курсы валют умножаю и на кратности делю, так-то
#20 by DexterMorgan
При обработке текущей строки тч? =)
#21 by Ненавижу 1С
в основном в отчетах
#22 by DexterMorgan
А че при изменении количества в строке тч так не делать? Ч0бынет?
#23 by manking
Сделал так. Вроде нормально работает. Задача в том, чтобы дата липла к ближайшему интервалу в соответствии с кратностью, которую задает пользователь. Чтобы хранить даты в ассоциативном массиве в меньшем количестве. Если кратность 2 для часа, то на один день будет только 12 записей , если 3 то 7. &НаКлиенте
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С