Jump to content

Recommended Posts

Доброго времени суток!

При создании скидки и настройки округления до 0 знаков после запятой на сайте и в админке отображаются круглые цифры, например сумма без скидки 127 рублей, -2% скидки получаем округленную сумму 124 рубле. При создании счета у клиента отображается сумма правильная-округленна 124 рубля, а в базе данных записывается сумма 124,46 рублей, то есть с копейками.

image.png.de89fd779ffd24b6b5732c9663ac66b4.png

А теперь вопрос, как сделать что бы округление происходило и в цене на сайте и в базе данных?

Share this post


Link to post
Share on other sites

чтобы было корректное округление везде нужно менять в
- во всех контроллерах, где выводится товар
- в классе, отвечающем за корзину

- в подитогах

Share this post


Link to post
Share on other sites
3 минуты назад, thentru сказал:

чтобы было корректное округление везде нужно менять в
- во всех контроллерах, где выводится товар
- в классе, отвечающем за корзину

- в подитогах

Подскажите, а если у меня множество групп покупателей  и у каждой через модуль прописаны скидки, это как то может отразится на механизме ценообразования?

Share this post


Link to post
Share on other sites
4 минуты назад, piklas сказал:

Подскажите, а если у меня множество групп покупателей  и у каждой через модуль прописаны скидки, это как то может отразится на механизме ценообразования?

Вам написали, менять везде округление, где это связано с ценой, в том числе и со скидками.

Share this post


Link to post
Share on other sites
1 минуту назад, smartcoder сказал:

Вам написали, менять везде округление, где это связано с ценой, в том числе и со скидками.

Тогда вопрос, это реально сделать или лучше смирится?

Share this post


Link to post
Share on other sites
Только что, piklas сказал:

Тогда вопрос, это реально сделать или лучше смирится?

Заплатите человеку, если это вам надо - все реально, если вам это надо.

Share this post


Link to post
Share on other sites

Отписываюсь о решении вопроса, может кому пригодится. Суть проблемы была в том что когда на сайте делаете скидку на товар, цена на сайте округлялась, но в базе цена была с копейками и при выгрузке, на пример в 1с или  любой другой внешний обработчик заказов выгружались копейки. Решение: заказал разработку модификатора который округляет все цены на сайте.

Edited by piklas

Share this post


Link to post
Share on other sites

Мда...
Так можно описывать любое решение проблемы:
"Была проблема - бла-бла-бла. Нашел решение - заплатил программеру, он сделал для меня модуль!"
А что, так можно было? Ж8-(  )

Share this post


Link to post
Share on other sites
7 часов назад, Wild сказал:

Мда...
Так можно описывать любое решение проблемы:
"Была проблема - бла-бла-бла. Нашел решение - заплатил программеру, он сделал для меня модуль!"
А что, так можно было? Ж8-(  ) 

Я честно не знаю что сделал программист, но он сделал именно то что мне надо.

Share this post


Link to post
Share on other sites
10 hours ago, piklas said:

Я честно не знаю что сделал программист, но он сделал именно то что мне надо.

Исключительно ради любопытства... Вы в самом первом посте топика приводили скрин из phpmyadmin'a с кусочком полей таблиц и их значениями. Вас не затруднит сделать еще один, точно такой же скрин? Мне просто интересно, не пошел ли Ваш исполнитель самым прямым путем (сквозь "стены") и не изменил ли тип данных в табличке  с decimal на integer, например :ugeek: На скрине просто должна присутствовать дробная часть у значений, типа "100.0000", а не просто "100".

Share this post


Link to post
Share on other sites
15 часов назад, piklas сказал:

Я честно не знаю что сделал программист, но он сделал именно то что мне надо.

Просто когда вы начинаете пост фразой типа "...Отписываюсь о решении вопроса...", то предполагается, что вы нашли решение и опубликуете его в паблик для других.
Даже если вы сделали это с помощью стороннего программера.
Если же вы тупо заплатили кому-то, решили свою проблему, но не собираетесь опубликовывать его, то успокойтесь и не пишите пафосных постов.
Это решение знают ВСЕ 100% людей сидящих на этом форуме.
Причем не только вашей, но и ВООБЩЕ ВСЕХ ПРОБЛЕМ (заплати и тебе сделают)!
Вы не догадывались об этом?

Share this post


Link to post
Share on other sites

Кстати вопрос...
Не проверял (пока лениво), но если в таблице объявлено 2 знака после запятой, то при записи туда значения 10.00517 туда запишется значение 10.01 (с математическим округлением) или 10.00 (остальные знаки обрежутся)?

Share this post


Link to post
Share on other sites
Posted (edited)
19 minutes ago, Wild said:

Кстати вопрос...
Не проверял (пока лениво), но если в таблице объявлено 2 знака после запятой, то при записи туда значения 10.00517 туда запишется значение 10.01 (с математическим округлением) или 10.00 (остальные знаки обрежутся)?

до

Spoiler

image.png.b65355a1d92118db4ef851c67348ca89.png

после 1(сократил до 2х знаков)

Spoiler

image.png.5cc47abfc713283ee668da70fa52cd82.png

 

после 2 (до целого)

Spoiler

image.png.0f6d0750a3e4d2811f3ab7044ec21805.png

 

формально, mysql не выдаст ошибки при вставке дробного значения в поле с типом целого (или при вставке значения с "излишней" точностью) - сработает приведение типов с нормальным округлением к ближайшему возможному значению

 

Edited by 100napb
  • +1 1

Share this post


Link to post
Share on other sites

Спасибо что не поленились проверить.
Костыль, конечно, но самое простое решение проблемы.
Результатом доволен, применю у клиента.
Не уверен, но для уважаемого @piklas похоже именно это и сделали.
Тупо исправили количество знаков после запятой в поле БД (работы - 5 секунд).
Хотя он писал про некий модификатор...
Может он "пустышка"? ))
@piklas, не поделитесь на посмотреть?
Мне чисто из спортивного интереса.
Уверяю вас, он не представляет особой ценности.
Особенно если в магазине НЕ ИСПОЛЬЗУЕТСЯ многовалютный учет с фишками типа автообновление курса и т.п.
Вдруг выяснится что можно предъявить претензии разработчику за "фуфел"? ))

Share this post


Link to post
Share on other sites
Posted (edited)
В 25.03.2019 в 14:57, Wild сказал:

Спасибо что не поленились проверить.
Костыль, конечно, но самое простое решение проблемы.
Результатом доволен, применю у клиента.
Не уверен, но для уважаемого @piklas похоже именно это и сделали.
Тупо исправили количество знаков после запятой в поле БД (работы - 5 секунд).
Хотя он писал про некий модификатор...
Может он "пустышка"? ))
@piklas, не поделитесь на посмотреть?
Мне чисто из спортивного интереса.
Уверяю вас, он не представляет особой ценности.
Особенно если в магазине НЕ ИСПОЛЬЗУЕТСЯ многовалютный учет с фишками типа автообновление курса и т.п.
Вдруг выяснится что можно предъявить претензии разработчику за "фуфел"? ))

Я показать не смогу что сделано, а делал мне хороший товарищ @TeslaFeo напишите ему, он объяснит.

Edited by piklas

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By LionHunter
      Ищу исполнителя для разработки (или доработки любого существующего) модуля "Скидка от суммы заказа".
      В целом что нужно: нужен модуль, который бы выводил сообщение примерно такого вида - http://joxi.ru/Q2KDDGbfLyeYoA  в корзине Simple и быстрой корзине на шаблоне Tech Store.  
       
      Как должен работать модуль:
      1) в админке задается таблица скидок в зависимости от суммы заказа (500р – 3%, 1000р – 5%, 3000р – 10% и т.д)
      2) была возможность выбирать учитывать или не учитывать акционные товары.
      3) Сообщение о скидке выводится на основании данных, заданных в таблице;
      4) Размер скидки выводиться в таблице подитогов в корзине в виде "скидка 3%: 15р
       
      Совместимость:
      1) OcStore 2.3.0.2.3
      2) Шаблон Tech Store
      3) модуль Simple
      4) мультиязычность – модуль должен уметь выводить сообщения на разных языках
       
      Интересуют сроки и примерная цена в двух вариантах:
      -        если модуль остается за мной и не распространяется вами;
      -        если модуль в дальнейшем может быть продан Вами третьим лицам.
      Если нужна дополнительная информация – пишите, предоставлю.
    • By ArtemPitov
      О модуле 
      Модуль теперь free
      Смотрите другие  бесплатные модули →
       
      Модуль позволяет добавлять наценку или скидку для групп покупателей.
       
      В зависимость от специфики магазина вы сможете создавать условия формирования конечной стоимость корзины для каждого производителя и группы клиентов.
      Модуль будет полезный для оптовых продаж, наценок на мелкие закупки, или любого другого вашего сценария.
       
      Можно использовать такие формулы наценок: 
      [-][1-100][%] - скидка в % на общею стоимость конкретного производителя в корзине [+ или без знака][1-100][%]  - добавления стоимость в процентах учитывая сумму товаров конкретного производителя  [-][любая  сумма] - скидка в валюте магазина, актуально для одно валютных магазинов [+ или без знака][любая сумма] - наценка в валюте магазина, актуально для одно валютных магазинов   
      Пример 
      -50% - скидка в 50% +50% - наценка в 50% -100 - скидка в 100 рублей (если выбран рубыль или другой валюте) +100 - наценка в 100 рублей (если выбран рубыль или другой валюте) Лицензия 
      1 копия  - одна лицензия, без под доменов
       
      Поддержка 
      Исправления ошибок не вызванных модулем - это доработка, оплачивается отдельно
      Изменения логики работы модуля - это доработка, оплачивается отдельно
       
      Поддержка версий 
      Модуль работает под любой сборкой OpenCart версии 2.3, если нужна будет адаптация под другую версию - оговаривается индивидуально.
       

    • By ArtemPitov
      Скачать/Купить дополнение


      Скидка, наценка для производителей в корзине
      О модуле 
      Модуль теперь free
      Смотрите другие  бесплатные модули →
       
      Модуль позволяет добавлять наценку или скидку для групп покупателей.
       
      В зависимость от специфики магазина вы сможете создавать условия формирования конечной стоимость корзины для каждого производителя и группы клиентов.
      Модуль будет полезный для оптовых продаж, наценок на мелкие закупки, или любого другого вашего сценария.
       
      Можно использовать такие формулы наценок: 
      [-][1-100][%] - скидка в % на общею стоимость конкретного производителя в корзине [+ или без знака][1-100][%]  - добавления стоимость в процентах учитывая сумму товаров конкретного производителя  [-][любая  сумма] - скидка в валюте магазина, актуально для одно валютных магазинов [+ или без знака][любая сумма] - наценка в валюте магазина, актуально для одно валютных магазинов   
      Пример 
      -50% - скидка в 50% +50% - наценка в 50% -100 - скидка в 100 рублей (если выбран рубыль или другой валюте) +100 - наценка в 100 рублей (если выбран рубыль или другой валюте) Лицензия 
      1 копия  - одна лицензия, без под доменов
       
      Поддержка 
      Исправления ошибок не вызванных модулем - это доработка, оплачивается отдельно
      Изменения логики работы модуля - это доработка, оплачивается отдельно
       
      Поддержка версий 
      Модуль работает под любой сборкой OpenCart версии 2.3, если нужна будет адаптация под другую версию - оговаривается индивидуально.
       

      Добавил ArtemPitov Добавлено 04.06.2018 Категория Учет в заказе Системные требования PHP 5.4 и выше Сайт разработчика https://pitov.pro Старая цена Метод активации По запросу в ЛС Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Opencart.pro 2.3 Обращение к серверу разработчика  
    • By bloodrain777
      Если Вы хотите, чтобы Ваши покупатели получали приятные скидки на сумму заказа товаров из определенной категории - теперь Вы можете себе это позволить.
      Данный модуль позволяет добавить к каждой категории определенную скидку в зависимости от суммы заказа.
      В формате 100:10;200:20; - что означает если сумма товаров в корзине из этой категории больше или равна 100 то скидка будет 10% и т.д
      Работает в принципе по той же логике как и другой мой модуль
      Обратите внимание
      Для работы этого модуля у Вас должен быть установлен модуль SeoPro от ocJazz
      Объясняю: В модуле SeoPro Мы имеем возможность не только получить красивые и уникальные ссылки на наши товары, но и получить очень важную возможность - добавлять родительскую категорию товару, чего нету в штатной версии Opencart.
      Для того чтобы мой модуль считал правильно скидки товарам, используется как раз эта возможность - родительская категория у товара.
      Если Вы не можете найти SeoPro от ocJazz пожалуйста напишите мне я дам ссылку, но только после покупки моего модуля.
      Модуль использует ocMod файл.
      Установка
      Распакуйте архив Папку admin и catalog закиньте в корень своего сайта Выполните в базе данных запрос из файла skidka.sql Установите install.ocmod.xml через установщик модфикаторов в админке Вашего сайта. Включите в Модули->Использовать в заказе -> Скидка от суммы заказа (для категорий) На этом установка окончена, пользуйтесь на здоровье. Кому что не понятно пишите расскажу, покажу
       
      Если возникли вопросы или я долго не отвечаю пишите в скайп bloodrain777
    • By bloodrain777
      300.00 руб
      Скачать/Купить дополнение


      Скидка на товары из категории OC 2
      Если Вы хотите, чтобы Ваши покупатели получали приятные скидки на сумму заказа товаров из определенной категории - теперь Вы можете себе это позволить.
      Данный модуль позволяет добавить к каждой категории определенную скидку в зависимости от суммы заказа.
      В формате 100:10;200:20; - что означает если сумма товаров в корзине из этой категории больше или равна 100 то скидка будет 10% и т.д
      Работает в принципе по той же логике как и другой мой модуль
      Обратите внимание
      Для работы этого модуля у Вас должен быть установлен модуль SeoPro от ocJazz
      Объясняю: В модуле SeoPro Мы имеем возможность не только получить красивые и уникальные ссылки на наши товары, но и получить очень важную возможность - добавлять родительскую категорию товару, чего нету в штатной версии Opencart.
      Для того чтобы мой модуль считал правильно скидки товарам, используется как раз эта возможность - родительская категория у товара.
      Если Вы не можете найти SeoPro от ocJazz пожалуйста напишите мне я дам ссылку, но только после покупки моего модуля.
      Модуль использует ocMod файл.
      Установка
      Распакуйте архив Папку admin и catalog закиньте в корень своего сайта Выполните в базе данных запрос из файла skidka.sql Установите install.ocmod.xml через установщик модфикаторов в админке Вашего сайта. Включите в Модули->Использовать в заказе -> Скидка от суммы заказа (для категорий) На этом установка окончена, пользуйтесь на здоровье. Кому что не понятно пишите расскажу, покажу
       
      Если возникли вопросы или я долго не отвечаю пишите в скайп bloodrain777
      Добавил bloodrain777 Добавлено 22.07.2016 Категория Цены, скидки, акции, подарки Системные требования Сайт разработчика Старая цена Метод активации Ioncube Loader OpenCart ocStore OpenCart.Pro, ocShop Обращение к серверу разработчика  
  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.