Добрый день! Есть запрос:
ВЫБРАТЬ
ПростойВагона.НомерВагона,
ПростойВагона.ПрибытияВагона,
ПростойВагона.УстановкаПодВыгрузку,
ПростойВагона.ОкончаниеВыгрузки,
ПростойВагона.ПрибытиеДокументовПослеДекларирования,
ПростойВагона.ПрибытиеИнструкцийВОтправкуПОРПВ,
ПростойВагона.УстановкаПодПогрузку,
ПростойВагона.ОкончаниеПогрузки,
ПростойВагона.ПрибытиеДокументовПослеТаможирования,
ПростойВагона.ВозвратПВст,
ПростойВагона.Ответственный,
ПростойВагона.ПринадлежностьВагона
ПОМЕСТИТЬ ВТ_РСПростой
ИЗ
РегистрСведений.ПростойВагона КАК ПростойВагона
ГДЕ
КФЗПростойВагона.Период >= &ПериодНачало
И КФЗПростойВагона.Период <= &ПериодОкончания
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_РСПростой.НомерВагона,
ВТ_РСПростой.ПрибытияВагона,
ВТ_РСПростой.УстановкаПодВыгрузку,
ВЫБОР
КОГДА ВТ_РСПростой.ПрибытияВагона <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
И ВТ_РСПростой.УстановкаПодВыгрузку <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
ТОГДА РАЗНОСТЬДАТ(ВТ_РСПростой.ПрибытияВагона, ВТ_РСПростой.УстановкаПодВыгрузку, СЕКУНДА) / 3600
ИНАЧЕ 0
КОНЕЦ КАК ВремяДоУстановкиПодВыгрузку,
ВТ_РСПростой.ОкончаниеВыгрузки,
ВЫБОР
КОГДА ВТ_РСПростой.УстановкаПодВыгрузку <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
И ВТ_РСПростой.ОкончаниеВыгрузки <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
ТОГДА РАЗНОСТЬДАТ(ВТ_РСПростой.УстановкаПодВыгрузку, ВТ_РСПростой.ОкончаниеВыгрузки, СЕКУНДА) / 3600
ИНАЧЕ 0
КОНЕЦ КАК ВремяВыгрузки,
ВТ_РСПростой.ПрибытиеДокументовПослеДекларирования КАК ПрибытиеДокументовДекларирования,
ВТ_РСПростой.ПрибытиеИнструкцийВОтправкуПОРПВ КАК ПрибытиеИнструкции,
ВТ_РСПростой.УстановкаПодПогрузку,
ВЫБОР
КОГДА ВТ_РСПростой.ОкончаниеВыгрузки <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
И ВТ_РСПростой.УстановкаПодПогрузку <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
ТОГДА РАЗНОСТЬДАТ(ВТ_РСПростой.ОкончаниеВыгрузки, ВТ_РСПростой.УстановкаПодПогрузку, СЕКУНДА) / 3600
ИНАЧЕ 0
КОНЕЦ КАК ВремяВОжиданииПогрузки,
ВТ_РСПростой.ОкончаниеПогрузки,
ВЫБОР
КОГДА ВТ_РСПростой.УстановкаПодПогрузку <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
И ВТ_РСПростой.ОкончаниеПогрузки <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
ТОГДА РАЗНОСТЬДАТ(ВТ_РСПростой.УстановкаПодПогрузку, ВТ_РСПростой.ОкончаниеПогрузки, СЕКУНДА) / 3600
ИНАЧЕ 0
КОНЕЦ КАК ВремяПогрузки,
ВТ_РСПростой.ПрибытиеДокументовПослеТаможирования КАК ВремяПрибытияДокументовТаможирования,
ВТ_РСПростой.ВозвратПВстКраматорск КАК СдачаНаСтКраматорск,
ВТ_РСПростой.ПринадлежностьВагона,
ВЫБОР
КОГДА ВТ_РСПростой.ОкончаниеПогрузки <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
И ВТ_РСПростой.ВозвратПВстКраматорск <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
ТОГДА РАЗНОСТЬДАТ(ВТ_РСПростой.ОкончаниеПогрузки, ВТ_РСПростой.ВозвратПВстКраматорск, СЕКУНДА) / 3600
ИНАЧЕ 0
КОНЕЦ КАК ВремяВозвратаНаСт
ИЗ
ВТ_РСПростой КАК ВТ_РСПростой
В СКД есть форматирование при выводе отчета. Зачем в запросе форматировать?
Куда записывать надо? Или имеется ввиду отображать в отчете?
Я бы сделал параметр датой и получал бы как пустая дата + секунды. Но это удобно только для периода до одного дня.
7,8 часов = 7 часов и 0,8 * 60 = 48 минут.
Откуда 8 часов и 20 минут?
РАЗНОСТЬДАТ(ВТ_РСПростой.ОкончаниеПогрузки, ВТ_РСПростой.ВозвратПВстКраматорск, СЕКУНДА) -
ВЫРАЗИТЬ(РАЗНОСТЬДАТ(ВТ_РСПростой.ОкончаниеПогрузки, ВТ_РСПростой.ВозвратПВстКраматорск, СЕКУНДА)/3600,ЧИСЛО(3,0))*3600
-это количество секунд.Добавить набор данных - объект.
Данные - таблица значений.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua