|
Как в запросе добавить поле с делением на поле итогов? | ☑ | ||
---|---|---|---|---|
0
Shecurok
31.01.21
✎
23:02
|
Всем доброй ночи уже.
Есть запрос который выводит отчет и в отчет поля попадают соотстветсенно из него, вот он: ПостроительОтчетаОтчет.Текст = "ВЫБРАТЬ | Sales.Номенклатура КАК Номенклатура, | Sales.Контрагент КАК Контрагент, | Sales.ДоговорКонтрагента КАК ДоговорКонтрагента, | СУММА(Sales.Количество) КАК Количество, | СУММА(Sales.Сумма) КАК Сумма, | СРЕДНЕЕ(Sales.Цена) КАК Цена, | Sales.Регистратор КАК Регистратор, | ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК ПрибыльРуб, | ВЫБОР | КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0 | ТОГДА 0 | ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2)) | КОНЕЦ КАК ПрибыльПроцц, | PrimeCost.ЦенаСебест КАК ЦенаСебест, | ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) КАК СуммаСебест |ИЗ | (ВЫБРАТЬ | ХозрасчетныйОборотыДтКт.СубконтоКт3 КАК Номенклатура, | ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК Контрагент, | ХозрасчетныйОборотыДтКт.СубконтоДт2 КАК ДоговорКонтрагента, | ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество, | ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма, | ВЫБОР | КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0 | ТОГДА 0 | ИНАЧЕ ВЫРАЗИТЬ(ЕСТЬNULL(ХозрасчетныйОборотыДтКт.СуммаОборот, 0) / ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК ЧИСЛО(15, 2)) | КОНЕЦ КАК Цена, | ХозрасчетныйОборотыДтКт.Регистратор КАК Регистратор | ИЗ | РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачПер, &КонПер, Регистратор, , , СчетКт = &Сч9001, , Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК Sales | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ХозрасчетныйОборотыДтКт.КоличествоОборотКт КАК Количество, | ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма, | ХозрасчетныйОборотыДтКт.СубконтоКт1 КАК Номенклатура, | ВЫБОР | КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотКт = 0 | ТОГДА 0 | ИНАЧЕ ХозрасчетныйОборотыДтКт.СуммаОборот / ХозрасчетныйОборотыДтКт.КоличествоОборотКт | КОНЕЦ КАК ЦенаСебест | ИЗ | РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт( | &НачПер, | &КонПер, | Период, | СчетДт = &Сч9002 | ИЛИ СчетДт = &Сч9102, | , | СчетКт = &Сч43 | ИЛИ СчетКт = &Сч4101 | ИЛИ СчетКт = &Сч4104 | ИЛИ СчетКт = &Сч10, | , | Организация = &Организация) КАК ХозрасчетныйОборотыДтКт) КАК PrimeCost | ПО Sales.Номенклатура = PrimeCost.Номенклатура | |СГРУППИРОВАТЬ ПО | Sales.Номенклатура, | Sales.Контрагент, | Sales.ДоговорКонтрагента, | Sales.Регистратор, | PrimeCost.ЦенаСебест, | ВЫРАЗИТЬ(Sales.Сумма - Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)), | ВЫБОР | КОГДА Sales.Количество * PrimeCost.ЦенаСебест = 0 | ТОГДА 0 | ИНАЧЕ ВЫРАЗИТЬ(Sales.Сумма * 100 / (Sales.Количество * PrimeCost.ЦенаСебест) - 100 КАК ЧИСЛО(15, 2)) | КОНЕЦ, | ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) |ИТОГИ | СУММА(Количество), | СУММА(Сумма), | СРЕДНЕЕ(Цена), | СУММА(ПрибыльРуб), | СРЕДНЕЕ(ПрибыльПроцц), | СРЕДНЕЕ(ЦенаСебест), | СУММА(СуммаСебест) |ПО | ОБЩИЕ, | Номенклатура, | Контрагент, | ДоговорКонтрагента, | Регистратор"; Мне необходимо в него добавить поле ПроцентОтОбщихПродаж. Т.е. мне надо поле Сумма (СУММА(Sales.Сумма) КАК Сумма) разделить на поле из Итогов (СУММА(Сумма)). Это вообще возможно сделать в запросе? |
|||
1
Ёпрст
31.01.21
✎
23:09
|
И не лень расскладку переключать ? Пишите или всё по-русски, или всё по-английски..Суржик, как--то не очень
|
|||
2
Ёпрст
31.01.21
✎
23:12
|
группировки забавные, в части числовых показателей.. еще и итоги потом
|
|||
3
Shecurok
31.01.21
✎
23:13
|
(2) да не я писал запрос) я думаю если бы я смог написать что-то подобное и вопрос бы смог сам рещить)
|
|||
4
Ёпрст
31.01.21
✎
23:24
|
(3) Ну так пиши сам с нуля, делов то..
А то группировать по ВЫРАЗИТЬ(Sales.Количество * PrimeCost.ЦенаСебест КАК ЧИСЛО(15, 2)) и потом еще ИТОГИ.. ну такое. |
|||
5
Cthulhu
01.02.21
✎
00:17
|
а если ты сохранишь тот запрос в вт, в которой это будут не итоги, а обычные поля - ты сможешь в дополнение к выборке их этой вт всего что нужно - еще этим "уже по "полям вычислить что тебе нужно?..
|
|||
6
Shecurok
01.02.21
✎
10:23
|
(5) т.е. вывести итоги в вт?
|
|||
7
ASU_Diamond
01.02.21
✎
10:34
|
(0) в запросе через дополнительную ВТ, в которой хранить итоги. Можно в СКД прописать формулу.
|
|||
8
SiAl-chel
01.02.21
✎
11:50
|
(6)
1. Собираешь запросом плоскую таблицу, пихаешь ее во временную таблицу №1 2. Из ВТ № 1 через нужные группировки, аналогочные итогам, собираешься временную таблицу № 2 3. Делаешь левое соединение 1-й и 2-й временных таблиц. 4. Делаешь поля, где выявляешь пропорции полей ВТ 1 к полям ВТ 2. 5. Итоги накладываешь на ВТ 1. |
|||
9
Shecurok
01.02.21
✎
12:25
|
(8) ммм, не, такое мне точно не осилить
|
|||
10
DrShad
01.02.21
✎
12:37
|
(9) так по-другому в запросе не сделать
|
|||
11
SiAl-chel
01.02.21
✎
12:44
|
(9) Осилишь. Не сразу, но осилишь. "Не боги горшки обжигают".
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |