|
Получение сумм в запросе по нескольким документам | ☑ | ||
---|---|---|---|---|
0
spapin87
27.06.13
✎
16:28
|
Добрый день! помогите советом: Есть несколько документов PI;BO;CI;SK, у которых есть свои суммы, как в запросе получить сумму по каждому документу? В запросе эти документы вытаскиваю из регистра накоплений ЗаказыПоставщикамВЭДОстаткиИОбороты.ЗаказПоставщику
Запрос: "ВЫБРАТЬ | ЗаказыПоставщикамВЭДОстаткиИОбороты.Контрагент, | ЗаказыПоставщикамВЭДОстаткиИОбороты.ЗаказПоставщику, | ЗаказыПоставщикамВЭДОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК СуммаВзаиморасчетовПриход, | ЗаказыПоставщикамВЭДОстаткиИОбороты.Сделка КАК Сделка, | 0 КАК СуммаПеревода, | 0 КАК СуммаКонвертация, | 0 КАК СуммаТрансфер, | 0 КАК СуммаДокумента, | NULL КАК докоплаты, | 0 КАК КоэффОчистки |ИЗ | РегистрНакопления.ЗаказыПоставщикамВЭД.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Период, , ) КАК ЗаказыПоставщикамВЭДОстаткиИОбороты |ГДЕ | 1 = 1 | И 3 = 3 | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ДокументОплатыВЭД.Контрагент, | NULL, | 0, | ДокументОплатыВЭД.Сделка, | ДокументОплатыВЭД.СуммаПеревода, | ДокументОплатыВЭД.СуммаКонвертация, | ДокументОплатыВЭД.СуммаТрансфер, | ДокументОплатыВЭД.СуммаДокумента, | ДокументОплатыВЭД.Ссылка, | NULL |ИЗ | Документ.ДокументОплатыВЭД КАК ДокументОплатыВЭД |ГДЕ | 2 = 2 | И 4 = 4 | И ДокументОплатыВЭД.Дата МЕЖДУ &ДатаНачала И &ДатаКонца | |СГРУППИРОВАТЬ ПО | ДокументОплатыВЭД.Контрагент, | ДокументОплатыВЭД.Сделка, | ДокументОплатыВЭД.СуммаПеревода, | ДокументОплатыВЭД.СуммаКонвертация, | ДокументОплатыВЭД.СуммаТрансфер, | ДокументОплатыВЭД.СуммаДокумента, | ДокументОплатыВЭД.Ссылка |ИТОГИ | СУММА(СуммаВзаиморасчетовПриход), | СУММА(СуммаПеревода), | СУММА(СуммаКонвертация), | СУММА(СуммаТрансфер), | СУММА(СуммаДокумента) |ПО | Сделка" |
|||
1
olegves
27.06.13
✎
16:30
|
(0) периодичность Регистратор ставь в параметрах ВТ
|
|||
2
lamesnake
27.06.13
✎
16:34
|
| 1 = 1
| И 3 = 3 | 2 = 2 | И 4 = 4 Это к чему вообще? |
|||
3
Maxus43
27.06.13
✎
16:36
|
(22) условия динамически вставлять... правда способ конечно кошерный...
|
|||
4
spapin87
27.06.13
✎
16:37
|
Если ЭлементыФормы.Контрагент.Значение <> Справочники.Контрагенты.ПустаяСсылка() тогда
Запрос.УстановитьПараметр("Контрагент", Контрагент); текстзапроса = СтрЗаменить(текстзапроса,"1 = 1","ЗаказыПоставщикамВЭДОстаткиИОбороты.Контрагент = &Контрагент"); текстзапроса = СтрЗаменить(текстзапроса,"2 = 2","ДокументОплатыВЭД.Контрагент = &Контрагент"); КонецЕсли; Если ЭлементыФормы.Сделка.Значение <> Справочники.СделкиВЭД.ПустаяСсылка() тогда Запрос.УстановитьПараметр("Сделка", Сделка); текстзапроса = СтрЗаменить(текстзапроса,"3 = 3","ЗаказыПоставщикамВЭДОстаткиИОбороты.Сделка = &Сделка"); текстзапроса = СтрЗаменить(текстзапроса,"4 = 4","ДокументОплатыВЭД.Сделка = &Сделка"); КонецЕсли; Запрос.УстановитьПараметр("ДатаКонца", КонецДня(ДатаКонца)); Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала); |
|||
5
zippygrill
27.06.13
✎
16:43
|
я пишу иногда так:
ГДЕ Выбор Когда &ОтборКонтрагент = Справочник.Контрагенты.ПустаяСсылка() Тогда Истина Иначе Документ.Контрагент = &ОтборКонтрагент Конец |
|||
6
zippygrill
27.06.13
✎
16:44
|
Я к тому что в этом случае необязательно динамически менять текст запроса. Можно использовать Выбор Когда ...
|
|||
7
zippygrill
27.06.13
✎
16:45
|
+ (5)
Запрос.УстановитьПараметр(ОтборКонтрагент, ЭлементыФормы.Контрагент.Значение); |
|||
8
spapin87
27.06.13
✎
16:45
|
Мне нужно именно в запросе определить тип документа и сумма, потому что нужна группировка по документам ...
в коде я могу поставить условие типа: Если ТипЗнч(ВыборкаСделка.ДокументДвижения) = Тип("ДокументСсылка.ЗаказПоставщику_PI") Тогда ВремСуммаPIBO = ВыборкаСделка.СуммаВзаиморасчетовПриход; |
|||
9
spapin87
27.06.13
✎
16:47
|
Выбор Когда
(ЗаказыПоставщикамВЭДОстаткиИОбороты.ЗаказПоставщику ССЫЛКА Документ.ЗаказПоставщику_PI) Тогда СуммаВзаиморасчетовПриход Конец Так? |
|||
10
zippygrill
27.06.13
✎
16:48
|
(8) почему не можешь? есть конструкция Выбор Когда Документ.Ссылка ссылка Документ.РеализацияТоваровУслуг Тогда "делаи что хочешь"
Иначе "опять делаи что хочешь" Конец |
|||
11
zippygrill
27.06.13
✎
16:48
|
(9) ну да.
|
|||
12
spapin87
27.06.13
✎
16:55
|
(11) Так и сделал, теперь буду делать группировку по документам )))
| ВЫБОР | КОГДА ЗаказыПоставщикамВЭДОстаткиИОбороты.ЗаказПоставщику ССЫЛКА Документ.ЗаказПоставщику_PI | ТОГДА ЗаказыПоставщикамВЭДОстаткиИОбороты.СуммаВзаиморасчетовПриход | КОНЕЦ КАК ЗаказПоставщикуPI, | ВЫБОР | КОГДА ЗаказыПоставщикамВЭДОстаткиИОбороты.ЗаказПоставщику ССЫЛКА Документ.ЗаказПоставщику_BO | ТОГДА ЗаказыПоставщикамВЭДОстаткиИОбороты.СуммаВзаиморасчетовПриход | КОНЕЦ КАК ЗаказПоставщикуBO, | ВЫБОР | КОГДА ЗаказыПоставщикамВЭДОстаткиИОбороты.ЗаказПоставщику ССЫЛКА Документ.ЗаказПоставщику_CI | ТОГДА ЗаказыПоставщикамВЭДОстаткиИОбороты.СуммаВзаиморасчетовПриход | КОНЕЦ КАК ЗаказПоставщикуCI, | ВЫБОР | КОГДА ЗаказыПоставщикамВЭДОстаткиИОбороты.ЗаказПоставщику ССЫЛКА Документ.ЗаказПоставщику_SK | ТОГДА ЗаказыПоставщикамВЭДОстаткиИОбороты.СуммаВзаиморасчетовПриход | КОНЕЦ КАК ЗаказПоставщикуSK |
|||
13
spapin87
27.06.13
✎
17:08
|
Можно ли в макете установить вывод по двум документам? ЗаказПоставщикуPI+ЗаказПоставщикуBO, нужно чтобы в столбец выводились эти два значения
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |