Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Flint2000

Recommended Posts

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

Надіслати
Поділитися на інших сайтах

  

В 29.11.2023 в 18:43, Flint2000 сказав:

але у нас стоять налаштування в опнкарті з округленням до гривні

 

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

Надіслати
Поділитися на інших сайтах

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

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

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

Надіслати
Поділитися на інших сайтах

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

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

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

Надіслати
Поділитися на інших сайтах

В 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

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

Надіслати
Поділитися на інших сайтах

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

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

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

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

Або так:

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

 

Надіслати
Поділитися на інших сайтах

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

Надіслати
Поділитися на інших сайтах

В 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'], тощо

 

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

Надіслати
Поділитися на інших сайтах

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

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

 

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

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

 

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

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

Надіслати
Поділитися на інших сайтах

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

 

 

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

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

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

Надіслати
Поділитися на інших сайтах

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

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

 

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

Надіслати
Поділитися на інших сайтах

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

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

Надіслати
Поділитися на інших сайтах

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

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

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

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

Надіслати
Поділитися на інших сайтах

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

Надіслати
Поділитися на інших сайтах

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

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

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

Надіслати
Поділитися на інших сайтах

Я не можу сказати, бо не знаю усю логістику
можливо потрібен якийсь "коригувальник"

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

Надіслати
Поділитися на інших сайтах

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

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

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

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

image.thumb.png.de20215a1cc90c30e2e6a1e58c108656.png

 

Надіслати
Поділитися на інших сайтах

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

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

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

Надіслати
Поділитися на інших сайтах

30.11.2023 в 12:12, Flint2000 сказал:

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

там можна отримати усі

масив total

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.