Page tree
Skip to end of metadata
Go to start of metadata

В системе для каждой валюты может быть задано несколько условий округления, которые могут быть выбраны для округления цен. Условия округления задаются на форме Цены - Справочники - Округления цен

Наименование (валюта) - в поле нужно выбрать валюту, для которой будут действовать настроенные условия округления.

Условие округления - в таблице по кнопке Добавить создаются условия округления, которые можно использовать для округления цен в установленной валюте. Можно настраивать столько условий округления, сколько необходимо для работы. Для каждого условия округления создается строка, в которой указываются следующие параметры:

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

Делитель - нужно указать делитель, который будет использоваться для расчета округления. 

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

Количество знаков после запятой - количество знаков в дробной части цены.

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

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

Цена от - нижний порог диапазона цены.

Делитель - делитель, который используется для расчета округления в данном диапазоне. Если делитель не отличается от делителя, указанного для условия округления, то поле можно оставить пустым, система применит делитель из настроек условия округления. 

Остаток до - верхняя  граница остатка при делении входной цены на делитель.

Округленная цена интервала - часть цены, которая добавляется к разнице входной цены и остатка для получения результата округления (см. пример расчета).


Рис. 1 Форма Округление цен

Механизм округления работает следующим образом:

  • Если входная цена меньше Нижнего порога, то к ней применяется только округление до заданного Количества знаков после запятой. Если количество знаков отрицательное, то округление идет до 10, 100 и так далее. При округлении до заданного Количества знаков после запятой применяется обычное математическое округление. Например, если установлено округление до 2 знаков после запятой, то 5,236 будет округлено до 5,24, а 5,234 до 5,23.
  • Если входная цена больше либо равна Нижнему порогу, то 
    1. Находится Диапазон цен, в который он попадает. Если диапазоны цен не настроены или ни один диапазон не подходит, то применяется округление до заданного Количества знаков после запятой (см выше).
    2. Берется остаток от деления входной цены на Делитель. Остаток определяется по формуле: входная цена - ((входная цена/делитель с округлением вниз до целого) * делитель)
    3. Отбираются все интервалы где цена выше Цены от и остаток от деления на делитель меньше Остатка до  (они подсвечиваются желтым на форме). Для расчета используется последний введенный в таблицу интервал из отобранных.
    4. Рассчитывается цена с округлением по формуле: входная цена - остаток + Округленная цена интервала.

Пример расчета округления рис. 1:

При входной цене 55,48 используется последний подходящий интервал со значениями: Делитель=1, Остаток до <=1, Округленная цена интервала = 0,99

55.48/1 с округлением вниз до целого = 55

Остаток= 55,48 - 55*1 = 0,48

Цена с округлением = 55,48-0,48+0,99=55,99

Тестовая форма

Для того, чтобы проверить, правильно ли настроены правила расчета округлений, можно использовать тестовую форму: в поле Введите число для примера нужно ввести входную цену, а в поле Результат отобразится, как цена будет округлена.




  • No labels