|
Вывод результат запроса в макет | ☑ | ||
---|---|---|---|---|
0
myc_oz
13.10.15
✎
12:02
|
Доброго времени суток о великие умы) Помогите пожалуйста в следующей задаче: я получаю результат из запроса, мне надо "запилить" этот результат в макет. Проблема заключается в том что не могу достать свои итоги из запроса по группе,т.е. те итоги которые я уже получил. вот кусок запроса и вывод в макет:
|ВЫБРАТЬ |ВложенныйЗапрос.Номенклатура как Номенклатура, |ВложенныйЗапрос.ГруппаНоменклатуры как ГруппаНоменклатуры, |ВложенныйЗапрос.ЦенаПоступления КАК Цена, |ВложенныйЗапрос.КоличествоОстатокНаНачало КАК ОстатокНаНачало, |ВложенныйЗапрос.Поступило КАК Поступило, |ВложенныйЗапрос.Списано КАК Списано, |ВложенныйЗапрос.ПродажиМатериалы КАК ПродажиМатериалы, |ВложенныйЗапрос.КоличествоОтчетОрозничных КАК КоличествоОтчетОрозничных, |ВложенныйЗапрос.Перекидки КАК Перекидки, |(ВложенныйЗапрос.КоличествоОстатокНаНачало + ВложенныйЗапрос.Поступило - ВложенныйЗапрос.Списано - ВложенныйЗапрос.ПродажиМатериалы - ВложенныйЗапрос.КоличествоОтчетОрозничных - ВложенныйЗапрос.Перекидки) как ОстатокНаКонецМесяца, |ВложенныйЗапрос.ФактическийОстаток КАК ФактическийОстаток, |(ВложенныйЗапрос.ФактическийОстаток - (ВложенныйЗапрос.КоличествоОстатокНаНачало + ВложенныйЗапрос.Поступило - ВложенныйЗапрос.Списано - ВложенныйЗапрос.ПродажиМатериалы - ВложенныйЗапрос.КоличествоОтчетОрозничных - ВложенныйЗапрос.Перекидки)) как ИзлишкиНедостачи, |(ВложенныйЗапрос.ФактическийОстаток - (ВложенныйЗапрос.КоличествоОстатокНаНачало + ВложенныйЗапрос.Поступило - ВложенныйЗапрос.Списано - ВложенныйЗапрос.ПродажиМатериалы - ВложенныйЗапрос.КоличествоОтчетОрозничных - ВложенныйЗапрос.Перекидки)) * ВложенныйЗапрос.ЦенаПоступления как УДЕРЖАТЬНАНЕДОСТАЧУ, |ЕСТЬNULL(ВложенныйЗапрос.ПроцентСписания,0) как ПроцентСписания, |ВложенныйЗапрос.РазрешеноСписать как РазрешеноСписать, |ВЫБОР |КОГДА ВложенныйЗапрос.РазрешеноСписать > ВложенныйЗапрос.Списано |ТОГДА (ВложенныйЗапрос.Списано-ВложенныйЗапрос.РазрешеноСписать)*ВложенныйЗапрос.ЦенаПоступления |ИНАЧЕ 0 |КОНЕЦ КАК УДЕРЖАТЬЗАСПИСАНИЯ, |((ВложенныйЗапрос.ФактическийОстаток - (ВложенныйЗапрос.КоличествоОстатокНаНачало + ВложенныйЗапрос.Поступило - ВложенныйЗапрос.Списано - ВложенныйЗапрос.ПродажиМатериалы - ВложенныйЗапрос.КоличествоОтчетОрозничных - ВложенныйЗапрос.Перекидки)) * ВложенныйЗапрос.ЦенаПоступления ) + ((ВложенныйЗапрос.Списано-ВложенныйЗапрос.РазрешеноСписать)*ВложенныйЗапрос.ЦенаПоступления) как УДЕРЖАТЬВСЕГО |ИЗ( |ВЫБРАТЬ |ЕСТЬNULL(Инвентаризация.Номенклатура, ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)) как Номенклатура, |ЕСТЬNULL(Инвентаризация.Номенклатура.НоменклатурнаяГруппа, ЗНАЧЕНИЕ(Справочник.НоменклатурныеГруппы.ПустаяСсылка)) как ГруппаНоменклатуры, |ЕСТЬNULL(РЕГИСТР.ПроцентСписания,0) как ПроцентСписания, |СУММА(ЕСТЬNULL(Инвентаризация.КоличествоИнвентаризация,0)) как ФактическийОстаток, |СУММА(ЕСТЬNULL(РегистрНаНачалоПериода.КоличествоОстатокНаНачалоПериода,0)) как КоличествоОстатокНаНачало, |Среднее(ЕСТЬNULL(ПоступлениеТовУслуг.ЦенаПоступления,0)) КАК ЦенаПоступления, |СУММА(ЕСТЬNULL(ПоступлениеТовУслуг.КоличествоПоступление,0)) КАК Поступило, |СУММА(ЕСТЬNULL(СписаниеТОваров.КоличествоСписание,0)) КАК Списано, |СУММА(ЕСТЬNULL(ОтчетПроизводстваЗаСменуМатериалы.КоличествоПроизводстваМатериалы,0)) КАК ПродажиМатериалы, |СУММА(ЕСТЬNULL(ОтчетОрозничныхПродажах.КоличествоОтчетОрозничных,0)) КАК КоличествоОтчетОрозничных, |СУММА(ЕСТЬNULL(РеализацияТОваровУслуг.КоличествоРеализация,0)) КАК Перекидки, |ВЫБОР |КОГДА РЕГИСТР.ПроцентСписания > 0 |ТОГДА СУММА(ЕСТЬNULL(ОтчетПроизводстваЗаСменуМатериалы.КоличествоПроизводстваМатериалы,0))*РЕГИСТР.ПроцентСписания/100 |ИНАЧЕ 0 |КОНЕЦ КАК РазрешеноСписать |ИЗ |Инвентаризация КАК Инвентаризация |Левое СОЕДИНЕНИЕ ПоступлениеТовУслуг КАК ПоступлениеТовУслуг |ПО Инвентаризация.Номенклатура = ПоступлениеТовУслуг.Номенклатура |Левое СОЕДИНЕНИЕ РЕГИСТР КАК РЕГИСТР |ПО Инвентаризация.Номенклатура = РЕГИСТР.РегистрНоменклатура |Левое СОЕДИНЕНИЕ РегистрНаНачалоПериода КАК РегистрНаНачалоПериода |ПО Инвентаризация.Номенклатура = РегистрНаНачалоПериода.Номенклатура |Левое СОЕДИНЕНИЕ РеализацияТОваровУслуг КАК РеализацияТОваровУслуг |ПО Инвентаризация.Номенклатура = РеализацияТОваровУслуг.Номенклатура |Левое СОЕДИНЕНИЕ СписаниеТОваров КАК СписаниеТОваров |ПО Инвентаризация.Номенклатура = СписаниеТОваров.Номенклатура |Левое СОЕДИНЕНИЕ ОтчетОрозничныхПродажах КАК ОтчетОрозничныхПродажах |ПО Инвентаризация.Номенклатура = ОтчетОрозничныхПродажах.Номенклатура |Левое СОЕДИНЕНИЕ ОтчетПроизводстваЗаСменуМатериалы КАК ОтчетПроизводстваЗаСменуМатериалы |ПО Инвентаризация.Номенклатура = ОтчетПроизводстваЗаСменуМатериалы.Номенклатура |СГРУППИРОВАТЬ ПО |Инвентаризация.Номенклатура, |Инвентаризация.КоличествоИнвентаризация, |РЕГИСТР.ПроцентСписания) КАК ВложенныйЗапрос |Итоги |ВЫБОР |КОГДА Сумма(ИзлишкиНедостачи)<0 |тогда Сумма(ИзлишкиНедостачи)*Среднее(ЦЕНА) |ИНАЧЕ |0 конец КАК УДЕРЖАТЬНАНЕДОСТАЧУ, |Сумма(УДЕРЖАТЬЗАСПИСАНИЯ), |ВЫБОР КОГДА Сумма(ИзлишкиНедостачи)<0 тогда (Сумма(ИзлишкиНедостачи)*Среднее(ЦЕНА)) + Сумма(УДЕРЖАТЬЗАСПИСАНИЯ) иначе Сумма(УДЕРЖАТЬЗАСПИСАНИЯ) конец как УДЕРЖАТЬВСЕГО, |Сумма(ИзлишкиНедостачи), |Среднее(ЦЕНА) |ПО |ВложенныйЗапрос.ГруппаНоменклатуры ИЕРАРХИЯ"; Запрос.УстановитьПараметр("Ссылка",ИнвентаризацияСсылка); Запрос.УстановитьПараметр("Организация",Организация); Запрос.УстановитьПараметр("Склад",Склад); Запрос.УстановитьПараметр("НаДату",ДатаНач); Запрос.УстановитьПараметр("ДатаНач",ДатаНач); Запрос.УстановитьПараметр("ДатаКон",ДатаКон); Результат = Запрос.Выполнить(); ЭтаФорма.ЭлементыФормы.ТабличноеПоле1.Значение = Результат.Выгрузить(); ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); РезультатГруппы = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ТабДок.НачатьАвтогруппировкуСтрок(); Пока РезультатГруппы.Следующий() Цикл ОбластьМакета = Макет.ПолучитьОбласть("Группа"); ОбластьМакета.Параметры.Заполнить(РезультатГруппы); ТабДок.Вывести(ОбластьМакета,1); Результатноменклатура = РезультатГруппы.Выбрать(); Пока Результатноменклатура.Следующий() Цикл ОбластьМакетаноменклатура = Макет.ПолучитьОбласть("Строка"); ОбластьМакетаноменклатура.Параметры.Заполнить(Результатноменклатура); ТабДок.Вывести(ОбластьМакетаноменклатура); КонецЦикла; КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Показать(); |
|||
1
Горогуля
13.10.15
✎
12:05
|
не попутал итоги и группировку?
|
|||
2
myc_oz
13.10.15
✎
12:06
|
(1) ну итоги по группе)) вроде так звучит)
|
|||
3
Горогуля
13.10.15
✎
12:09
|
то есть, разницы не знаешь. понятно
|
|||
4
myc_oz
13.10.15
✎
12:11
|
(3) эт тип сейчас ниже плинтуса опустился или чего?
|
|||
5
Горогуля
13.10.15
✎
12:13
|
эт тип повод узнать разницу
|
|||
6
GreatOne
13.10.15
✎
12:16
|
(5) есть там итоги
|
|||
7
GreatOne
13.10.15
✎
12:16
|
Ты в консоли запросов смотрел результат?
|
|||
8
Горогуля
13.10.15
✎
12:17
|
(6) верю. а автору нужен обход дерева?
|
|||
9
myc_oz
13.10.15
✎
12:18
|
(7) результат шикарный, тот что надо, мне этот результат закатать в макет в том виде что я получаю, вот это было б круто
|
|||
10
ВРедная
13.10.15
✎
12:18
|
(0) "Проблема заключается в том что не могу достать свои итоги из запроса по группе,т.е. те итоги которые я уже получил" это можно как-то расшифровать?
|
|||
11
myc_oz
13.10.15
✎
12:20
|
(10) ВОТ ЭТО:
|ВЫБОР |КОГДА Сумма(ИзлишкиНедостачи)<0 |тогда Сумма(ИзлишкиНедостачи)*Среднее(ЦЕНА) |ИНАЧЕ |0 конец КАК УДЕРЖАТЬНАНЕДОСТАЧУ, |Сумма(УДЕРЖАТЬЗАСПИСАНИЯ), |ВЫБОР КОГДА Сумма(ИзлишкиНедостачи)<0 тогда (Сумма(ИзлишкиНедостачи)*Среднее(ЦЕНА)) + Сумма(УДЕРЖАТЬЗАСПИСАНИЯ) иначе Сумма(УДЕРЖАТЬЗАСПИСАНИЯ) конец как УДЕРЖАТЬВСЕГО, |Сумма(ИзлишкиНедостачи), |Среднее(ЦЕНА) |ПО |ВложенныйЗапрос.ГруппаНоменклатуры ИЕРАРХИЯ"; есть мои итоги по группе, теперь надо нарисовать их на макете |
|||
12
GreatOne
13.10.15
✎
12:22
|
Ок. Отладчик показывает РезультатГруппы?
|
|||
13
myc_oz
13.10.15
✎
12:27
|
(12) показывает
|
|||
14
GreatOne
13.10.15
✎
12:28
|
ты прикалываешься? С параметрами макета не совладать или что?
|
|||
15
GreatOne
13.10.15
✎
12:28
|
ОбластьМакета.Параметры.Заполнить(РезультатГруппы);
проверь совпадение названий параметров. Ты по ходу троллишь |
|||
16
myc_oz
13.10.15
✎
12:30
|
(15) блиииин братка, я действительно шлангом прикинулся, я только сейчас это понял... надо просто нарисовать параметры в макете))) сори ребят, всем спасибо кто откликнулся, всем хорошего дня
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |