18 апреля, 2024

Округление во все стороны

Задача: сделать округление цены, при ее вычислении в документе, с выбором количества знаков и указанием способа — всегда вверх или стандартным способом.

В документе добавил два реквизита: «Округление», для ввода количества знаков и «ОкруглениеВверх» — признак округления в режиме «всегда вверх».

В модуле формы, в том месте, где вычисляется новая цена добавил такую процедуру:

Принцип работы такой: сначала запятую отодвигаем на то количество знаков, которое хотим оставить, для этого вычисляем Кф. Тут я использовал свою функцию СтепеньЧисла() в которую передаются два параметра: первый — основание степени, второй — сама степень. Затем вычисляем саму цену, выделяем дробную часть, ну и дальше в зависимости от флага «ОкруглениеВверх» увеличиваем цену или оставляем как есть. В конце возвращаем запятую на место.