|  | 
|  08.10.2019, 18:18 | #1 | 
| Участник | Округление Duration 
			
			Всем добрый день! На форме Итого время (длительность как разница двух Time) считается до миллисекунд. Во-первых, не помещается, во-вторых, не надо так точно. Например, 3 часы 31 минуты 17 секунды 647 миллисекунды Какие есть способы округлить? Кроме как простенько поделить и вычленить? Спасибо! Последний раз редактировалось mira; 08.10.2019 в 18:49. Причина: сделала простенько | 
|  | 
|  08.10.2019, 23:33 | #2 | 
| Administrator | 
			
			на контроле формат настроить пробовали?
		 | 
|  | |
| За это сообщение автора поблагодарили: mira (1). | |
|  09.10.2019, 10:31 | #3 | 
| Участник | 
			
			Sancho, говорили мне, что как-то в свойствах можно настроить формат Duration. Но как - посмотрели, не ясно.   | 
|  | 
|  09.10.2019, 09:12 | #4 | 
| Участник | 
			
			Заведите переменную Duration или сделайте функцию которая возвращает Duration  ROUND(DT2-DT1,1000) Заодно перед вычислением проверите что переменные инициализированы, а то бывает неприятно когда страница не откроется из за того что переменные в формуле не заданы. 
				__________________ Want to believe... | 
|  | |
| За это сообщение автора поблагодарили: mira (1). | |
|  09.10.2019, 10:51 | #5 | 
| Участник | 
			
			DA_NEAL, да, спасибо! Отлично получилось. Точность вынесла в настройки и пока 10000. | 
|  | 
|  14.10.2019, 12:08 | #6 | 
| Участник | 
			
			Заказчик захотел формат "чч:мм" Причем, из данных регистрируемого времени происходит не только отображение в формах Нава, но и в отчетах sql. Чтобы у нас с разработчиком sql время было одинаково и\ или ему не пришлось округлять, сделала так : в полях таблицы вот так Time Begin - OnValidate() g_txt_Time1 :=FORMAT(TIME, 5, '<Hours24>.<Minutes,2>'); IF EVALUATE(g_tm_Time1, g_txt_Time1) THEN "Time Begin" := g_tm_Time1 IF ("Time Begin" <> 0T) AND ("Time End" <> 0T) THEN BEGIN Duration := "Time End" - "Time Begin"; И Duration у меня почему-то стал целые минуты. Хотя, я готова была еще и здесь отрезать секунды. | 
|  | 
|  14.10.2019, 13:07 | #7 | 
| Administrator | 
			
			"Time Begin":= DT2TIME(ROUNDDATETIME(CURRENTDATETIME(), 1000*60))
		 | 
|  | |
| За это сообщение автора поблагодарили: mira (1). | |
|  14.10.2019, 15:25 | #8 | 
| Участник | 
			
			Sancho, спасибо!  Заменила свой код вашим. Время округляется как надо. | 
|  | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Округление НДС при продаже в валюте | 1 | |||
| Округление себестоимости по товарным остаткам | 3 | |||
| Округление себестоимости | 2 | |||
| Округление в Счет-Фактуре | 4 | |||
| Округление, НДС | 15 | |||
| 
 |