Shop-script + 1С (CommerceML) логика ценообразований Не принято

0

Суть проблемы: Неправильная логика вывода цен на витрине при использовании модуля обмена с 1с. Сейчас объясню.
Имеем:
1с УТ 11.4.5 и 3 типа цена в ней (Закуп RUB, Акция RUB, Сайт RUB) с типовым модулем обмена с сайтом
1с платформа 8,3,11
Shop-Scrip с модулем обмена 1С (CommerceML) (который умеет только 3 типа цен сопоставлять с шопскриптом(закуп,зачеркнутая,розничная))
Проблема в том, что Розничная(Сайт RUB) цена (например 1000руб) на товары есть практически всегда и у всех и она грузится на сайт и отображается без скидок все ок, далее допустим поставщик устраивает акцию на товар и дает скидку (200руб), соответственно мы начинаем транслировать скидку клиенту для его привлечения и хотим на сайте выводить 800руб -> в 1с ставим 800руб используя тип цены Акция RUB. Так как я уже говорил плагин обмена со стороны сайта умеет только 3 цены выгружать и мы ранее выгружая сопоставили поля вот так (со стороны сайта в плагине/тип цены со стороны 1с):
1) цена/Сайт RUB
2) Закупочная/Закуп RUB
3)?

Далее прописав цены по акции в 1с мы начинаем выгружать на сайт и сталкиваемся с тем, что непонятно куда ее пихать в модуле обмена, т.к. если мы сопоставим последний и оставшийся тип цены в плагине, то у нас получится 3) Зачеркнутая/Акция RUB и в итоге получится полный бред и сайт не выведет цену акционную на витрину т.к. зачеркнутая ниже розничной, но отобразит в раздели акции и внимание! с розничной ценой!

Местами менять выгрузку цен тоже не вариант, т.к. слетят все цены на товары кроме акционных 

Как я считаю, логика должна быть следующей: Грубо говоря, зачеркнутая(1000руб) у нас становится розничной и выводится на витрину не зачеркнутой при условии если нет других типов цен в карточке товара и они равны 0, если появляется цена которая меньше цены зачеркнутой к примеру(800руб), зачеркнутая становится зачеркнутой и основной ценой становится стоимость которая ниже, например это 800руб.
В текущем варианте реализации, это является полным бредом, если вы выполняете обмен с 1с и не используете все цены со скидкой на все товары в вашем магазине.

3 комментария

  • +1
    Михаил Ушенин Михаил Ушенин Webasyst 2 августа 2018 10:07 #

    В Shop-Script нет типа цен "акционная". Для покупки товара может использоваться только основная цена артикула. Это значит, что из "1С" вы должны импортировать ту цену, которую вы называете акционной. Чтобы не "слетели" цены других товаров, когда при обмене данными вы сопоставляете акционную цену "1С" с основной ценой Shop-Script, придётся для всех остальных, неакционных товаров в каталоге прописать акционную цену, равную обычной розничной цене. Фактически все товары станут как бы "акционными", только у некоторых "скидка" будет равна 0 (акционная цена равна основной), а у других скидка будет больше 0 (акционная цена меньше основной).

    • +1
      Igorh Igorh 2 августа 2018 11:21 #

      Да, но это костыль, который требует двойной работы по расценке номенклатуры.

      По моему логика должна быть следующая:

      Розничная R=1000, если зачеркнутая(переименовать в "акция") Z!=0 и <R, то выводим Z как основную цену, а R зачеркиваем.

      или

      изначально грузим как Z=1000 и выводим как основную(даже при условии что R=0), если R!=0 и <Z, то выводим R как основную цену, а Z зачеркиваем

      В таком случае, будет гораздо проще и удобней.

      И говоря о модуле обмена 1С (CommerceML), нужна опция которая которая не будет обновлять цену на сайте если в выгрузке она валится с нолем. Например: есть товар с ценой 1000р., в выгрузке уже он стоит 0, так вот чтобы после обработки цена 1000р оставалась а не перезаписывалась.

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

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