Как можно посчитать разницу во времени? #797111


#0 by Yrii-ay
время между 26.01.2017 11:25:09 и 26.01.2017 15:15:00 то есть разница  получается 3.50  в общем вот что я делаю: РАЗНОСТЬДАТ(НарядНаПроизводствоПечатники.ВремяНачалаФактическое, НарядНаПроизводствоПечатники.ВремяЗавершенияФактическое, МИНУТА) Но получается 4 часа ровно когда нужно 3.50?? Как мне победить это, подскажите программисты?
#1 by SSSSS_AAAAA
Правильно округлять?
#2 by Yrii-ay
Ну да, на выходе должно получится 3.50
#3 by Yrii-ay
а получается 4 часа
#4 by b_ru
У тебя же минуты, а не часы в разности дат.
#5 by Yrii-ay
точно, РАЗНОСТЬДАТ(НарядНаПроизводствоПечатники.ВремяНачалаФактическое, НарядНаПроизводствоПечатники.ВремяЗавершенияФактическое, Час)
#6 by mkalimulin
4 часа минут? Это сколько будет в литрах?
#7 by b_ru
а минут сколько показывает? Может разность минут поделить на 60?
#8 by Одинесю
А как же он получил 4 часа, только так.
#9 by dezss
ты аккуратней...а то он будет спрашивать, как так...3 часа 83 минуты получилось...
#10 by dezss
он скорей всего неправильно округлял...
#11 by Yrii-ay
3,833333
#12 by mkalimulin
В 1С есть такая палочка: "/" и такая палочка: "%"
#13 by dezss
в запросах такой палочки нет %
#14 by b_ru
Я бы вообще не стал такое делать в запросе.
#15 by dezss
если хочешь в часах-минутах выражать, то бери целую часть и потом дописывай остаток от деления. И будет тебе щастье.
#16 by dezss
а почему?
#17 by b_ru
Потому что это связано с представлением данных для пользователя, а не с обработкой.
#18 by dezss
а это можно победить как-то оформлением, чтобы не пробегать по элементам отбора?
#19 by b_ru
Дак элементарно "ДФ='ЧЧ:мм'"
#20 by dezss
к тому же, отчет для этого самого представления и нужен для разности дат?
#21 by SSSSS_AAAAA
Минут показывает 230. Что и есть 3.83 часа. Округляюшиеся до 4. При правильном переводе в 60-ричную систему как раз и получаются нужные 3 часа 50 минут. Но для этого надо вспомнить школьный курс математики.
#22 by dezss
ну тут будет чуть-чуть не школьный курс...специфика 1с и ограничения в запросах заставляют думать)
#23 by Yrii-ay
Благодарю за ответы
#24 by b_ru
Нет, для обычного минуса
#25 by dezss
и для числа он преобразует? Прям щас попробую...интересно стало...
#26 by dezss
а ты это сам пробовал? вот что у меня получилось Формат(Дата(2017,05,11,16,10,00) - Дата(2017,05,11,14,25,00),"ДФ=""ЧЧ:мм""")    "6 300"    Строка
#27 by h-sp
приколист, что ли? Так попробуй Формат(Дата(1,1,1) + (Дата(2017,05,11,16,10,00) - Дата(2017,05,11,14,25,00)),"ДФ=""ЧЧ:мм""")
#28 by dezss
опа...нипадумал....спасибо, зопейсал... а если надо в том чсиле и с днями, месяцами и т.д., то надо вычитать этот лишний ден, месяц и год...хм...
#29 by dezss
а это уже, кстати, довольно геморно...хоть и не понятно, понадобится ли такое...
#30 by SSSSS_AAAAA
А вот насчет месяцев и лет обломайся. Ибо они переменной длины. И алгоритмов расчета в месяцах и годах несколько в зависимости от предметной области.
#31 by dezss
так об этом я и написал, слишком много вариативности, поэтому вычисление - наше все, оно более универсально.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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