Добрый день!
Помогите справится с ситуацией. На форму вводится время работы ТС и простой, тип число. (н-р время работы 11 часов, просто 2,50 - что равно 2 часа, 50 мин) , в печатной форме нужно вывести разницу времени, т.е 11 - 2.5 =8 ч 10 мин. Есть запрос в нем сделано так:

```1c
    ВЫБРАТЬ
    | ПутевойЛист.Номер,
    | ПутевойЛист.ДатаВыписки КАК ДатаВыписки,
    | ПутевойЛист.Водитель1 КАК Водитель,
    | СУММА(ПутевойЛистРасходГСМ.Выдано) КАК Выдано,
    | СУММА(ПутевойЛистРасходГСМ.РасходПоНорме) КАК РасходПоНорме,
    | СУММА(ПутевойЛистРасходГСМ.РасходПоФакту) КАК РасходПоФакту,
    | ПутевойЛистРасходГСМ.ОстатокПриВыезде КАК ОстатокПриВыезде,
    | ПутевойЛистРасходГСМ.ОстатокПриВозвращении КАК ОстатокПриВозвращении,
    | ВЫБОР
    | КОГДА ПутевойЛистРасходГСМ.НомерСтроки = 1
    | ТОГДА 1
    | ИНАЧЕ 0
    | КОНЕЦ КАК Дни,
    | ВЫБОР
    | КОГДА ПутевойЛистРасходГСМ.НомерСтроки = 1
    | ТОГДА СУММА (ПутевойЛистВыработкаТСВремяВНаряде.Количество)/3600
    | ИНАЧЕ 0
    | КОНЕЦ КАК ВремяВНаряде,
    | ВЫБОР
    | КОГДА ПутевойЛистРасходГСМ.НомерСтроки = 1
    | ТОГДА СУММА (ПутевойЛистВыработкаТСВремяВПростое.Количество)/3600
    | ИНАЧЕ 0
    | КОНЕЦ КАК ВремяВПростое,
    | ВЫБОР
    | КОГДА ПутевойЛистРасходГСМ.НомерСтроки = 1
    | ТОГДА СУММА(ПутевойЛистВыработкаТСВремяВНаряде.Количество - ПутевойЛистВыработкаТСВремяВПростое.Количество)/3600
    | ИНАЧЕ 0
```

то есть например время простоя 2 ч 50 мин.считает 2*3600+50*60=10200 10200/3600=2.83 (это выводится на форму), а нужно 2.50
как правильно вывести на форму время и далее разность времен?
---
все я разобралась))

(СУММА(ВремяВПростоеВСек) / 3600 - (ВЫРАЗИТЬ(СУММА(ВремяВПростоеВСек) / 3600 - 0.49 КАК ЧИСЛО(15, 0)))) * 0.6 + (ВЫРАЗИТЬ(СУММА(ВремяВПростоеВСек) / 3600 - 0.49 КАК ЧИСЛО(15, 0)))

Большое спасибо!)
---
ВЫРАЗИТЬ(Поле-0.5 КАК ЧИСЛО(15, 0)) - получаете целую часть числа
поле - ВЫРАЗИТЬ(Поле-0.5 КАК ЧИСЛО(15, 0)) - получаете дробную часть числа
и переводите её в минуты. то есть х/100 = у/60. задача - найти у.
ну и добавляете к целой части числа, коли надо
---
я так понимаю, что "ПутевойЛистВыработкаТСВремяВНаряде.Количество" и "ПутевойЛистВыработкаТСВремяВПростое.Количество" это в секундах. Если да, то можно их не делить на 3600, а оставить в секундах, а потом добавить к пустой дате (Тем более при делении теряется секунда)

При выводе в печать добавить формат вывода типа ДФ='Ч "ч" мм "мин"'

```1c
    ОбластьСтрока.Параметры.ВремяФакт = Формат(Дата('00010101') + 2.83*3600, "ДФ='Ч "ч" мм "мин"'");
    // На вывод пойдет "2 ч 49 мин"
    // как видно нет одной секунды, а секунда копейка рубль бережет
```
---
10200/3600 = 2.83333333333333333333...
83333333333333333333... * 0.6 = 0.5

если в запросе, то через добавитькдате
ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1,1,1), ЧАС, ВЫРАЗИТЬ(2.5 - 0.499999 КАК ЧИСЛО(15))), МИНУТА, (2.5 - ВЫРАЗИТЬ(2.5 - 0.499999 КАК ЧИСЛО(15))) * 100)
ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1,1,1), СЕКУНДА, 10200)
---
(3)

Спасибо большое! в таком виде все красиво выводит)

только появился новый вопрос... как быть с итогами??
---
можно значение держать не в формате датавремя, а в минутах или секундах, а в итогах преобразовывать
или в итогах через разность дат получать минуты/ секунды суммировать и потом преобразовывать через добавитькдате в формат даты
---
я пробовала от обратного, переводить в секунды и потом аналогично выделять целое и дробное. С числами десятичными все хорошо считает, но проблема с целыми. получается так..
н-р 8 часов:

```1c
    ВЫРАЗИТЬ (8-0,5 как число (15,0))*3600+ ВЫРАЗИТЬ( 8 - ВЫРАЗИТЬ (8-0,5 как число (15,0)))*100*60= 7*3600+1*1000*60=31200
    31200/3600 = 8,66
    8+(0,66*0,6)= 8.40
```

из за этого отнимания 0.5 число в результате больше на 40 мин...
---
что-то где-то в расчетах промахнулись
ВЫРАЗИТЬ (8-0.5 как число (15,0))*3600 + (8 - ВЫРАЗИТЬ (8-0.5 как число (15,0))) * 100 * 60 = 8 * 3600 + 0 * 100 * 60 = 28800
28800 / 3600 = 8
---
тогда я не понимаю, где у меня ошибка..
я сделала отдельные поля в запросе, где данные в секундах, потом суммирую и перевожу в время. целые числа считает правильно, а дробные нет((
---
не вижу преобразование в дату
в ресурсах должно быть что-то типа
ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1,1.1), СЕКУНДА, СУММА(ВЫРАЗИТЬ (8-0.5 как число (15,0))*3600 + (8 - ВЫРАЗИТЬ (8-0.5 как число (15,0))) * 100 * 60))
---
все я разобралась))

(СУММА(ВремяВПростоеВСек) / 3600 - (ВЫРАЗИТЬ(СУММА(ВремяВПростоеВСек) / 3600 - 0.49 КАК ЧИСЛО(15, 0)))) * 0.6 + (ВЫРАЗИТЬ(СУММА(ВремяВПростоеВСек) / 3600 - 0.49 КАК ЧИСЛО(15, 0)))

Большое спасибо!)
---
отнимание 0.5 нужно для того, чтобы корректное целое число вышло при округлении (ВЫРАЗИТЬ КАК ЧИСЛО(15, 0))
---
А какие итоги надо в печатной форме по ПЛ по упомянутым показателям времени?
У вас печатная форма по некоторому количеству ПЛ?
И зачем переводить значения в самом запросе?
Почему не делать пересчёт при заполнении этих показателей в таб.док печатной формы? Не думаю, что это так уж снизить скорость её формирования.
---
ВЫРАЗИТЬ(Поле-0.5 КАК ЧИСЛО(15, 0)) - получаете целую часть числа
поле - ВЫРАЗИТЬ(Поле-0.5 КАК ЧИСЛО(15, 0)) - получаете дробную часть числа
и переводите её в минуты. то есть х/100 = у/60. задача - найти у.
ну и добавляете к целой части числа, коли надо
---
(3) Поля "ПутевойЛистВыработкаТСВремяВНаряде.Количество" и "ПутевойЛистВыработкаТСВремяВПростое.Количество" это число. И не всегда там 0,5.. там может быть и 1.12 (1 час, 12 мин) и 3.45. как в этом случае вычленять?
---
2,5 = 2ч 30мин