Форум OlegON > Ресурсы OlegON > Вопросы сервера > Архив > УКМ-2

использование _roundbase : УКМ-2

24.04.2024 23:37


07.12.2011 15:17
whitewizard
 
решили попробовать реализовать скидку на мелочь, используя округление в чеке.
всё сделали по инструкции от асцн (ниже), но возникло следующая проблема в логике:

стоит округление до 50коп в меньшую сторону.
продаём весовой товар по 24.81
нажимаем ПОДИТОГ - округляется до 24.50
проводим дисконтной картой 3% и происходит следующее:
24.50-3%=23.77 и опять происходит округление и получается в итоге 23.50

по логике, после проведения скидки, чек должен пересчитаться 24.81-3% и округлиться до 24.00, а на самом деле возникает ситуация, описанная выше.

АСЦН сказал, что это годная логика.

кто-нибудь с этим функционалом работает?

-------------------------------------------------------------------------
Описание от АСЦН:

Округление всех видов скидок (в том числе автоматических) и стоимости весовых товаров с указанной точностью (любое число с точностью до двух знаков после запятой). Значение по умолчанию <0>. При этом цены в PluCash.db должны быть указаны с такой же точностью.! В дистрибутиве под ФР данный параметр можно использовать только при использовании параметра _FRFREELINE. (<размазывание> дельты на позиции чека пропорционально их весу в общей сумме).Для того, чтобы включить новый функционал по округлению необходимо в таблице CF_INI.DB в поле _RoundBase вбить служебную строку: <база>; 1 (0 - как раньше (математическое округление) -1 - округление вниз (округление результата (итоговой стоимости позиции после применения всех скидок/наценок) вниз, скидки округляются вверх, наценки округляются вниз) 1 - округление вверх (округление результата (итоговой стоимости позиции после применения всех скидок/наценок) вверх, скидки округляются вниз, наценки округляются вверх)
где <база> - значение точности округления (например, 0.01=1 коп, 0.05=5 коп, 0.10=10 коп, 1.00=1 руб. и т.д.)
в CF_INI будет выглядеть так -
0.10;-1 = сумма 0.48 округлится до 0.40, 0.10;1 = сумма 0.43 округлится до 0.50, 0.10;0 = сумма 0.44
округлится до 0.40
07.12.2011 15:20
Stels
 
_FRFREELINE=1
_RoundBase=0.50;2
в вашем случае должно быть
07.12.2011 15:22
whitewizard
 
Разумеется :) так и сделано
07.12.2011 15:23
Stels
 
мы работаем с параметрами
_FRFREELINE=1
_RoundBase=0.10;2

у нас отбрасываются копейки (округл до 10 коп в меньшую сторону)
только после второго подитога

всё корректно
07.12.2011 15:25
Stels
 
Цитата:
whitewizard Разумеется :) так и сделано
может версия УКМ стара? ... это не так давно сделали
07.12.2011 15:26
whitewizard
 
То есть на дисплее покупателя показывается, например, 10.35, а после второго подитога 10.30?
07.12.2011 15:26
whitewizard
 
версии месяц назад заказывалась
07.12.2011 15:31
Stels
 
хм ...
на закрытой смене пробовали?
по-моему надо после изменения параметров смену закрывать ....
07.12.2011 15:35
whitewizard
 
в инструкции про смену сказано ничего не было
а какая связь?
07.12.2011 15:37
Stels
 
Цитата:
whitewizard в инструкции про смену сказано ничего не было
а какая связь?
честно - не помню ...
но у нас тоже не сразу всё заработало ..
но что-то в голове так отложилось :scratch_one-s_head:
Часовой пояс GMT +3, время: 23:37.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.