|
Вывод в табличный документ по группам. | ☑ | ||
---|---|---|---|---|
0
progaoff
15.11.16
✎
19:05
|
ТабличныйДокумент = ЭлементыФормы.ПолеТабличногоДокумента1;
ТабличныйДокумент.Очистить(); Макет = ПолучитьМакет("Макет"); ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьЗаголовок1 = Макет.ПолучитьОбласть("Заголовок1"); ОбластьДанные = Макет.ПолучитьОбласть("Данные"); ОбластьИтоги = Макет.ПолучитьОбласть("Итоги"); ОбластьГруппа = Макет.ПолучитьОбласть("Группа"); Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ | ИнвентаризацияТовары.Номенклатура КАК Номенклатура, | СУММА(ИнвентаризацияТовары.КоличествоКнижн) КАК КоличествоКнижн, | СУММА(ИнвентаризацияТовары.СуммаКнижн) КАК СуммаКнижн, | СУММА(ИнвентаризацияТовары.КоличествоФакт) КАК КоличествоФакт, | СУММА(ИнвентаризацияТовары.СуммаФакт) КАК СуммаФакт, | СУММА(ИнвентаризацияТовары.КоличествоКнижн - ИнвентаризацияТовары.КоличествоФакт) КАК РазницаКоличество, | СУММА(ИнвентаризацияТовары.СуммаКнижн - ИнвентаризацияТовары.СуммаФакт) КАК РазницаПоСумме, | СУММА(ВЫБОР | КОГДА ИнвентаризацияТовары.КоличествоКнижн > ИнвентаризацияТовары.КоличествоФакт | ТОГДА ИнвентаризацияТовары.КоличествоКнижн - ИнвентаризацияТовары.КоличествоФакт | ИНАЧЕ 0 | КОНЕЦ) КАК Недостача, | СУММА(ВЫБОР | КОГДА ИнвентаризацияТовары.КоличествоКнижн < ИнвентаризацияТовары.КоличествоФакт | ТОГДА ИнвентаризацияТовары.КоличествоФакт - ИнвентаризацияТовары.КоличествоКнижн | ИНАЧЕ 0 | КОНЕЦ) КАК Излишки, | СУММА(ВЫБОР | КОГДА ИнвентаризацияТовары.СуммаКнижн > ИнвентаризацияТовары.СуммаФакт | ТОГДА ИнвентаризацияТовары.СуммаКнижн - ИнвентаризацияТовары.СуммаФакт | ИНАЧЕ 0 | КОНЕЦ) КАК НедостачаПоСумме, | СУММА(ВЫБОР | КОГДА ИнвентаризацияТовары.СуммаКнижн < ИнвентаризацияТовары.СуммаФакт | ТОГДА ИнвентаризацияТовары.СуммаФакт - ИнвентаризацияТовары.СуммаКнижн | ИНАЧЕ 0 | КОНЕЦ) КАК ИзлишкиПоСумме, | ИнвентаризацияТовары.Цена КАК ЦенаЗакупки |ПОМЕСТИТЬ ТабИнвентаризация |ИЗ | Документ.Инвентаризация КАК Инвентаризация | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Инвентаризация.Товары КАК ИнвентаризацияТовары | ПО Инвентаризация.Ссылка = ИнвентаризацияТовары.Ссылка |ГДЕ | Инвентаризация.Ссылка = &Документ | |СГРУППИРОВАТЬ ПО | ИнвентаризацияТовары.Номенклатура, | ИнвентаризацияТовары.Цена |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОстаткиТоваровКомпании.Номенклатура, | СУММА(ОстаткиТоваровКомпании.Количество) КАК Количество, | СУММА(ОстаткиТоваровКомпании.СуммаРозн) КАК СуммаРозн, | СУММА(0) КАК Поле1, | СУММА(0) КАК Поле2, | СУММА(0) КАК Поле3, | СУММА(0) КАК Поле4, | СУММА(0) КАК Поле5, | СУММА(0) КАК Поле6, | СУММА(0) КАК Поле7, | СУММА(0) КАК Поле8, | СУММА(0) КАК Поле9 |ПОМЕСТИТЬ ТабПревышения |ИЗ | РегистрНакопления.ОстаткиТоваровКомпании КАК ОстаткиТоваровКомпании |ГДЕ | ОстаткиТоваровКомпании.Период МЕЖДУ &НачалоПериода И &КонецПериода | И ОстаткиТоваровКомпании.ХозОперация = &ХозОперация | И ОстаткиТоваровКомпании.Номенклатура В ИЕРАРХИИ(&Номенклатура) | И ОстаткиТоваровКомпании.СкладКомпании = &Склад | |СГРУППИРОВАТЬ ПО | ОстаткиТоваровКомпании.Номенклатура |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТабИнвентаризация.Номенклатура КАК Номенклатура, | ТабИнвентаризация.КоличествоКнижн КАК КоличествоКнижн, | ТабИнвентаризация.СуммаКнижн КАК СуммаКнижн, | ТабИнвентаризация.КоличествоФакт КАК КоличествоФакт, | ТабИнвентаризация.СуммаФакт КАК СуммаФакт, | ТабИнвентаризация.РазницаКоличество КАК РазницаКоличество, | ТабИнвентаризация.РазницаПоСумме КАК РазницаПоСумме, | ЕСТЬNULL(ТабПревышения.Количество, 0) КАК Количество, | ЕСТЬNULL(ТабПревышения.СуммаРозн, 0) КАК СуммаРозн, | ТабИнвентаризация.Недостача, | ТабИнвентаризация.Излишки, | ТабИнвентаризация.НедостачаПоСумме, | ТабИнвентаризация.ИзлишкиПоСумме, | ТабИнвентаризация.ЦенаЗакупки КАК ЦенаЗакупки, | ТабИнвентаризация.Номенклатура.Родитель.Родитель КАК Группа |ИЗ | ТабИнвентаризация КАК ТабИнвентаризация | ЛЕВОЕ СОЕДИНЕНИЕ ТабПревышения КАК ТабПревышения | ПО ТабИнвентаризация.Номенклатура = ТабПревышения.Номенклатура | |СГРУППИРОВАТЬ ПО | ТабИнвентаризация.Номенклатура, | ТабИнвентаризация.КоличествоКнижн, | ТабИнвентаризация.СуммаКнижн, | ТабИнвентаризация.КоличествоФакт, | ТабИнвентаризация.СуммаФакт, | ТабИнвентаризация.РазницаКоличество, | ТабИнвентаризация.РазницаПоСумме, | ТабПревышения.Количество, | ТабПревышения.СуммаРозн, | ТабИнвентаризация.Недостача, | ТабИнвентаризация.Излишки, | ТабИнвентаризация.НедостачаПоСумме, | ТабИнвентаризация.ИзлишкиПоСумме, | ТабИнвентаризация.ЦенаЗакупки | |УПОРЯДОЧИТЬ ПО | ТабИнвентаризация.Номенклатура.ЭтоГруппа ИЕРАРХИЯ"; СписокНоменклатуры = Новый СписокЗначений; СписокНоменклатуры.Добавить(Справочники.Номенклатура.НайтиПоКоду("00028934")); СписокНоменклатуры.Добавить(Справочники.Номенклатура.НайтиПоКоду("00020940")); СписокНоменклатуры.Добавить(Справочники.Номенклатура.НайтиПоКоду("00000029")); СписокНоменклатуры.Добавить(Справочники.Номенклатура.НайтиПоКоду("00028743")); СписокНоменклатуры.Добавить(Справочники.Номенклатура.НайтиПоКоду("00028688")); Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода); Запрос.УстановитьПараметр("КонецПериода" , КонецПериода); Запрос.УстановитьПараметр("ХозОперация" , Справочники.ХозОперации.НайтиПоКоду("020503")); Запрос.УстановитьПараметр("Номенклатура" , СписокНоменклатуры); Запрос.УстановитьПараметр("Документ" , Документ); Запрос.УстановитьПараметр("Склад" , Склад); ТабличныйДокумент.Вывести(ОбластьГруппа); ТабличныйДокумент.Вывести(ОбластьШапка); ТабличныйДокумент.Вывести(ОбластьЗаголовок); ТабличныйДокумент.Вывести(ОбластьЗаголовок1); ЭлементыФормы.ПолеТабличногоДокумента1.НачатьАвтогруппировкуСтрок(); Результат = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока Результат.Следующий() Цикл ОбластьГруппа.НачатьАвтогруппировкуСтрок() ; ОбластьГруппа.Параметры.Группа = Результат.Группа; ОбластьДанные.Параметры.Номенклатура = Результат.Номенклатура; ОбластьДанные.Параметры.КоличествоКнижн = Результат.КоличествоКнижн; ОбластьДанные.Параметры.СуммаКнижн = Результат.СуммаКнижн; ОбластьДанные.Параметры.КолФакт = Результат.КоличествоФакт; ОбластьДанные.Параметры.СуммаФакт = Результат.СуммаФакт; ОбластьДанные.Параметры.КолВоИзлишки = Результат.Излишки; ОбластьДанные.Параметры.СуммаИзлишки = Результат.ИзлишкиПоСумме; ОбластьДанные.Параметры.КолВоНедостача = Результат.Недостача; ОбластьДанные.Параметры.СуммаНедостача = Результат.НедостачаПоСумме; ОбластьДанные.Параметры.КоличествоПревышения= Результат.Количество; ОбластьДанные.Параметры.СуммаПревышения = Результат.СуммаРозн; ОбластьДанные.Параметры.КоличествоИтог = Результат.КоличествоФакт; ОбластьДанные.Параметры.СуммаИтог = Результат.СуммаФакт; ТабличныйДокумент.Вывести(ОбластьГруппа); ТабличныйДокумент.Вывести(ОбластьДанные); КонецЦикла; При помощи сего кода - выводится табличка. Как сделать вывод по группам товаров? Подскажите пожалуйста |
|||
1
Vladal
15.11.16
✎
19:09
|
В запросе добавить итоги по номенклатуре, в выводе напиши "НачатьАвтогруппировкуСтрок".... более подбробно и правильно - создай внешний отчет, вызови конструктор выходной формы и вставь в него свой запрос. В мастере укажи, что построитель не используешь - получишь правильный
|
|||
2
progaoff
15.11.16
✎
19:14
|
(1) в каком месте вставлять?
|
|||
3
Alex unde
15.11.16
✎
19:19
|
|УПОРЯДОЧИТЬ ПО
| ТабИнвентаризация.Номенклатура.ЭтоГруппа ИЕРАРХИЯ |ИТОГИ ПО | Номенклатура"; |
|||
4
progaoff
15.11.16
✎
19:25
|
(3) Выводит таблицу с пустыми значениям. Номенклатура есть, все остальное пропало
|
|||
5
Alex unde
15.11.16
✎
19:29
|
(4) а то что (1) написал делал?
|
|||
6
Alex unde
15.11.16
✎
19:30
|
||||
7
progaoff
15.11.16
✎
19:48
|
(6) Построителем не разу не пользовался.
|
|||
8
progaoff
15.11.16
✎
19:48
|
Запрос вставил, просит параметры запроса, где их ставить?
|
|||
9
progaoff
15.11.16
✎
19:59
|
Хотелось бы иметь возможность раскрывать группировку которая получилась, у меня просто несколько уровней справочник сейчас идет по самому верхнему
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |