| 
    
        
     
     | 
    
  | 
Разрядность для агрегатных функций | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        merlin789    
     10.07.18 
            ✎
    15:53 
 | 
         
        Добрый день. Прошу помощи со следующей проблемой:
 
        Есть запрос в завершении которого я формирую итоги по строкам агрегатной функцией Среднее. Проблема в том, что для этой функции нет возможности указать разрядность, и в некоторых строках возникают неприлично длинные значения дробной части. Отчет я формирую запросом и далее вывожу результат в макет. Как ограничить разрядность выводимых значений. Знаю в скд есть возможность задать представление для выводимых значений. Но как быть, если запрос после выполнения сразу выводится в макет. Вот так выглядит итоговая часть запроса: УПОРЯДОЧИТЬ ПО ОстаткиСЦеной.Номенклатура ИТОГИ СУММА(Х), СУММА(С), СУММА(П), СРЕДНЕЕ(ЦенаХ), СРЕДНЕЕ(ЦенаС), СРЕДНЕЕ(ЦенаП), СУММА(ВПути), СРЕДНЕЕ(ЦенаВПути) ПО Номенклатура,Склад Подскажите где почитать или подсмотреть как это реализовать?  | 
|||
| 
    1
    
        Cyberhawk    
     10.07.18 
            ✎
    15:58 
 | 
         
        Поместить в ВТ, далее ВЫРАЗИТЬ     
         | 
|||
| 
    2
    
        Cyberhawk    
     10.07.18 
            ✎
    15:58 
 | 
         
        Хотя с итогами в ВТ не поместишь, ога     
         | 
|||
| 
    3
    
        merlin789    
     10.07.18 
            ✎
    15:59 
 | 
         
        Вот-вот, эта мысль уже приходила..     
         | 
|||
| 
    4
    
        Cyberhawk    
     10.07.18 
            ✎
    16:00 
 | 
         
        Ну так значит при выводе в макет обрабатывай / округляй     
         | 
|||
| 
    5
    
        RomanYS    
     10.07.18 
            ✎
    16:01 
 | 
         
        "Но как быть, если запрос после выполнения сразу выводится в макет."
 
        Что значит "сразу"? В СКД есть представления, оформление и прочее. В обычном макете есть формат вывода. Если обработка выборки кодом - вообще деай что хочешь: округляй, форматируй.  | 
|||
| 
    6
    
        merlin789    
     10.07.18 
            ✎
    16:03 
 | 
         
        (5) СКД я не использую, формирую запросом таблицу, получаю общий макет и вывожу в него     
         | 
|||
| 
    7
    
        dezss    
     10.07.18 
            ✎
    16:03 
 | 
         
        (6) а как выводишь?     
         | 
|||
| 
    8
    
        merlin789    
     10.07.18 
            ✎
    16:04 
 | 
         
        Пока ВыборкаНоменклатура.Следующий() Цикл
 
        ОбластьНоменклатура.Параметры.Заполнить(ВыборкаНоменклатура); ОбластьНоменклатура.Параметры.ИтогКоличество=ВыборкаНоменклатура.Х+ВыборкаНоменклатура.С+ВыборкаНоменклатура.П; ТабДок.Вывести(ОбластьНоменклатура, ВыборкаНоменклатура.Уровень()); ВыборкаСклады = ВыборкаНоменклатура.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Склад"); Пока ВыборкаСклады.Следующий() Цикл ОбластьСклад.Параметры.Заполнить(ВыборкаСклады); ТабДок.Вывести(ОбластьСклад, ВыборкаСклады.Уровень()); ВыборкаДетальныеЗаписи=ВыборкаСклады.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); ОбластьДетальныхЗаписей.Параметры.ИтогКоличество=ВыборкаДетальныеЗаписи.Х+ВыборкаДетальныеЗаписи.С+ВыборкаДетальныеЗаписи.П; ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); КонецЦикла; КонецЦикла; КонецЦикла;  | 
|||
| 
    9
    
        RomanYS    
     10.07.18 
            ✎
    16:05 
 | 
         
        (6) Формат ячейки в макете прекрасно решает твою проблему.     
         | 
|||
| 
    10
    
        dezss    
     10.07.18 
            ✎
    16:09 
 | 
         
        (8) ОбластьНоменклатура.Параметры.ЦенаХ = Цел(ВыборкаНоменклатура.ЦенаХ*100)/100     
         | 
|||
| 
    11
    
        Малыш Джон    
     10.07.18 
            ✎
    16:09 
 | 
         
        (9) +1
 
        формат - он не в запросе, формат, он при выводе  | 
|||
| 
    12
    
        merlin789    
     10.07.18 
            ✎
    16:09 
 | 
         
        (9) Даже с указанием формата ячейки ситуация не меняется.
 
        Вот результат одной из групповых ячеек собранной из 20 строк 18 739,596333333333333333333333333333333333  | 
|||
| 
    13
    
        dezss    
     10.07.18 
            ✎
    16:10 
 | 
         
        (10) + ну или округлять, если так будет кошерней     
         | 
|||
| 
    14
    
        RomanYS    
     10.07.18 
            ✎
    16:21 
 | 
         
        (12) Формат "ЧДЦ=2" будет показывать строго два знака после запятой независимо от того, что было в исходном значении.     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |