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 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Форум Підтримка та відповіді на запитання. Допомога програмістам та розробникам Как Опенкарт считает налог OpenCartForum Форум Модулі Шаблони Безкоштовні шаблониПлатні шаблони Блоги Новини ocStore Офіційний сайтДемо ocStore 3.0.3.2Демо ocStore 2.3.0.2.4Завантажити ocStoreДокументаціяІсторія версій ocStore Гість Українська Русский English Уже зареєстровані? Ввійти Реєстрація × Створити... 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 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Форум Підтримка та відповіді на запитання. Допомога програмістам та розробникам Как Опенкарт считает налог
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