Менять статусы открытых заказов по крону

Есть проблема, которую уже здесь описывал:

Пришла в голову идея, что надо сделать так, чтобы заказы со статусом “Открыт” могли в таком статусе находить только, например, 3 дня. Потом, если не меняет на другой статус (на статус “Оплачен”, например), то дальше автоматом должен меняться на статус “Отменен”, например.
Готового модуля не нашёл такого. Не подскажете, может есть какой-то, который что-то подобное может делать? Или доработать слегка существующий какой-нибудь.

1 лайк

Суть этих дияний какая или менять статусы автоматически, это такой прикол?

Статусы для заказа нужны в бизнес логике, на статусы завязана жизнь заказа. Если вы будете принимать оплату то вы денежку замораживаете и только после подтверждения наличия товара списываете. На скрине службы доставки которые мы используем и примеры их ответов, это все удовольствие выстраивается в экосистему взаимодействия работы с покупателем, продавцом, СД (службой доставки), платежными модулями, уведомлениями, смс воцап телеграмм рассылка и ТД. Вы же наверняка похожим образом все делаете?

Подобный модуль нам делали. Могу архив скинуть, но вам настраивать это придется самостоятельно.

Простите, но если Вы не понимаете чье-то логики, это не значит, что та неверна. Людям нужно именно так. Если можете помочь, помогайте.

Или у Вас на форуме другая задача? :frowning:

4 лайка

Я задал вопрос и привел пример применения функционала. До логики еще даже не добрались.
Давайте для начала ответ увидим, а после будете мнение по Вашей логике приводить.

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

7 лайков

Мы готовое решение не встречали с таким функционалом

Можно сделать, только скажите, это будет распространяться на все заказы со статусом Открыт, или только на какие-то определенные? И второй вопрос, это касается только статуса Открыт, или подобные правила могут возлагаться и на другие статусы? Второе усложнит разработку, так как надо будет логировать временные метки смены статуса или обязать установку модуля истории заказа.

1 лайк

Логика может быть простой или сложной.

К примеру одиночное сапостааление статусов и множественное.

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

Для сборки заказа раализовыволи другую логику смены статуса по работам над заказом. Но боль не в этом, магазины на CS-Cart ограничены в количестве статусов которые сможет создать, количеством букв английского алфавита. Было бы неплохо задавать три буквы, а не одну как сейчас.

Суть в том, что когда клиент создаёт заказ со способом оплаты “Оплата по счёту” (для юр.лиц), он получает статус “Открыт” и товар на складе под этот заказ в cs-cart уже списывается/резрвируется, т.е. попросту уменьшается на складе.
Клиент при этом счёт может так и не оплатить, заказ так и останется висеть “открытым” и количество товара на склад не вернётся.
Поэтому я и хочу, чтобы такие заказы отменялись по прошествии небольшого времени жизни.

Когда нам просто заказчик пишет на почту, то мы выставляем счёт, в нём указано, что срок действия счёта 3 дня. В этой логике было бы отлично сделать и в cs-cart.

1 лайк

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

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

Условие: Если выбран способ оплаты Обсудить по телефону и статус заказа изменился на один из выбранных, то поменяй на “Аннулирован”. Сюда конечно можно добавить крон и временные периоды на жизнь статуса.

Мы этот функционал изначально делали как рекуррентный для создания заказа по счету, но у нас и у наших клиентов не 1С генерирует счет, а модуль “Договор”. Он сам отправляет Договор или Договор-Счет в зависимости от выбранного способа оплаты. Вот и не хватало логики повторных платежей по счету.

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

Из последнего мы делали обработку по переводу неоплаченных заказов в статус отмены, логика у клиента примерно как у вас была.

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

1 лайк

Что за обработка? Обработка - это модуль или как это установить на сайт? В принципе, мне не особо важно, главное, чтобы это решение работало, не слетало при обновлениях cs-cart и я могу при необходимости какие-то минимальные настройки/изменения в нём делать (менять кол-во дней жизни открытого заказа, например) или вообще при необходимости отключить.

Не знаю, насчёт специфичиности. Я, конечно, понимаю, что интернет-магазины в большинстве своём это b2c решения, заточенные на частников, где нет понятия счёт на оплату: ты либо оплачиваешь здесь и сейчас, либо идёшь мимо и никакой заказ не создаётся.
Но как тут на cs-cart работают b2b продавцы не понимаю: всё, что связано с нормальным выставлением счёта, резервированием/нерезервированием товара (как у меня сейчас), приходится дорабатывать кастомом. Но ведь я не один тут юр.лицам продаю, наверняка тоже достаточно b2b продавцов. Поэтому, мой запрос, мне кажется, должен быть актуален для таких продавцов.

2 лайка

Как вы правильно подметили в b2b как и в b2c много своих особенностей котрые не берутся решать в дефолте. Бизнес в b2b очень сильно сильно консервативен и убедить, что будет удобнее, да по другому, это не хуже, это по другому. Бизнес на эти доводы говорит, мы так работаем давно и менять не нужно, и ещё 100500 отмазок для себя придумает. Взгляните на банковскую систему Европы и сравните с Российской. Мы не знаем где ближайшие отделение банка находится, да и вообще есть в вашем городе, но вы при этом легко работаем с банком через приложение, а там для открытия счета надо две недели в очередях. Просто не готовы менять то к чему привыкли.

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

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

Приложение для автоматизации мы тоже делаем, но больше отталкиваемся от задачи решения для маркетплейсов, там требуется всегда прорабатывать больше логики.
К примеру: необходимо менять статус заказа и с СЧЁТ ОТПРАВЛЕНО на ПОДТВЕРДИТЕ ПОЛУЧЕНИЕ ДЕНЕГ по истечении пяти рабочих дней склада продавца и с учётом часового пояса в котором находится склад продавца, но если действий не было, то уведомить администратора маркетплейса.

Это модуль / крон скрипт. Настройки можем добавить.

Чаще всего все упирается в настройку бизнес логики под каждого клиента, в готовый продукт такое не упаковать.