AndreyIvanov Опубліковано: 15 квітня 2019 Share Опубліковано: 15 квітня 2019 Приветствую. Столкнулся с неприятной проблемой. Была необходимость добавить в магазин налог. +10% для одной группы и +20% для другой. Ремарка: в настройках системы 2 знака после запятой. Как считает OpenCart: стоимость товара в базе 0,48, налог 20%. 0,48 + 20% = 0,576 и тут, казалось бы в настройках два знака и нужно округлить, но система берет эти 0,576 умножает на 8 единиц товара (клиент заказывает 8 единиц товара) 0,576 * 8 = 4,608 и тут он округляет до 4,61. Выходит товар за 0,58 * 8 штук = 4,61, берем калькулятор 0,58*8=4,64. Решил это с помощью round до двух знаков в контроллерах карточки и налога и вроде всё ок, только остался заказ в просмотре админки и там все суммы, именно поле всего, когда товаров несколько сначала умножаются на налог и потом только округляются. Сам вопрос, вот массив из файла order.php, который выводит данные цифры, я думаю, что это данный массив <? 'price' => $this->currency->format($product['price'] + ($this->config->get('config_tax') ? $product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']), 'total' => $this->currency->format($product['total'] + ($this->config->get('config_tax') ? $product['tax'] * $product['quantity'] : 0), $order_info['currency_code'], $order_info['currency_value']), Так вот, как мне округлить стоимость товара после добавления налога до того, как просчитается сумма? Вставка round сюда не приносит результата, я так понимаю эта конструкция , format($product['price'] + ($this->config->get('config_tax') мне нужна. Саму функцию format файла curency смотрел, не то, куда копать? Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 15 квітня 2019 Share Опубліковано: 15 квітня 2019 Стоимость 1 товара: 0,48 Налог: 0,48 * 0,2 = 0,096 после округления 0,10 Стоимость 1 товара + налог: 0,48 + 0,10 = 0,58 Стоимость 8 товаров: 0,48 * 8 = 3,84 Налог: 3,84 * 0,2 = 0,768 после округления 0,77 Стоимость 8 товаров + налог: 3,84 + 0,77 = 4,61 Налог и наценка - разные понятия. Надіслати Поділитися на інших сайтах More sharing options... AndreyIvanov Опубліковано: 16 квітня 2019 Автор Share Опубліковано: 16 квітня 2019 Но так же неправильно. Единица товара стоит с налогом 0,58 (0,48*0,2=0,096, округлили 0,10+0,48=0,58), следовательно две единицы 0,58*2=1,16 Но, если считать две единицы сразу по вашему примеру 0,48*2=0,96, 0,96*0,2=0,192, после округления 0,19 и таким образом 0,96+0,19=1,15 Один товар стоит 0,58, а два 1,15 где тут логика? Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 16 квітня 2019 Share Опубліковано: 16 квітня 2019 Это правильно! Наценка рассчитывается на единицу товара Налог рассчитывается на сумму покупки и округляется отдельно от стоимости покупки потому что это не твои деньги. Надіслати Поділитися на інших сайтах More sharing options... AndreyIvanov Опубліковано: 16 квітня 2019 Автор Share Опубліковано: 16 квітня 2019 хм... ну если в таком ключе тогда в этом есть логика. Налог использовать для налога, а не для наценки, жалко, что в ОпенКарте нет наценки. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Как Опенкарт считает налог Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Yesvik Опубліковано: 15 квітня 2019 Share Опубліковано: 15 квітня 2019 Стоимость 1 товара: 0,48 Налог: 0,48 * 0,2 = 0,096 после округления 0,10 Стоимость 1 товара + налог: 0,48 + 0,10 = 0,58 Стоимость 8 товаров: 0,48 * 8 = 3,84 Налог: 3,84 * 0,2 = 0,768 после округления 0,77 Стоимость 8 товаров + налог: 3,84 + 0,77 = 4,61 Налог и наценка - разные понятия. Надіслати Поділитися на інших сайтах More sharing options... AndreyIvanov Опубліковано: 16 квітня 2019 Автор Share Опубліковано: 16 квітня 2019 Но так же неправильно. Единица товара стоит с налогом 0,58 (0,48*0,2=0,096, округлили 0,10+0,48=0,58), следовательно две единицы 0,58*2=1,16 Но, если считать две единицы сразу по вашему примеру 0,48*2=0,96, 0,96*0,2=0,192, после округления 0,19 и таким образом 0,96+0,19=1,15 Один товар стоит 0,58, а два 1,15 где тут логика? Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 16 квітня 2019 Share Опубліковано: 16 квітня 2019 Это правильно! Наценка рассчитывается на единицу товара Налог рассчитывается на сумму покупки и округляется отдельно от стоимости покупки потому что это не твои деньги. Надіслати Поділитися на інших сайтах More sharing options... AndreyIvanov Опубліковано: 16 квітня 2019 Автор Share Опубліковано: 16 квітня 2019 хм... ну если в таком ключе тогда в этом есть логика. Налог использовать для налога, а не для наценки, жалко, что в ОпенКарте нет наценки. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Как Опенкарт считает налог Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
AndreyIvanov Опубліковано: 16 квітня 2019 Автор Share Опубліковано: 16 квітня 2019 Но так же неправильно. Единица товара стоит с налогом 0,58 (0,48*0,2=0,096, округлили 0,10+0,48=0,58), следовательно две единицы 0,58*2=1,16 Но, если считать две единицы сразу по вашему примеру 0,48*2=0,96, 0,96*0,2=0,192, после округления 0,19 и таким образом 0,96+0,19=1,15 Один товар стоит 0,58, а два 1,15 где тут логика? Надіслати Поділитися на інших сайтах More sharing options... Yesvik Опубліковано: 16 квітня 2019 Share Опубліковано: 16 квітня 2019 Это правильно! Наценка рассчитывается на единицу товара Налог рассчитывается на сумму покупки и округляется отдельно от стоимости покупки потому что это не твои деньги. Надіслати Поділитися на інших сайтах More sharing options... AndreyIvanov Опубліковано: 16 квітня 2019 Автор Share Опубліковано: 16 квітня 2019 хм... ну если в таком ключе тогда в этом есть логика. Налог использовать для налога, а не для наценки, жалко, что в ОпенКарте нет наценки. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам Как Опенкарт считает налог
Yesvik Опубліковано: 16 квітня 2019 Share Опубліковано: 16 квітня 2019 Это правильно! Наценка рассчитывается на единицу товара Налог рассчитывается на сумму покупки и округляется отдельно от стоимости покупки потому что это не твои деньги. Надіслати Поділитися на інших сайтах More sharing options... AndreyIvanov Опубліковано: 16 квітня 2019 Автор Share Опубліковано: 16 квітня 2019 хм... ну если в таком ключе тогда в этом есть логика. Налог использовать для налога, а не для наценки, жалко, что в ОпенКарте нет наценки. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
AndreyIvanov Опубліковано: 16 квітня 2019 Автор Share Опубліковано: 16 квітня 2019 хм... ну если в таком ключе тогда в этом есть логика. Налог использовать для налога, а не для наценки, жалко, что в ОпенКарте нет наценки. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts