После обновления фреймворк и shop-script не убрать 01 копейку Исправлено

25

"В последнем обновлении изменения размера скидок продиктовано необходимостью правильной фискализации по ФЗ-54 - скидка, назначенная на весь заказ, распределяется по товарным позициям. В случае когда не удаётся её равномерно распределить, возникают копейки."  - и теперь редактируя скидку в заказе не убрать, например, 01 копейку, из-за чего итоговая сумма заказа может быть 12650 руб 99 копеек. Нашим покупателям и нам неудобно иметь дело с копейками. Пытаемся избавиться от копеек при помощи плагина Гибкие скидки, в настройках которого ставим галочку округлять в большую сторону. В итоге копейки убираются, но при округлении от суммы скидки которая была изначально 765.01 копейки, съедаются от нас 35 рублей, т.е. округлилось до 800 руб. Что-то можно с этим сделать? Вручную 01 копейку никак не убрать, а дарить на каждый заказ по 35 руб невыгодно. Основная валюта рубли, цены в товарах конвертируются по внутреннему курсу сайта из иностранной валюты в рубли.

25 комментариев

  • +6
    Worker Worker 5 апреля 2020 06:42 #

    Что за идиотизм... кому вообще в голову пришло выкатить такое обновление? В который раз убеждаемся, что разработчики не понимают, что действительно нужно владельцам интернет-магазинов.

  • +5
    Yeoja.Market Yeoja.Market 23 марта 2020 16:56 #

    только что тоже самое спросил в тп, ответ такой же, надеюсь можно будет для ИП поправить в php пока уточняю как, будем благодарны если кто знает...

    Представляю лица работников в пунктах самовывоза которым надо с копейками работать, и лица покупателей у постамата, когда надо будет за любой заказ возвращать деньги на телефон или на счет яндекс денег. Гипер не удобно!

  • +4
    Евгений Филатов Евгений Филатов 27 марта 2020 16:10 #

    Тоже после обновления, покупатели применяют скидку и всегда добавляется одна копейка к скидке, никак не убрать. В итоге общая сумма типа 4 414,99. Устали уже объяснять всем что это за копейка. Вручную округлить не можем(((

    • +2
      Yeoja.Market Yeoja.Market 27 марта 2020 16:12 #

      Пришел ответ от тп:

      Следует округлять скидку таким образом, чтобы она нацело поделилась на количество товаров в заказе. Тогда копейки не должны появляться.

      Такая логика добавлена в Shop-Script версии 8.9 — сожалеем, но простого способа изменить такое поведение не предусмотрено. Мы передали разработчикам сообщение о возникшей у вас проблеме.

    • +2
      Vladislav Vladislav 28 марта 2020 12:23 #

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

    • +2
      Плебей Плебей 27 марта 2020 20:01 #

      Это еще что. Вы попробуйте какой-то товар продать за 0 у.е. (валюта не важна), ну, как бы в подарок. В чеке будет "-0.01 у.е." ?

    • +2
      Iwan Iwan 6 апреля 2020 11:00 #

      Тоже вылезает одна копейка в скидке, указанной вручную. 

      ВРУЧНУЮ, Карл!!

      Никак ее не убрать.

    • +2

      Мы выпустили обновление Shop-Script, в котором добавили разные возможности корректировки скидок в заказах. Обновление можно установить в «Инсталлере».

      Проверьте, пожалуйста. Сообщите нам, если возникнут трудности при использовании новой функции.

      • +1
        Nail Nail 29 июня 2020 12:33 #

        Теперь если скидка больше стоимости заказа(без учета доставки) - то невозможно в бэкенде сохранить заказ:

        Невозможно сохранить заказ с указанной скидкой. Выключите округление для скидок или измените настройку округления валюты, чтобы скидка стала меньше цены заказанного товара, либо разрешите разбиение позиций заказа в настройках валют.

        А часто надо сделать скидку на всю стоимость с учетом доставки.

        • +2

          О разных ошибках сообщайте, пожалуйста, в отдельных темах на форуме поддержки. Так их удобнее обрабатывать и обсуждать, если потребуется.

        • +1

          Если кто-нибудь использует Гибкие скидки, установите в плагине округление, а общее округление скидок в разделе Магазин - Настройки - Валюты отключите. 

          • +2
            Yeoja.Market Yeoja.Market 27 марта 2020 16:21 #

            Мы очень хотим использовать, нет ли скидок сезонных на покупку плагина?) Для постоянных покупателей?)

          • +2
            Vladislav Vladislav 28 марта 2020 12:16 #

            В настройках- Валюты не предусмотрено отключение округления для цен товаров и конвертации валют, даже не смотря на наличие только одной валюты

          • +2
            Worker Worker 5 апреля 2020 06:51 #

            У нас не заработало... в Валютах округление отключено для скидок, в настройках плагина "Гибкие скидки" пробовали разные значения округления.

          • +1

            Следует округлять скидку таким образом, чтобы она нацело поделилась на количество товаров в заказе. Тогда копейки не должны появляться.

            Округление не помогает совсем. В корзине 3 товара, скидка 7800 руб. (делится на 3). В итоге всё-равно добавляется копейка.

            Более того редактируя скидку в бекенде получаем вообще вот такую картину, скидка увеличивается на 1 коп каждый раз при редактировании суммы скидки.

            • +1

              P.S. Отредактировать уже не могу.. С увеличением скидки я, конечно, загнул.

              Но, при 3-х товарах последовательно редактируя скидку на 1 руб всегда добавлялась копейка:

              7800 => 7800.01

              7801 => 7801.01

              7802 => 7802.01

              7803 => 7803.01

              7804 => 7804.01

              7805 => 7805.01

              7806 => 7806.01

            • +1

              Итак, если я правильно понял задумку разработчиков, то они упустили в файле wa-apps/shop/lib/classes/shopDiscounts.class.php остановить распределение копеек, если все уже распределились.

              Решается добавлением кода

              if(!$order_discount_cents) {
                  break;
              }

              Перед закрывающей скобкой цикла foreach примерно в районе 777 (как иронично) строки. Скриншот:

              https://monosnap.com/direct/0y...

            • +1
              replicant replicant 6 апреля 2020 11:54 #

              Не претендуя на оригинальность просто озвучу какие-то свои мысли.

              От копеек избавиться достаточно просто через конфиг currency.php выставив там precision => 0 для вашей валюты, чтобы вовсе отключить копейки везде. В настройках валют поставить при этом режим "Не округлять" (без конфига этот режим недоступен). И тогда после этого можно будет продать товар за 0 рублей без проблем и вообще нигде копеейка не вылезет.

              Проблема в том, что такой режим работы подойдет не всем и кому-то эти копейки не нужны в ценах, но процентные скидки их требуют для точности.

              Новая логика распределения предполагает сумму скидки кратную кол-ву товаров в заказе. Поэтому сумма скидки должна будет делиться нацело на кол-во товаров. И будет корректироваться системой по-умолчанию в большую сторону, если попадает не на деление нацело.

              Допустим у меня в заказе 9 товаров (сумма заказа при этом совершенно не важна). Если я хочу поставить скидку в 5 рублей, то получу округление до 9. Следующая скидка может быть 18 рублей, потом 27 рублей и т.д.

              Если товаров в заказе скажем 115 штук, то беда. Шаг скидки будет 115 рублей (115, 230, 345 и т.д.).

              Со скидкой в % от суммы заказа будут сложности. Сумма вычисленных % будет меняться в большую сторону, что, как правило, обозначает минус для продавца.

              Допустим 10% скидка от заказа на сумму 2000 рублей при 65 товарах составит 200 рублей, но 200 не делится нацело на 65 и пофигу что эти 65 товаров могут быть хоть все одного вида, хоть все разные по 1 шт, т.к. возможные значения 65, 130, 195 и 260 рублей.

              В итоге при скидке в 10% от заказа в 2000 рублей продавец не получит 60 рублей, т.к. клиент заплатит не 1800, а 1740 рублей. При другом числе товаров, но при такой же общей стоимости заказа итоговые суммы недополученных денег могут быть даже больше.

              И для таких ситуаций приходится сохранять копейки как ни крути, но это приводит к неудобству в расчетах. Если в супермаркетах суммы округляют налету продавцы и ты платишь как правило что-то ровное кратное рублям, то при расчетах в постаматах или картой онлайн возникает какое-то неудобство.

              Пара знакомых, торгующие мелочевкой в больших кол-вах (бывает до 1000 позиций в заказе) выкручиваются перенося сумму скидки в цену каких-нибудь позиций заказа, что неудобно, но позволяет не оперировать копейками и задавать скидки вручную более точно. Процентные скидки они вынуждены были отменить как класс вообще совсем. Работать стало невозможно.

              Чем меньше товарных позиций в среднем заказе, тем точнее у вас будет работать система скидок в любых её вариантах хоть в %, хоть в рублях.

              Спасибо за чудесный ФЗ-54 конечно же, но нужен какой-то корректирующий алгоритм, вводящий "недостающий контрольный неполный" рубль в ту или иную сторону, чтобы убрать возникающие копейки по итогу и/или скидке.

            • +1
              Vasya2 Vasya2 27 апреля 2020 08:01 #

              как исправить? обновились и теперь эта копейка не дает нормально работать....

              • +1
                Vaslav Vaslav 28 апреля 2020 05:40 #

                Указанный выше (Алексей Webasyst 6 апреля 2020 21:59) бесплатный плагин решает проблему.

                Это не совсем очевидно, но в данном плагине нужно установить точность 4. Тогда при выставлении ручной скидки в заказе и включенном округлении в настройках валют магазина, всё работает корректно - копейки не вылезают.

                Добавить комментарий

                Чтобы добавить комментарий, зарегистрируйтесь или войдите