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