Хорошая тема. Любые вопросы по CS-Cart и не только

Коллеги, приветствую!

Подскажите откуда тянутся статусы заказов На удержании (On hold) индекс A и Возвращено (Refunded) индекс E?

Отредактировал под себя статусы, но зашел через некоторое время и два этих вернули название почему-то

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

у меня просто на одном сайте есть онлайн, эти статусы изменены и все нормально, а поменял на другом сайте , где нету оплаты, и они в итоге сменились

Понял. Может после обновления какого нибудь?

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

спасибо за помощь

1 лайк

Тут где то обсуждали про быстрое меню в 4.18.
Оказывается если в конфиге поставить
$config[‘enable_quick_menu’] = true;

То оно появлвяется.
Вдруг кому пригодится.

6 лайков

почему-то не захотел mysql соображать с заменой текста

“orders_exporter.export_from_order_id”:“новый_номер_заказа”,

а вот если просто цифры, то работало)

сделал одним запросом, чтобы из данных доставался текущий номер заказа, с которого выгружается в 1с, и заменялся на нужный (последний заказ - 30)

UPDATE cscart_sync_data_settings AS sd SET sd.settings_data = REPLACE(sd.settings_data, (SELECT * FROM (SELECT SUBSTRING_INDEX((SELECT SUBSTRING_INDEX(t1.settings_data, ‘orders_exporter.export_from_order_id":"’, -1) FROM cscart_sync_data_settings as t1 WHERE t1.company_id = 1), ‘","orders_exporter.export_order_statuses’, 1) FROM cscart_sync_data_settings as t2 WHERE t2.company_id = 1) as sd2), (SELECT order_id FROM cscart_orders ORDER BY order_id DESC LIMIT 1) - (SELECT order_id FROM cscart_orders WHERE order_id = 30 ORDER BY order_id)) WHERE sd.company_id = 1

число заказов в обмене регулируется тут, но нужно, чтобы в бд был заказ с таким id

WHERE order_id = 30

это работает для нового модуля commerceml

а для старого работал такой запрос, номер заказа по такому же принципу, только нужно узнать свой object_id, можно поставить условные 99999999 в настройках модуля, и поиском по бд отыскать в таблице cscart_settings_vendor_values

UPDATE cscart_settings_vendor_values SET value=(SELECT order_id FROM cscart_orders ORDER BY order_id DESC LIMIT 1)-(SELECT order_id FROM cscart_orders WHERE order_id=30 ORDER BY order_id) WHERE object_id=6318

может кому пригодиться)

2 лайка

Коллеги, подскажите кто как решает такое или может модуль какой есть уже.
Надо статистику сколько дней уже остаток товара равен нулю.

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

В стандартном функционале такого не сделать. Есть дата последнего доступа/редактирования, но изменение количества сюда не относится. Можно добавить поле в таблицу товара, timestamp даты изменения количества. Прицепится к хуку функции fn_change_order_status и заносить метку времени, если изменяется количество. Тогда можно будет искать товары по условию, если amount=0 и TIME больше значения в этом поле на определённое значение.

1 лайк

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

1 лайк

Кстати да, я так делал себе табличку товаров, которые не продавались больше года, больше двух лет, больше трех лет и которые вообще не продавались.

1 лайк

Спасибо за подсказки.

Мне не важно были ли товары они в заказах или нет. А важно как давно были они именно в наличии.

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

Думаю это самое простое решение, учитывая что отловить какой то импорт или ручное изменение остатков наверное сложнее, чем колонку с остатком в БД проверить по расписанию.

Ну и чтобы в Расширенном поиске товаров можно было фильтровать дату последнего обновления остатков.
И чтобы в самом товаре это поле отображалось.

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

1 лайк

Кстати да, забыл про эту функцию (change_amount), и если нет костылей которые пишут напрямую в базу количество - то один хук к этой функции решает вопрос без крона (просто стараюсь, если есть реальная возможность обойтись без крона - обойтись без крона)

Мне лижбы работало и баксов за 50. Хоть с кроном, хоть без.

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

О да! :face_with_spiral_eyes:

Раскидаю по всему форуму, т.к. кто юзает склады очень ждет этой новости ))

1 лайк

Добрый день. Я бы купил за любые деньги, но дело в том, что AB не оказывает никакие доработки российским пользователям, только техподдержку по их модулям и теме, если там какая-то проблема выявлена (и за это спасибо).
Так что в чём ваша новость?)) Что вам сделали и вы радуетесь?)) Ну ок)

Да ладно? Я не знал…

Да, я в курсе. Тут же не только из рф пользователи.
Предлагал АБ может модулем сделать, но это не возможно говорят. Там прям в коде.
А новость моя для тех у кого есть такая возможность и для Картовцев, может таки задумаются, свяжутся с АБ и внедрят в коробку.
И самое важное - много лет говорили, что это гиперсложная доработка, которая может многое поломать и вообще даже браться никто не хотел за ускорение складов. А оказывается это вполне реально и недорого.

Если в ядре править - то конечно можно, вам про это говорили. А вот както обойти модулем - мертвый номер (не стоит усилий).