Здравствуйте. помогите решить задачу.
ВСЕ ВошедшиеВЗапрос. В 77 эта конструкция решала задачу с выводом пустых значений. Напрмер: задан период с 01.05.16 по 15.05.16. И есть четыре товара. Первый и четвертый продавались 09, 10,12,13 Второй и третий продавался 09, 10 и 13. Причем у Второго товара на 12 число был пизнак1, а у Третьего товара 12 числа был признак2 (признак1 и признак 2 определяются ресурсом того же регистра) Если делать вертикальный отчет с группировкой по периодам, то в 77 я делал так: "Группировка День Все ВошедшиеВЗапрос" и в результате этого я получал в запросе все даты (09, 10, 12 ,13) как для Первого и Второго, так и для Третьего и Четвертого товаров. В 8 я делаю запрос такого вида:
Товар = Новый Массив;
Для каждого строкаТЧ Из Отчет.Товары Цикл
Товар.Добавить(строкаТЧ.Товар);
КонецЦикла;
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
Макет = ОтчетОбъект.ПолучитьМакет("Макет");
ОбластьЗаголовокТовар = Макет.ПолучитьОбласть("Шапка|Верт1");
ОбластьЗаголовокПериод = Макет.ПолучитьОбласть("Шапка|Верт2");
ОбластьЗаголовокИтоги = Макет.ПолучитьОбласть("Шапка|Верт3");
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| РеализацияТоваровОбороты.Период КАК Период,
| РеализацияТоваровОбороты.Товар КАК Товар,
| СУММА(РеализацияТоваровОбороты.КоличествоОборот) КАК Количество
|ИЗ
| РегистрНакопления.РеализацияТоваров.Обороты(&ДатаНачала, &ДатаКонца, День, ) КАК РеализацияТоваровОбороты
|ГДЕ
| РеализацияТоваровОбороты.Период МЕЖДУ &ДатаНачала И &ДатаКонца
| И РеализацияТоваровОбороты.Товар В(&Товар)
| |СГРУППИРОВАТЬ ПО
| РеализацияТоваровОбороты.Период,
| РеализацияТоваровОбороты.Товар
|
|УПОРЯДОЧИТЬ ПО
| Период,
| Товар
|ИТОГИ
| ВЫБОР
| КОГДА СУММА(Количество) Есть NULL
| ТОГДА 0
| ИНАЧЕ СУММА(Количество)
| КОНЕЦ КАК Количество
|ПО
| Товар,
| Период ПЕРИОДАМИ(ДЕНЬ, &ДатаНачала, &ДатаКонца)";
Запрос.УстановитьПараметр("ДатаКонца", ДатаКонца);
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("Товар", Товар);
РезультатЗапроса = Запрос.Выполнить();
//ТЗ = РезультатЗапроса.Выгрузить();
ВыборкаТовар = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"ТОВАР","ВСЕ");
Пока ВыборкаТовар.Следующий() Цикл
ТабДок.Вывести(ОбластьЗаголовокТовар);
Если ВсеДни Тогда
ВыборкаПериод = ВыборкаТовар.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Период","ВСЕ");
Иначе
ВыборкаПериод = ВыборкаТовар.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Период");
КонецЕсли;
Пока ВыборкаПериод.Следующий() Цикл
текДень = ВыборкаПериод.Период;
заг = формат(текДень,"ДЛФ=Д");
ОбластьЗаголовокПериод.Параметры.ЗначДаты = заг;
ТабДок.Присоединить(ОбластьЗаголовокПериод);
КонецЦикла;
Если ВсеДни = Ложь Тогда
ТабДок.Присоединить(ОбластьЗаголовокИтоги);
КонецЕсли;
КонецЦикла;
В итоге получаю для Первого и четвертого товара выборку с датами (09, 10, 12 ,13), а для Третьего и Четвертого товара выборку с датами (09, 10, 13), т.е. для них нет данных за 12 число и это, как бы, правильно. Обрабатываю результкт и получаю скособоченную таблицу такого вида, как на рис. отчет8. Создавая отчет с помощью СКД с такими же критериями, получаю рис. ОтчетСКД. Т.е. там для всех товаров все даты присутствуют. Но в нем я не понимаю, как заполнить 12 число признаками. Как и что добавить в мой запрос, для того что бы вывод был как на рис. отчет77? Спасибо.