0 Пользователей и 1 Гость просматривают эту тему.
  • 34 Ответов
  • 893 Просмотров
*

TYMON

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
Здравствуйте. В работе интернет-магазина сделанного на JoomShopping Version 4.6.0 были обнаружена следующая проблема: при выгрузке товаров из 1С в базу данных невозможно оформить заказ из корзины, так как пишет что количество товара равно 0.

Описываю проблему пошагово:

1. Покупатель добавляет/откладывает себе в корзину товар, и сразу не делает оформление заказа.
2. Ночью происходит выгрузка товаров из 1С.
3. На следующий день покупатель логинится, заходит в корзину (товары хранятся с помощью аддона JoomShopping Addon Save Cart), а вчерашние товары при этом отображены, и пытается оформить заказ
4. Система выдает ошибку, указывая на то что количество товара равно 0.

Я понимаю, что это происходит, потому что выгрузка из 1С в базу данных, которая была сделана сторонним человеком следующим образом: все товары удаляются, а затем просто добавляются заново, все те, что есть в 1С.
Таким образом, у товаров меняется product_id и соответственно при проверке на количество система выдает ошибку.
Поля, которые наполняются:
product_id - счетчик, формируется сам
product_ean - артикул
name_ru_Ru - имя товара
product_manufactered_id - внешний ключ к полю manufactered_id  таблицы  wovy1_jshopping_manufacturers
product_quantity - количество товара
product_price - цена товара
description_ru_Ru - альтернативный артикул товара
short_description_ru_Ru - клон артикула товара
и добавили поле odins (VARCHAR) - для выгрузки уникального номера товара по номенклатуре 1С

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

Я так понимаю, что логично сделать сравнение количества товара при оформлении заказа по полю odins, но вот реализовать это стало для меня проблемой. В таблице jshopping_cart_for_user данные хранятся в таком виде 
Код
a:1:{i:0;a:19:{s:8:"quantity";i:1;s:10:"product_id";i:1163439;s:11:"category_id";s:1:"1";s:3:"tax";N;s:6:"tax_id";s:1:"0";s:12:"product_name";s:29:"Фильтр салонный";s:11:"thumb_image";s:7:"thumb_"";s:17:"delivery_times_id";s:1:"0";s:3:"ean";s:10:"8888020110";s:10:"attributes";s:6:"a:0:{}";s:16:"attributes_value";a:0:{}s:12:"extra_fields";a:0:{}s:6:"weight";s:6:"0.0000";s:9:"vendor_id";s:1:"1";s:5:"files";s:6:"a:0:{}";s:14:"freeattributes";s:6:"a:0:{}";s:12:"manufacturer";s:12:"TOYOTA.LEXUS";s:19:"pid_check_qty_value";s:9:"P:1163439";s:5:"price";d:0;}}

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

dmitry_stas

  • Легенда
  • 12278
  • 1164 / 7
в смысле удаляются product_id? это что у вас за выгрузка такая, которая удаляет полностью товары, а не обновляет их? у вас так вообще все связи теряются, не только корзины. заказы например совершенные ранее, и другое. вам надо менять логику выгрузки, а не логику магазина.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

TYMON

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
Цитировать
По логике, конечно необходимо, нормально делать апдейт, если товар существует, то обновляем его данные, если нет, то добавляем новый. Но почему-то разработчик сделал именно так как описано выше, а заказчик требует от меня, что-то с этим сделать. Связаться с человеком, и попросить его сделать нормальную выгрузку на сегодняшний день не имеется возможности.

я это понимаю и написал об этом, но вот нет у меня доступа к 1С,  а в рамках функций сайта, которые необходимы, всё остальное работает нормально, в том числе и заказы
« Последнее редактирование: 17.07.2018, 11:36:47 от TYMON »
*

dmitry_stas

  • Легенда
  • 12278
  • 1164 / 7
но просто других решений нормальных не будет, вот в чем вопрос...
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

TYMON

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
нормально, не нормально, лишь бы работало ^-^
*

dmitry_stas

  • Легенда
  • 12278
  • 1164 / 7
ну ок, как угодно :) но я в разработке костылей не участвую, сори, времени жалко :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

TYMON

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
Тема закрыта, нашелся человек, который переделает выгрузку из 1С:)
*

TYMON

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
Сделали выгрузку теперь не средством удаления, а обновлением существующих и добавлением новых.

Стала вот такая проблема: теперь в корзине товар есть и его можно оформить, но цена обновляется только если нажать на кнопку обновления товара.

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

Может кто знает какие-то варианты решения проблемы?
*

ProtectYourSite

  • Завсегдатай
  • 1736
  • 97 / 4
  • Безопасность вебсайтов
*

dmitry_stas

  • Легенда
  • 12278
  • 1164 / 7
честно говоря не очень понял проблему. цена обновится если перейти к оформлению. или если пересчитать товары, да. но как оно может само обновится если юзер зашел на страницу корзины и сидит там, а вы в этот момент цену поменяли - не очень понятно честно говоря. никак наверное :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

TYMON

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
Не обновится цена после оформления заказа, и придет со старой ценой
« Последнее редактирование: 27.09.2018, 13:35:17 от TYMON »
*

nevigen

  • Moderator
  • 9579
  • 822 / 17
  • http://n*****n.com
ниче не понятно.
вы импортировали новые цены
на стайте в товарах показывает новые цены а в корзине старые ? :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

TYMON

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
ниче не понятно.
вы импортировали новые цены
на стайте в товарах показывает новые цены а в корзине старые ? :)


Да, именно так, при условии если товар в корзине был до этого
*

nevigen

  • Moderator
  • 9579
  • 822 / 17
  • http://n*****n.com
так и будет.
корзина сохраняет товары и цены когда добавили.
только когда будет изменятся что-то в корзине. будет пересчет в корзине.
как мин/макс кол-ва так и цен.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

TYMON

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
Моделирую ситуацию ещё раз

1. Пользователь положил товар в корзину
2. Произошло обновление цен
3. Цена в корзине пользователя не поменялась - он оформляет заказ со старой ценой

Цена в корзине обновляется только в том случае, если нажать "Обновить" возле количества товара
*

ProtectYourSite

  • Завсегдатай
  • 1736
  • 97 / 4
  • Безопасность вебсайтов
Думаю это баг аддона JoomShopping Addon Save Cart - надо писать разработчикам, чтобы исправили, у меня аналогичная проблема(
*

TYMON

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
Думаю это баг аддона JoomShopping Addon Save Cart - надо писать разработчикам, чтобы исправили, у меня аналогичная проблема(

Я этот аддон отключал в первую очередь, все равно тоже самое
*

nevigen

  • Moderator
  • 9579
  • 822 / 17
  • http://n*****n.com
Моделирую ситуацию ещё раз

1. Пользователь положил товар в корзину
2. Произошло обновление цен
3. Цена в корзине пользователя не поменялась - он оформляет заказ со старой ценой

Цена в корзине обновляется только в том случае, если нажать "Обновить" возле количества товара
а что должно произойти ? человек к корзине.
ему .... что вы там делаете :) может даже обновили кол-во и товара уже нет :)
но пока не изменится что либо на странице и она не перегрузится никаких изменений не будет.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

ProtectYourSite

  • Завсегдатай
  • 1736
  • 97 / 4
  • Безопасность вебсайтов
так и будет.
корзина сохраняет товары и цены когда добавили.
только когда будет изменятся что-то в корзине. будет пересчет в корзине.

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

dmitry_stas

  • Легенда
  • 12278
  • 1164 / 7
Не обновится цена после оформления заказа, и придет со старой ценой
нет, когда переходишь на оформление заказа из корзины цена будет пересчитана
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

TYMON

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
а что должно произойти ? человек к корзине.
ему .... что вы там делаете :) может даже обновили кол-во и товара уже нет :)
но пока не изменится что либо на странице и она не перегрузится никаких изменений не будет.


Так зато продавцу не ... что цена увеличилась на определенный товар. По этому я и спрашиваю, есть ли возможно какое-то решение. Хотя бы если бы при оформлении товара цена менялась, можно было предупредить "Внимание цена на товар изменилась" или что-то такое
*

dmitry_stas

  • Легенда
  • 12278
  • 1164 / 7
Хотя бы если бы при оформлении товара цена менялась
это и так проихсодит
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ProtectYourSite

  • Завсегдатай
  • 1736
  • 97 / 4
  • Безопасность вебсайтов
нет, когда переходишь на оформление заказа из корзины цена будет пересчитана
Как потребителю считаю такой вариант неудобный, а даже и вводящий в заблуждение, как минимум должно быть предупреждение, что цены изменились, перепроверьте и согласитесь. Но это надо допиливать функционал.
*

dmitry_stas

  • Легенда
  • 12278
  • 1164 / 7
как минимум должно быть предупреждение, что цены изменились
верно, я согласен. но исходя из того, что в стандартном варианте вообще нет такого понятия как Сохраненная корзина, и предполагается что юзер положил товар в корзину и оформил заказ, то такой ситуации стандартно и не происходит наверное никогда. а поскольку стоит какой то дополнительный аддон, который позволяет сохранять корзину - то и выводы соответствующие :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ProtectYourSite

  • Завсегдатай
  • 1736
  • 97 / 4
  • Безопасность вебсайтов
По идее при пересчёте можно сравнить финальную сумму и предыдущую и вывести предупреждение. Остаётся найти триггер и можно писать плагин.
*

TYMON

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
А может есть какой-то готовый плагин для динамического обновления корзины? без перезагрузки страницы, или кто-то знает как это сделать?
*

dmitry_stas

  • Легенда
  • 12278
  • 1164 / 7
плагин для динамического обновления корзины? без перезагрузки страницы
честно говоря мне сложно даже представить, как это должно выглядеть. аяксом что ли делать периодические (скажем раз в 10 секунд) запросы на сервер, или что имеется в виду? как то это похоже на ненормальность... :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

TYMON

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
Имел в виду динамическое обновление после нажатия кнопки Обновить, которая возле поля количества товара
*

nevigen

  • Moderator
  • 9579
  • 822 / 17
  • http://n*****n.com
Имел в виду динамическое обновление после нажатия кнопки Обновить, которая возле поля количества товара
Цена в корзине обновляется только в том случае, если нажать "Обновить" возле количества товара
что не так ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

TYMON

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
что не так ?

страница перезагружается и это нормально, но хотелось бы чтобы не перезагружалась
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести данные Продавца в карточку товара

Автор Netman_avs

Ответов: 7
Просмотров: 707
Последний ответ 16.12.2018, 19:24:48
от kit2m2
Как вывести дату добавления товара?

Автор djdim

Ответов: 16
Просмотров: 1417
Последний ответ 11.12.2018, 13:06:48
от dmitry_stas
Количество товара кнопками - И + В JoomShopping to NEVIGEN

Автор konsty

Ответов: 13
Просмотров: 1491
Последний ответ 26.11.2018, 11:51:48
от intcorp
Вывести все товары категории в карточке товара

Автор v-v

Ответов: 59
Просмотров: 5765
Последний ответ 19.11.2018, 20:09:24
от Argawa
Переадресовывает на главную после авторизации в магазине

Автор RexNebular

Ответов: 19
Просмотров: 1684
Последний ответ 13.11.2018, 22:22:36
от WinnieAlex