Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Округлення цін при використанні акцій та купонів


 Share

Recommended Posts

Вітаю. Раніше подібне питання не поставало, так як ніхто не фіскалізував замовлення в опенкарті, але зараз виявилося, що при використанні купонів з %, або знижки від кількості у % ціни формуються з копійками. В результаті на суму 2090 грн зі знижкою в 15% виходить 1776,5, але у нас стоять налаштування в опнкарті з округленням до гривні. Що виходить, що знижка у нас не 313.5 грн, а заокруглюється до 314 грн, сума до оплати не 1776,5 грн, а 1777 грн. 2090 - 314 = 1776 -  і ось ця гривня "гуляє" і не дає чекбоксу пробити чек. Підкажіть будь ласка, в яких файлах потрібно вносити правки? Чи може хто стикався з такою ситуацією і як її вирішив?

Link to comment
Share on other sites

В 29.11.2023 в 20:09, PaulKravchenko сказав:

Кількість знаків після коми у валюти?

Зараз 2 знаки, бо не пробивалися чеки. А потрібно без знаків. Вище описана ситуація якраз у випадку без знаків після коми

Link to comment
Share on other sites

Вам простіше буде у каталозі приховати знаки після коми ніж переписувати всюди підрахунок за умови використання купонів у відсотках.

Як мінімум переписувати:

catalog/controller/checkout/cart.php
catalog/controller/checkout/checkout.php
system/library/cart/cart.php
system/library/cart/currency.php
system/library/cart/tax.php

Link to comment
Share on other sites

В 29.11.2023 в 20:35, PaulKravchenko сказав:

Вам простіше буде у каталозі приховати знаки після коми ніж переписувати всюди підрахунок за умови використання купонів у відсотках.

Як мінімум переписувати:

catalog/controller/checkout/cart.php
catalog/controller/checkout/checkout.php
system/library/cart/cart.php
system/library/cart/currency.php
system/library/cart/tax.php

Ви маєте на увазі приховати стилями?

Link to comment
Share on other sites

В 29.11.2023 в 19:46, Flint2000 сказав:

Ви маєте на увазі приховати стилями?

Хоч як, можна і в шаблоні товару (категорії, модулів, тобто там де виводиться ціна) замість {{ price }} зробити щось таке:

{{ price|number_format(0, '', '') }}

Або так:

{{ price|replace({'.00':''}) }}

 

Link to comment
Share on other sites

@PaulKravchenko Ну в мене 2.3 версія, але все ж таки думаю, це не варіант, бо візуально для клієнта буде одна сума, а по оплаті та в чеку інша, з копійками

Link to comment
Share on other sites

В 29.11.2023 в 21:21, Flint2000 сказав:

думаю, це не варіант, бо візуально для клієнта буде одна сума, а по оплаті та в чеку інша, з копійками

Візуально буде без .00 але з .50 як при оформленні, при оплаті так і в чеку, якщо зробити так:

  <file path="catalog/view/theme/*/template/{account/*,checkout/*,extension/module/*,extension/payment/*,product/*}.tpl">
    <operation error="skip">
      <search><![CDATA[<?php echo $price; ?>]]></search>
      <add position="replace"><![CDATA[<?php echo preg_replace('/\.00/', '', $price); ?>]]></add>
    </operation>
    <operation error="skip">
      <search><![CDATA[<?php echo $product['price']; ?>]]></search>
      <add position="replace"><![CDATA[<?php echo preg_replace('/\.00/', '', $product['price']); ?>]]></add>
    </operation>
  </file>

 

Ви ж просто замынюєте .00 на нічого)

Так само можна зробити і з $product['total'], тощо

 

Я вважаю, що це буде краще ніж переписування функції підрахунку та округлення.

Link to comment
Share on other sites

В 29.11.2023 в 21:58, chukcha сказав:

а звідки .50? якщо все підлягає округленню?

 

В 29.11.2023 в 19:26, Flint2000 сказав:

Зараз 2 знаки, бо не пробивалися чеки. А потрібно без знаків.

 

Тобто на разі немає округлення тому, що повернули 2 знаки після коми, а було коли ставили 0 знаків. Якщо я вірно зрозумів)

І я пропоную залишити два знаки після коми, але приховати у шаблонах нулі після коми.

Link to comment
Share on other sites

В 29.11.2023 в 23:00, PaulKravchenko сказав:

 

 

Тобто на разі немає округлення тому, що повернули 2 знаки після коми, а було коли ставили 0 знаків. Якщо я вірно зрозумів)

І я пропоную залишити два знаки після коми, але приховати у шаблонах нулі після коми.

Я думаю, це не варіант. Людина розраховується онлайн, йому пробиває з 50 копійками, а під час оформлення замовлення там кругла сума до гривні

Link to comment
Share on other sites

В 29.11.2023 в 22:58, chukcha сказав:

а звідки .50? якщо все підлягає округленню?

 

В першому пості я розписав що і як відбувається. Знижка округлюється др більшого і загальна сума округлюється до більшого. В результаті гривня на решту і чекбокс не робить чек 

Link to comment
Share on other sites

Ви не бачите, що будуть приховані тільки нулі?.. Копійки будуть показані, на вашому прикладі людина буде бачити суму 1776.50, а не 1776, як ви чомусь думаєте. При цьому ціна буде показана 2090 замість 2090.00.

Але якщо не підходить, то діло ваше...

Link to comment
Share on other sites

29.11.2023 в 23:20, Flint2000 сказал:

В першому пості я розписав що і як відбувається. Знижка округлюється др більшого і загальна сума округлюється до більшого. В результаті гривня на решту і чекбокс не робить чек 

Як ви думаєте чому decimal(15,4)

Тому треба скорегувати для умов ПРРО

Link to comment
Share on other sites

@PaulKravchenko Я дуже вдячний за поради і за дискусію, але як на мене це "костиль"

Link to comment
Share on other sites

В 29.11.2023 в 23:26, chukcha сказав:

Тому треба скорегувати для умов ПРРО

Тому я і запитував, де потрібно вносити правки щодо заокруглення, щоб це скорегувати. Чи ви маєте на увазі сам модуль з фіскалізації?

Link to comment
Share on other sites

В 29.11.2023 в 23:35, chukcha сказав:

У вас покупка, оплата, чек

Саме так. Додавання товару в кошик, застосування купону на знижку, онлайн оплата, фіскалізація чеку. Ось на скіні Всього 1777 (з копійками 1776.50) грн, а знижка 314 (з копійками 313.50). Онлайн оплата проходить саме 1777, а фіскалізувати не дає, бо 2090 - 314 = 1776

Прихований текст

image.thumb.png.de20215a1cc90c30e2e6a1e58c108656.png

 

Link to comment
Share on other sites

В 30.11.2023 в 11:24, chukcha сказав:

как вариант в model/extension/total/total не делать округление в нужную сторону

Не працює, в тотал вже приходить заокруглена сума

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.