0
Ghost1830
20.07.21
✎
17:53
|
УПП 1.3. Запрос внешнего отчета.
Запрос.Текст =
"ВЫБРАТЬ
| ПродажиОбороты.Номенклатура КАК Номенклатура,
| ПродажиОбороты.КоличествоОборот КАК Количество,
| ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
| РАЗНОСТЬДАТ(&Началопериода, &КонецПериода, ДЕНЬ) КАК ДнейПродажи
|ИЗ
| РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПродажиОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
| ПО ПродажиОбороты.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
|
|УПОРЯДОЧИТЬ ПО
| Номенклатура
|АВТОУПОРЯДОЧИВАНИЕ";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Продано = 0;
Остаток = 0;
ДнейПродажи = 0;
ИтогоПродано = 0;
РасчетныйЗаказ = 0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьДанные.Параметры.Товар = ВыборкаДетальныеЗаписи.Номенклатура;
Продано = ВыборкаДетальныеЗаписи.Количество;
Остаток = ВыборкаДетальныеЗаписи.КоличествоОстаток;
ДнейПродажи = ВыборкаДетальныеЗаписи.ДнейПродажи + 1;
ОбластьДанные.Параметры.Продано = Продано;
ОбластьДанные.Параметры.ДнейПродажи = ДнейПродажи;
ОбластьДанные.Параметры.Остаток = Остаток;
ОбластьДанные.Параметры.ВсегоОстаток = Остаток;
РасчетныйЗаказ = Остаток - (Продано / ДнейПродажи * СрокЗапаса);
Если РасчетныйЗаказ < 0 Тогда
ОбластьДанные.Параметры.РасчетЗаказ = - РасчетныйЗаказ;
Иначе
ОбластьДанные.Параметры.РасчетЗаказ = 0;
КонецЕсли;
ИтогоПродано = ИтогоПродано + ВыборкаДетальныеЗаписи.Количество;
ТабДок.Вывести(ОбластьДанные);
КонецЦикла;
ОбластьИтого.Параметры.ИтогоПродано = ИтогоПродано;
ТабДок.Вывести(ОбластьИтого);
КонецПроцедуры
Как сделать вывод по иерархии?В запросе "Итого" по номенклатуре с типом Элемент и Иерархия не встает.
|
|