Tomosh
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 42
|
|
1 | |
Округление Суммы Чека Для Фп01.09.2013, 13:47. Просмотров 9010. Ответов 2
Метки нет Все метки)
(
сеть магазинов, терминальный сервер, чеки печатаются на локальных ФП
есть система накопительных дисконтов, 5-7-9-10-15% всё самописное 7.7 проблема: товар крупный, штучный, дорогой, но вот эти 7-9 % скидки... продавцы жалуются на то, что попадаются суммы в чеках с копейками, долго рассчитываться с покупателем, неудобно, а округлять на ходу - некрасиво, бывает что покупатель проверяет чек, скажут ему с вас 295, а он посмотрит - 294.75, и бывают такие, кто ещё и шум поднимают... казалось бы, чего проще: Код ( (Unknown Language)): СуммаСНДС = ОКР(СуммаСНДС); СуммаСкидки = ОКР(СуммаСкидки); но не тут-то было! ФП печатает чек построчно. И ему плевать что там у тебя в итоге, он считает каждую напечатанную строку, а потом сам подбивает и сумму и скидку... фактически ему передаётся только сумма, налоговая ставка, процент скидки, название товара и ещё парочка не относящихся к делу параметров. а считает он сам, и ничего он округлять не собирается. т.е. чтобы получить нужный результат, нужно выдавать ему строки чека, заранее обработанные под конечный результат... выдавать ему разные скидки под каждую отдельную строку - неправильно изначально, так как скидка указывается в чеке, т.е. покупатель опять же увидит, что в этой строке у него 7%, а в этой, например, 6.87% - ну чтобы получить итого целое число - и опять же странные ситуации... НО, у ФП есть ещё функция скидки не по процентам, а по сумме, при этом надо явно указать эту сумму. вроде бы неплохой вариант, покупатель увидит что у него покупка на 455, скидка 32 итого к оплате 423. сразу сходу посчитать 7% там или 6.87% или 7.12% - нереально, а на глаз - примерно правильно. теперь нужно построчно рассчитать округлённую суммовую скидку, таким образом, чтобы в ИТОГО всё сходилось... я пошёл в лоб, рассмотрев 2 стандарных варианта - округлять в большую или меньшую стороны, но при первых же попытках получить работающий чек, нарвался на неожиданны результаты: для примера возьму небольшие числа и "круглую" скидку 10%, считать удобно и наглядно: 4 товара, сумма 100 скидка 10% Код
1. товар1 сумма 26 виртуальная скидка 2,6 2. товар2 сумма 38 виртуальная скидка 3,8 3. товар3 сумма 17 виртуальная скидка 1,7 4. товар4 сумма 19 виртуальная скидка 1,9 округляем скидку в меньшую сторону: Код
1. товар1 сумма 26 скидка 2 к оплате 24 2. товар2 сумма 38 скидка 3 к оплате 35 3. товар3 сумма 17 скидка 1 к оплате 16 4. товар4 сумма 19 скидка 1 к оплате 18 округляем в большую сторону: Код
1. товар1 сумма 26 скидка 3 к оплате 23 2. товар2 сумма 38 скидка 4 к оплате 34 3. товар3 сумма 17 скидка 2 к оплате 15 4. товар4 сумма 19 скидка 2 к оплате 17 для товаров ценой 23 33 21 23 получаем: в большую сторону - к оплате 87 скидка 13 в меньшую сторону - к оплате 91 скидка 9 и, заметьте, такой разброс на "круглой" скидке что происходит на 7% и 9% - легко догадаться... посоветуйте что-нибудь, ато даже как-то стыдно пасовать, замучаюсь объяснять почему не сделал такую "простейшую вещь"
0
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
01.09.2013, 13:47 |
Ответы с готовыми решениями:
2
Печатная форма товарного чека Не печатается фискальная часть чека Выбор оборудования при печати чека Печать чека Без НДС УТ 10.3. Ошибка при печати чека ККМ |
Дийнеки
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 947
|
|
01.09.2013, 18:56 | 2 |
Советую:
Я предполагаю - Вы россиянин (в РБ нет копеек). - на разные товары могут быть разные % скидок. Даже если сейчас этого нет, то потом может быть. - но пока скидка на одного покупателя едина и на все товары. Мучатся с округлением - дело бесполезное, тебя всегда будут тыкать носом в разные ситуации. Я бы категорично видел только один выход: печатать товары с ценами без скидок. А в конце строку с фиктивным товаром "Общая скидка". И на ней вычисленную сумму со знаком минус.
0
|
Tomosh
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 42
|
|
02.09.2013, 17:02 | 3 |
![]() если несколько скидок накладываются, специальная обработка всегда выбирает наибольшую действующую ![]()
0
|
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
02.09.2013, 17:02 |
Розница 2.2. Печать чека и перемещение товаров между магазинами(складами) Округление суммы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |