Отчет по часами

1. red_kid369 05.11.23 10:01 Сейчас в теме
Процедура ОтчетНажатие(Элемент)
	ТабДок = Новый ТабличныйДокумент;
	Макет = ПолучитьМакет("Макет");
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	ЧАС(ОтчетКассовойСменыДеталноСписокЧеков.ДатаЧек) КАК Час,
		|	ОтчетКассовойСменыДеталноСписокЧеков.Ссылка.Касса КАК Касса,
		|	СУММА(ОтчетКассовойСменыДеталноСписокЧеков.СуммаЧек) КАК Сумма,
		|	СУММА(ВЫБОР
		|			КОГДА ОтчетКассовойСменыДеталноСписокЧеков.СуммаЧек <> 0
		|				ТОГДА 1
		|			ИНАЧЕ 0
		|		КОНЕЦ) КАК Количество
		|ИЗ
		|	Документ.ОтчетКассовойСменыДетално.СписокЧеков КАК ОтчетКассовойСменыДеталноСписокЧеков
		|ГДЕ
		|	ОтчетКассовойСменыДеталноСписокЧеков.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
		|	И ОтчетКассовойСменыДеталноСписокЧеков.Ссылка.Проведен = ИСТИНА
		|	И ЧАС(ОтчетКассовойСменыДеталноСписокЧеков.ДатаЧек) МЕЖДУ ЧАС(&ЧасНачала) И ЧАС(&ЧасКонца)
		|
		|СГРУППИРОВАТЬ ПО
		|	ОтчетКассовойСменыДеталноСписокЧеков.Ссылка.Касса,
		|	ЧАС(ОтчетКассовойСменыДеталноСписокЧеков.ДатаЧек)";

	Запрос.УстановитьПараметр("ДатаКонца", ДатаКонца);
	Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
	Запрос.УстановитьПараметр("ЧасКонца", ЧасКонца);
	Запрос.УстановитьПараметр("ЧасНачала", ЧасНачала);

	РезультатЗапроса = Запрос.Выполнить();

	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
	ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
	ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
	ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
	ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

	ТабДок.Очистить();
	ТабДок.Вывести(ОбластьЗаголовок);
	ТабДок.Вывести(ОбластьШапкаТаблицы);
	ТабДок.НачатьАвтогруппировкуСтрок();

	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
		ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
	КонецЦикла;

	ТабДок.ЗакончитьАвтогруппировкуСтрок();
	ТабДок.Вывести(ОбластьПодвалТаблицы);
	ТабДок.Вывести(ОбластьПодвал);
    ТабДок.Показать("Отчет");
	
КонецПроцедуры

ЧасНачала=НачалоДня(ТекущаяДата());
ЧасКонца=КонецДня(ТекущаяДата());
ДатаНачала=ТекущаяДата()-432000;
ДатаКонца=ТекущаяДата();
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. red_kid369 05.11.23 10:03 Сейчас в теме
Это не работает так, как я подготовил в файле Excel. Пожалуйста, помогите мне.
3. Vinzor 102 05.11.23 22:57 Сейчас в теме
Если это внешний отчет, не лучше ли приложить его целиком и назвать конфигурацию, для которой он написан?
Оставьте свое сообщение

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