Всем доброго дня.
Есть поле в запросе:

```1c
    РеализацияТоваровУслугТовары.Цена * РеализацияТоваровУслугТовары.ПроцентАвтоматическойСкидки / 100 / 1.2
```

На выходе к примеру будет число: 3,67500000540833 . Мне же необходимо его обрезать как 3.67
Если делаю выразить 15,2 то система округляет до 3,68. Как этого избежать ?
---
Ну да. Вы же еще и цену со скидкой округляете, а не конечный результат... То есть у вас и цена изменяется, и результат разный...
Математику пытаетесь обмануть? Бесполезно.
---
Правильно округляет. В запросе округление только по математическим правилам. Все остальные вариации реализуйте программно на свое усмотрение.
---
В (4) описал проблему. Вообще не пойму почему так..
---
1. Если в операции деления заранее известны порядки числителя и знаменателя, то следует по возможности избегать выполнения деления числа заведомого маленького порядка на число заведомо большого порядка. Например, вместо:

0.02 / 28346 * 9287492

правильно:

0.02 * 9287492 / 28346

2. При выполнении арифметических операций в запросах к базе данных платформа 1С:Предприятия поддерживает точность вычислений до 8 разрядов дробной части. Однако, из-за особенностей работы различных СУБД в некоторых ситуациях точность результатов может отличаться от 8. Более подробно о вычислении разрядности результатов можно почитать в статье ИТС Разрядность результатов выражений и агрегатных функций в языке запросов.

Если точность результата выполнения запроса к базе данных, содержащего

    арифметические операции деления,
    агрегатные функции СРЕДНЕЕ,
    арифметические операции умножения, если каждый из множителей может иметь дробную часть,

различается на различных СУБД, то рекомендуется к операндам и/ или результатам этих операций применять оператор явного приведения разрядности и точности числовых данных:

ВЫРАЗИТЬ(... КАК Число(m, n))

Оператор ВЫРАЗИТЬ следует применять к операндам, если на какой-нибудь СУБД точность получаемого результата недостаточна. Например, требуется 10 разрядов после запятой, а получается 6.

При этом указанная общая разрядность операндов должна быть минимальной, но не меньше той, которая достаточна для представления значений каждого из операндов. Неоправданное завышение разрядности может привести к потере точности последующих вычислений и несколько снизить скорость выполнения запроса.

Важно иметь в виду, что на разных СУБД имеются различные ограничения на максимальную разрядность десятичных чисел. Самое жесткое ограничение - это 31 разряд в целой и дробной частях. Чем меньшее значение разрядности будет указано для операндов, тем выше сможет быть точность результата. Например, если в результате требуется не менее 10 разрядов дробной части, первый операнд заведомо помещается в 15 разрядов целой части, а второй операнд заведомо помещается в 5 знаков целой части, то выражение может быть записано так:

ВЫБРАТЬ
ВЫРАЗИТЬ(Таблица.Множитель * Таблица.Числитель КАК Число(25,10)) / ВЫРАЗИТЬ(Таблица.Знаменатель КАК Число(15,10)) КАК Результат
ИЗ Таблица КАК Таблица

Оператор ВЫРАЗИТЬ следует применять к результату, если точность вычислений на всех СУБД достаточна, но на некоторых она больше, а на других меньше. При этом указанная общая разрядность результата должна быть минимальной, но не меньше той, которая достаточна для представления значений результата. Если в приведенном примере известно, что Знаменатель не может быть меньше 0.00001, то для представления результата достаточно 20 разрядов целой части. В этом случае выражение может быть записано так:

ВЫБРАТЬ
ВЫРАЗИТЬ(Таблица.Множитель * Таблица.Числитель / Таблица.Знаменатель КАК Число(30,10)) КАК Результат
ИЗ Таблица КАК Таблица

Иногда может быть целесообразно выполнить приведения к требуемой точности как операндов, так и результата. Например:

ВЫБРАТЬ
ВЫРАЗИТЬ(ВЫРАЗИТЬ(Таблица.Множитель * Таблица.Числитель КАК Число(25,10)) / ВЫРАЗИТЬ(Таблица.Знаменатель КАК Число(15,10)) КАК Число(30,10)) КАК Результат
ИЗ Таблица КАК Таблица

Источник its.1c.ru
---
```1c
    ТОГДА (ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Цена / 1.2 КАК ЧИСЛО(15, 2))) - ВЫБОР
    КОГДА НЕ РеализацияТоваровУслугТовары.ПроцентАвтоматическойСкидки = 0
    ТОГДА ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Цена / РеализацияТоваровУслугТовары.ПроцентАвтоматическойСкидки / 100 / 1.2 КАК ЧИСЛО(15, 2))
    ИНАЧЕ 0
    КОНЕЦ
```

Вот мой код этого поля, но почему то какие то числа он округляет нормальн, какие то криво..

К примеру два числа итоговых:
Если 15,2 : то на выходе 8,56 и 44.39
Если 15,3: 8,567 44,383

Разве не должно быть 8,57 и 44,38 при выразить (15,2) ???
---
Ну да. Вы же еще и цену со скидкой округляете, а не конечный результат... То есть у вас и цена изменяется, и результат разный...
Математику пытаетесь обмануть? Бесполезно.
---
Подскажите пожалуйста как переписать условие тогда ?
---
просто отнимите 0.5
как в примере
ВЫРАЗИТЬ( ( ВашаМегаФормула ) - 0.5 КАК Число(15,2)) как Результат