Как вывести динамические колонки в отчете

1. EvgeniyBon 19.03.25 14:27 Сейчас в теме
У меня отчет по простоям, где по каждому часу выводится длительность этого простоя, и надо, чтобы обязательно были все 24 часа в отчете колонками, даже если нет записи по простоям с этим часом, сейчас у меня выводятся в колонки только те часы, которые есть в записях. Сделал уже временную таблицу, чтобы заполнить недостающие часы, но все равно в любом случае выводит только те часы, которые есть в записях
ВЫБРАТЬ
	ВЫБОР
		КОГДА Часы.Час < 7
			ТОГДА ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0), ДЕНЬ), ДЕНЬ, 1), ЧАС, Часы.Час)
		ИНАЧЕ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0), ДЕНЬ), ЧАС, Часы.Час)
	КОНЕЦ КАК Час3,
    ВЫБОР 
    	КОГДА Часы.Час < 8 ИЛИ Часы.Час > 19  
    	 	ТОГДА 2
    	 ИНАЧЕ 1
   	КОНЕЦ КАК НомерСменыДляВсех,

	ПростоиПричины.Причина КАК Причина,
	ПростоиПричины.Причина.Код КАК КодПоПричинам,
	ПростоиПричины.Час КАК ЧасПоПричинам,
	ПростоиПричины.Длительность КАК ДлительностьПоПричинам,
	ПростоиПричины.Причина.Владелец КАК ПричинаВладелец,
	ПростоиПричины.ВидРабочегоЦентра КАК ВидРабочегоЦентра,
	ПростоиПричины.Причина.НаименованиеДляПечати КАК ПричинаНаименованиеДляПечати,
	ПростоиПричины.Причина.Владелец.НаименованиеДляПечати КАК ПричинаВладелецНаименованиеДляПечати
ИЗ
	(ВЫБРАТЬ
		1 КАК Час
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		2
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		3
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		4
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		5
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		6
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		7
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		8
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		9
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		10
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		11
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		12
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		13
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		14
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		15
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		16
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		17
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		18
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		19
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		20
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		21
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		22
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		23
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		0) КАК Часы
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПростоиПоПричинам КАК ПростоиПричины
		ПО (Часы.Час = ЧАС(ПростоиПричины.Час))

УПОРЯДОЧИТЬ ПО
	Час3
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. miniogn 45 19.03.25 20:35 Сейчас в теме
3. EvgeniyBon 20.03.25 06:56 Сейчас в теме
(2) спасибо за идею, только теперь, у меня для каждой смены (1 и 2), высвечиваются 24 часа, то есть для 1 смены с 8 утра до 7 утра(должно быть с 8 утра до 19 вечера) и для 2 смены с 8 утра до 7 утра (должно быть с 20 вечера до 7 утра)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот