| 
    
        
     
     | 
    
  | 
Как в запросе добавить поле с делением на поле итогов? | ☑ | ||
|---|---|---|---|---|
| 
    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) Осилишь. Не сразу, но осилишь. "Не боги горшки обжигают".     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |