[ТЕМА ЗАКРЫТА]
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:
12.12.2011 16:09
whitewizard
 
АСЦН сказал, что всё нормально и логику никто переписывать не будет
09.04.2013 08:42
Propil
 
Цитата:
_FRFREELINE=1
_RoundBase=0.50;2
Использовал такие же настройки и получил проблемы.
Периодически смена на сервер не принимается с ошибкой. Ругань - на таблицу Cashdisc.db
Вот что видим здесь -
позиции чека разбиваются и появляется отрицательная скидка
Миниатюры
Нажмите на изображение для увеличения
Название: cashdisc_error.gif
Просмотров: 344
Размер:	18.4 Кб
ID:	1872  
09.04.2013 08:56
bob
 
Цитата:
Propil Использовал такие же настройки и получил проблемы.
Периодически смена на сервер не принимается с ошибкой. Ругань - на таблицу Cashdisc.db
Вот что видим здесь -
позиции чека разбиваются и появляется отрицательная скидка
Ты уверен, что discountindex=4 - это округление "скидка на мелочь"? Меня гложут большие сомнения.
09.04.2013 09:06
Propil
 
После подитога применена скидка по дисконтной карте - 3%-ная
09.04.2013 09:35
Propil
 
Но этим не ограничивается..
При изъятии денег печатается чек.
В одной строке - остаток 1000 руб после изъятия
В другой (итого) - иная сумма
Миниатюры
Нажмите на изображение для увеличения
Название: incassatia.gif
Просмотров: 342
Размер:	48.3 Кб
ID:	1873  
09.04.2013 10:19
konst
 
По поводу последнего - может быть рассинхронизация между счетчиками в УКМ и в ФР
т.к. похоже что 1000 р - печатает программа, а 999,81 - фискальник
попробовать выставить в cf_ini - этот остаток и посмотреть что будет дальше
10.04.2013 15:07
Bork
 
Всем привет.

whitewizard, хочу дополнить мануал:
0.50;2 это «размазывание» дельты на позиции чека пропорционально их весу в общей сумме.
т.е. это нельзя понимать как округление, это "отбрасывание" мелочи до 50 копеек в твоем случае.

Если ты хочешь, чтобы было 24.00 то нужно ставить 0.50;-1.

Propil, у тебя не просто расхождение ящика ФРа с ящиком УКМ2, тут скорее всего расходятся продажи. Сравни контрольку ЭКЛЗ с таблицей cashpay, я прав?
С этим нужно разбираться. Думаю стоит написать письмо в АСЦН, но сначала я попробовал бы отловить такой косяк на последней версии.
18.04.2013 17:29
Propil
 
После обновление дистрибутива УКМ, округление работает нормально.
До сегодняшнего случая..
Итак, стоит параметр _RoundBase=0.50;-1
Имеем чек на продажу из двух позиций.
Одна из них ценой 44,30 "скидывается" до 4,12 (в итоге сумма чека округляется до 50 коп в минус)
Потребовалось сделать возврат этой позиции.
Касса по установленному алгоритму - в чеке на возврат округляет 4,12 до 4,50 (покупатель в выигрыше :) )
Но, делает это хитрым способом. В табличке у себя выставляет отрицательную скидку.
В итоге, скидка эта не принимается Супермагом (кассовым сервером) при закрытии смены.
И в СМ живет чек на возврат на сумму 4,12

Разницу в 38 копеек пытаются вытрясти с меня
18.04.2013 19:33
bob
 
Цитата:
Propil После обновление дистрибутива УКМ, округление работает нормально.
До сегодняшнего случая..
Итак, стоит параметр _RoundBase=0.50;-1
Имеем чек на продажу из двух позиций.
Одна из них ценой 44,30 "скидывается" до 4,12 (в итоге сумма чека округляется до 50 коп в минус)
Потребовалось сделать возврат этой позиции.
Касса по установленному алгоритму - в чеке на возврат округляет 4,12 до 4,50 (покупатель в выигрыше :) )
Но, делает это хитрым способом. В табличке у себя выставляет отрицательную скидку.
В итоге, скидка эта не принимается Супермагом (кассовым сервером) при закрытии смены.
И в СМ живет чек на возврат на сумму 4,12

Разницу в 38 копеек пытаются вытрясти с меня
Там еще есть проблема с возвратом, когда чек пробит с дисконтной картой и товар с фиксированной ценой. При возврате такого товара возникает та же ситуация.
19.04.2013 10:44
Bork
 
Propil,
вот теперь пора писать в АСЦН.
Опции темы


Часовой пояс GMT +3, время: 04:34.

 

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