sano4kin Posted October 28, 2021 Share Posted October 28, 2021 Приветствую, форумчане! Очень надеюсь на вашу помощь. Столкнулся с проблемой. Заказы приходят со статусом "Пропавшие заказы". И при этом, если "нырнуть" в заказ, то там будет отображаться статус "Завершен". Объясню ситуацию. Ставил модуль оплаты картой PayKeeper, и он (модуль) должен был менять статус заказа после оплаты на "Оплачен", но этого не происходило. Я поковырялся в настройках движка, удалил лишние статусы. После этого все заказы приходят "Пропавшими". Я погуглил всю эту тему в интернете - у всех просто не видно такие заказы. У меня они видны, но косяк со статусом. Теперь чтобы я не менял в настройках, что касается статусов, ничего не помогает. Также пробовал выключать модули Simple, PayKeeper. Ума не приложу куда копать... Link to comment Share on other sites More sharing options...
ashap Posted October 28, 2021 Share Posted October 28, 2021 вы еще не делаете бэкапы?) может у хостера есть Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 6 минут назад, ashap сказал: вы еще не делаете бэкапы?) может у хостера есть Да тут не в бэкапе дело))) Коль такая проблема возникла сейчас, она может и возникнуть потом. Соответственно, зло надо искоренить) Link to comment Share on other sites More sharing options... bogdan281989 Posted October 28, 2021 Share Posted October 28, 2021 7 минут назад, sano4kin сказал: Да тут не в бэкапе дело))) Коль такая проблема возникла сейчас, она может и возникнуть потом. Соответственно, зло надо искоренить) У вас в статусах есть статус "Пропавший заказ"? Такого статуса нет, при фильтре по такому статусу просто выводятся заказы со статусом = 0 Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 смотрите id статуса в базе какой , таблица order Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 20 минут назад, bogdan281989 сказал: У вас в статусах есть статус "Пропавший заказ"? Такого статуса нет, при фильтре по такому статусу просто выводятся заказы со статусом = 0 Скрин приложил. Посмотрите. Да, по факту такого статуса нет. Но тем не менее он отображается. Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 21 минуту назад, ashap сказал: смотрите id статуса в базе какой , таблица order Сейчас висят 3 заказа. У всех ID 1 Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 Только что, sano4kin сказал: Сейчас висят 3 заказа. У всех ID 1 ну так это нормальный статус зайдите в локализация - статусы заказов и переменуйте там пропавшие заказы в чтото нормальное (это не пропавший заказ) Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 4 минуты назад, ashap сказал: ну так это нормальный статус зайдите в локализация - статусы заказов и переменуйте там пропавшие заказы в чтото нормальное (это не пропавший заказ) В том-то и дело что такого статуса нет =) "Пропавшие заказы" отображаются только в списке заказов. Ниже видны все мои статусы. Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 а говорите дело не в бэкапе тут точно тогда кто-то что-то наковырял) Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 Только что, ashap сказал: а говорите дело не в бэкапе тут точно ктото чтото наковырял) Кроме меня некому ковырять. А я ничего криминального не делал. =) Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке может модификаторы какие вносят правки, поотключайте их, проверяйте Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 28 минут назад, ashap сказал: смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке может модификаторы какие вносят правки, поотключайте их, проверяйте Модификаторы я уже отключал. Не в них дело. Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 24 минуты назад, ashap сказал: если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Протестировал на "Оплата при доставке". Заказ поступил со статусом "Завершен"... Интересно... Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... 1 Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 2 минуты назад, sano4kin сказал: Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... вы сообщение читали выше? Цитата то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 5 часов назад, ashap сказал: вы сообщение читали выше? Читал, но не сразу вчитался. Как я понял, надо выяснить кто или что все время ставит единицу в статус... Link to comment Share on other sites More sharing options... sano4kin Posted October 29, 2021 Author Share Posted October 29, 2021 Единицу ставил модуль Filterit Link to comment Share on other sites More sharing options... 2 weeks later... Artem9223 Posted November 8, 2021 Share Posted November 8, 2021 Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Link to comment Share on other sites More sharing options... sano4kin Posted November 8, 2021 Author Share Posted November 8, 2021 13 часов назад, Artem9223 сказал: Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Link to comment Share on other sites More sharing options... Artem9223 Posted November 9, 2021 Share Posted November 9, 2021 20 часов назад, sano4kin сказал: Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Здравствуйте! Спасибо за наводку. Отключил в плагинах оплаты пункт от яндекс go "Оплата при доставке" и оставил форму только от тинькова и всем заказам стал устанавливаться нужный статус без потерь. Спасибо). Link to comment Share on other sites More sharing options... 11 months later... fortoonas Posted November 1, 2022 Share Posted November 1, 2022 (edited) Кстати Да, если оплату не нужно принимать на сайте, то лучше использовать метод оплаты "Банковский перевод", этот метод не запускает скрипт "перехода к оплате". В фильтре отчета "Продажи-Заказы" добавили новую опцию "потерянные заказы". Если я не ошибаюсь то в старых версиях ОС, этой опции раньше не было, и приходилось эти так называемые "потерянные заказы" искать только в базе через запрос: "SELECT * FROM `oc_order` WHERE order_status_id = 0". Это в принципе тот же самый запрос который выполняет отчет "Продажи-Заказы" при выборе статуса "потерянные заказы" в фильтре. Как я уже сказал, "потерянные заказы" это заказы без статуса. То есть их статус это 0. Когда происходит подтверждение заказа клиентом (это когда клиент уже нажимает кнопку подтвердить заказ), система запускает скрипт controller/checkout/confirm.php. Этот скрипт создаёт запись в базе на заказ клиента со статусом 0. (то-есть на данный момент у этого заказа нет статуса, но он уже содержит имя клиента, адрес, сумму, продукты итд...) Затем запускается скрипт который отвечает за перевод денежных средств. Какой скрипт оплаты запустится системой ОС зависит от того какой тип оплаты был выбран клиентом при заказе. Эти скрипты хранятся в controller/payment/*.php. Когда скрипт получает сообщение о переводе денежных средств от системы оплаты (например PayPal или SagePay) то находит недавно созданную запись заказа в базе (без статуса) и даёт статус заказу в зависимости от полученного сообщения. Сообщение о переводе от системы оплаты может быть разное, например Отказано, Не удалось, в ожидании, Завершено, итд. Вот так вот выглядит скрипт оплаты через PayPal. Я подозреваю что периодически происходит какой-то сбой в скрипте оплаты. То есть возможно периодически он НЕ получает какое либо подтверждение от системы оплаты (даже если это метод "Оплата при доставке"), и в связи с этим не может дать статус заказу. Таким образом этот заказ остаётся без статусным (утерянным) для систему ОС. В таком случае скрипт даже не будет выдавать ошибку (но это уже зависит от того как он был написан). В принципе email клиенту тоже будет отправлен, что заказ был осуществлён. Какую систему оплаты используют ваши клиенты? Нужно посмотреть, что скрипт делает в случае если он НЕ получает сообщение от системы оплаты.https://forum.opencart.com/viewtopic.php?t=126001 Edited November 1, 2022 by fortoonas Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 3 Go to topic listing Similar Content Статусы заказа By strojremont, November 15, 2022 3 replies 318 views buslikdrev November 15, 2022 Массовое обновление статусов заказов By chukcha, July 27, 2016 заказ изменение статуса (and 1 more) Tagged with: заказ изменение статуса bulk order status 0 comments 8,264 views chukcha July 27, 2016 Автоматическое изменение статуса заказа и уведомление By chukcha, February 12, 2018 статус заказа изменение статуса заказа (and 4 more) Tagged with: статус заказа изменение статуса заказа изменеие статуса по времени письмо о смене статуса статус замовлення зміна стутусу замовлення 0 comments 14,049 views chukcha February 13, 2018 Количество товара при смене статуса заказа By lensmen, December 5, 2022 1 reply 156 views PaulKravchenko December 5, 2022 Модуль / скрипт для авто. перевода статуса заказа из Ошибочные заказы в Обрабатывается By dreemix, December 23, 2022 12 replies 234 views chukcha December 25, 2022 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: General questions Статус заказов "Пропавшие заказы" Покупателям Оплата дополнений физическими лицами Оплата дополнений юридическими лицами Политика возвратов Разработчикам Регламент размещения дополнений Регламент продаж и поддержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каталога дополнений Урегулирование споров по авторским правам Полезная информация Публичная оферта Политика возвратов Политика конфиденциальности Платежная политика Политика Передачи Персональных Данных Политика прозрачности Последние дополнения Chameleon - Responsive & Multipurpose Opencart Template + Quick Start By 29aleksey Wayforpay API оплата для Opencart 2.3, 3.x By bogdan281989 TgMarket - Модуль интернет магазина в телеграмме. By Rassol2 ShowCase – Responsive / Multipurpose Opencart Template By octemplates Telnotification By Yevhenii_7777 × Existing user? Sign In Sign Up Shopping section Back Purchased extensions Invoices Whishlist Alternative Contacts Forums News ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 6 минут назад, ashap сказал: вы еще не делаете бэкапы?) может у хостера есть Да тут не в бэкапе дело))) Коль такая проблема возникла сейчас, она может и возникнуть потом. Соответственно, зло надо искоренить) Link to comment Share on other sites More sharing options...
bogdan281989 Posted October 28, 2021 Share Posted October 28, 2021 7 минут назад, sano4kin сказал: Да тут не в бэкапе дело))) Коль такая проблема возникла сейчас, она может и возникнуть потом. Соответственно, зло надо искоренить) У вас в статусах есть статус "Пропавший заказ"? Такого статуса нет, при фильтре по такому статусу просто выводятся заказы со статусом = 0 Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 смотрите id статуса в базе какой , таблица order Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 20 минут назад, bogdan281989 сказал: У вас в статусах есть статус "Пропавший заказ"? Такого статуса нет, при фильтре по такому статусу просто выводятся заказы со статусом = 0 Скрин приложил. Посмотрите. Да, по факту такого статуса нет. Но тем не менее он отображается. Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 21 минуту назад, ashap сказал: смотрите id статуса в базе какой , таблица order Сейчас висят 3 заказа. У всех ID 1 Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 Только что, sano4kin сказал: Сейчас висят 3 заказа. У всех ID 1 ну так это нормальный статус зайдите в локализация - статусы заказов и переменуйте там пропавшие заказы в чтото нормальное (это не пропавший заказ) Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 4 минуты назад, ashap сказал: ну так это нормальный статус зайдите в локализация - статусы заказов и переменуйте там пропавшие заказы в чтото нормальное (это не пропавший заказ) В том-то и дело что такого статуса нет =) "Пропавшие заказы" отображаются только в списке заказов. Ниже видны все мои статусы. Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 а говорите дело не в бэкапе тут точно тогда кто-то что-то наковырял) Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 Только что, ashap сказал: а говорите дело не в бэкапе тут точно ктото чтото наковырял) Кроме меня некому ковырять. А я ничего криминального не делал. =) Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке может модификаторы какие вносят правки, поотключайте их, проверяйте Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 28 минут назад, ashap сказал: смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке может модификаторы какие вносят правки, поотключайте их, проверяйте Модификаторы я уже отключал. Не в них дело. Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 24 минуты назад, ashap сказал: если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Протестировал на "Оплата при доставке". Заказ поступил со статусом "Завершен"... Интересно... Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... 1 Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 2 минуты назад, sano4kin сказал: Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... вы сообщение читали выше? Цитата то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 5 часов назад, ashap сказал: вы сообщение читали выше? Читал, но не сразу вчитался. Как я понял, надо выяснить кто или что все время ставит единицу в статус... Link to comment Share on other sites More sharing options... sano4kin Posted October 29, 2021 Author Share Posted October 29, 2021 Единицу ставил модуль Filterit Link to comment Share on other sites More sharing options... 2 weeks later... Artem9223 Posted November 8, 2021 Share Posted November 8, 2021 Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Link to comment Share on other sites More sharing options... sano4kin Posted November 8, 2021 Author Share Posted November 8, 2021 13 часов назад, Artem9223 сказал: Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Link to comment Share on other sites More sharing options... Artem9223 Posted November 9, 2021 Share Posted November 9, 2021 20 часов назад, sano4kin сказал: Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Здравствуйте! Спасибо за наводку. Отключил в плагинах оплаты пункт от яндекс go "Оплата при доставке" и оставил форму только от тинькова и всем заказам стал устанавливаться нужный статус без потерь. Спасибо). Link to comment Share on other sites More sharing options... 11 months later... fortoonas Posted November 1, 2022 Share Posted November 1, 2022 (edited) Кстати Да, если оплату не нужно принимать на сайте, то лучше использовать метод оплаты "Банковский перевод", этот метод не запускает скрипт "перехода к оплате". В фильтре отчета "Продажи-Заказы" добавили новую опцию "потерянные заказы". Если я не ошибаюсь то в старых версиях ОС, этой опции раньше не было, и приходилось эти так называемые "потерянные заказы" искать только в базе через запрос: "SELECT * FROM `oc_order` WHERE order_status_id = 0". Это в принципе тот же самый запрос который выполняет отчет "Продажи-Заказы" при выборе статуса "потерянные заказы" в фильтре. Как я уже сказал, "потерянные заказы" это заказы без статуса. То есть их статус это 0. Когда происходит подтверждение заказа клиентом (это когда клиент уже нажимает кнопку подтвердить заказ), система запускает скрипт controller/checkout/confirm.php. Этот скрипт создаёт запись в базе на заказ клиента со статусом 0. (то-есть на данный момент у этого заказа нет статуса, но он уже содержит имя клиента, адрес, сумму, продукты итд...) Затем запускается скрипт который отвечает за перевод денежных средств. Какой скрипт оплаты запустится системой ОС зависит от того какой тип оплаты был выбран клиентом при заказе. Эти скрипты хранятся в controller/payment/*.php. Когда скрипт получает сообщение о переводе денежных средств от системы оплаты (например PayPal или SagePay) то находит недавно созданную запись заказа в базе (без статуса) и даёт статус заказу в зависимости от полученного сообщения. Сообщение о переводе от системы оплаты может быть разное, например Отказано, Не удалось, в ожидании, Завершено, итд. Вот так вот выглядит скрипт оплаты через PayPal. Я подозреваю что периодически происходит какой-то сбой в скрипте оплаты. То есть возможно периодически он НЕ получает какое либо подтверждение от системы оплаты (даже если это метод "Оплата при доставке"), и в связи с этим не может дать статус заказу. Таким образом этот заказ остаётся без статусным (утерянным) для систему ОС. В таком случае скрипт даже не будет выдавать ошибку (но это уже зависит от того как он был написан). В принципе email клиенту тоже будет отправлен, что заказ был осуществлён. Какую систему оплаты используют ваши клиенты? Нужно посмотреть, что скрипт делает в случае если он НЕ получает сообщение от системы оплаты.https://forum.opencart.com/viewtopic.php?t=126001 Edited November 1, 2022 by fortoonas Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 3 Go to topic listing Similar Content Статусы заказа By strojremont, November 15, 2022 3 replies 318 views buslikdrev November 15, 2022 Массовое обновление статусов заказов By chukcha, July 27, 2016 заказ изменение статуса (and 1 more) Tagged with: заказ изменение статуса bulk order status 0 comments 8,264 views chukcha July 27, 2016 Автоматическое изменение статуса заказа и уведомление By chukcha, February 12, 2018 статус заказа изменение статуса заказа (and 4 more) Tagged with: статус заказа изменение статуса заказа изменеие статуса по времени письмо о смене статуса статус замовлення зміна стутусу замовлення 0 comments 14,049 views chukcha February 13, 2018 Количество товара при смене статуса заказа By lensmen, December 5, 2022 1 reply 156 views PaulKravchenko December 5, 2022 Модуль / скрипт для авто. перевода статуса заказа из Ошибочные заказы в Обрабатывается By dreemix, December 23, 2022 12 replies 234 views chukcha December 25, 2022 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: General questions Статус заказов "Пропавшие заказы" Покупателям Оплата дополнений физическими лицами Оплата дополнений юридическими лицами Политика возвратов Разработчикам Регламент размещения дополнений Регламент продаж и поддержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каталога дополнений Урегулирование споров по авторским правам Полезная информация Публичная оферта Политика возвратов Политика конфиденциальности Платежная политика Политика Передачи Персональных Данных Политика прозрачности Последние дополнения Chameleon - Responsive & Multipurpose Opencart Template + Quick Start By 29aleksey Wayforpay API оплата для Opencart 2.3, 3.x By bogdan281989 TgMarket - Модуль интернет магазина в телеграмме. By Rassol2 ShowCase – Responsive / Multipurpose Opencart Template By octemplates Telnotification By Yevhenii_7777 × Existing user? Sign In Sign Up Shopping section Back Purchased extensions Invoices Whishlist Alternative Contacts Forums News ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
ashap Posted October 28, 2021 Share Posted October 28, 2021 смотрите id статуса в базе какой , таблица order Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 20 минут назад, bogdan281989 сказал: У вас в статусах есть статус "Пропавший заказ"? Такого статуса нет, при фильтре по такому статусу просто выводятся заказы со статусом = 0 Скрин приложил. Посмотрите. Да, по факту такого статуса нет. Но тем не менее он отображается. Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 21 минуту назад, ashap сказал: смотрите id статуса в базе какой , таблица order Сейчас висят 3 заказа. У всех ID 1 Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 Только что, sano4kin сказал: Сейчас висят 3 заказа. У всех ID 1 ну так это нормальный статус зайдите в локализация - статусы заказов и переменуйте там пропавшие заказы в чтото нормальное (это не пропавший заказ) Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 4 минуты назад, ashap сказал: ну так это нормальный статус зайдите в локализация - статусы заказов и переменуйте там пропавшие заказы в чтото нормальное (это не пропавший заказ) В том-то и дело что такого статуса нет =) "Пропавшие заказы" отображаются только в списке заказов. Ниже видны все мои статусы. Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 а говорите дело не в бэкапе тут точно тогда кто-то что-то наковырял) Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 Только что, ashap сказал: а говорите дело не в бэкапе тут точно ктото чтото наковырял) Кроме меня некому ковырять. А я ничего криминального не делал. =) Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке может модификаторы какие вносят правки, поотключайте их, проверяйте Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 28 минут назад, ashap сказал: смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке может модификаторы какие вносят правки, поотключайте их, проверяйте Модификаторы я уже отключал. Не в них дело. Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 24 минуты назад, ashap сказал: если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Протестировал на "Оплата при доставке". Заказ поступил со статусом "Завершен"... Интересно... Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... 1 Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 2 минуты назад, sano4kin сказал: Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... вы сообщение читали выше? Цитата то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 5 часов назад, ashap сказал: вы сообщение читали выше? Читал, но не сразу вчитался. Как я понял, надо выяснить кто или что все время ставит единицу в статус... Link to comment Share on other sites More sharing options... sano4kin Posted October 29, 2021 Author Share Posted October 29, 2021 Единицу ставил модуль Filterit Link to comment Share on other sites More sharing options... 2 weeks later... Artem9223 Posted November 8, 2021 Share Posted November 8, 2021 Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Link to comment Share on other sites More sharing options... sano4kin Posted November 8, 2021 Author Share Posted November 8, 2021 13 часов назад, Artem9223 сказал: Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Link to comment Share on other sites More sharing options... Artem9223 Posted November 9, 2021 Share Posted November 9, 2021 20 часов назад, sano4kin сказал: Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Здравствуйте! Спасибо за наводку. Отключил в плагинах оплаты пункт от яндекс go "Оплата при доставке" и оставил форму только от тинькова и всем заказам стал устанавливаться нужный статус без потерь. Спасибо). Link to comment Share on other sites More sharing options... 11 months later... fortoonas Posted November 1, 2022 Share Posted November 1, 2022 (edited) Кстати Да, если оплату не нужно принимать на сайте, то лучше использовать метод оплаты "Банковский перевод", этот метод не запускает скрипт "перехода к оплате". В фильтре отчета "Продажи-Заказы" добавили новую опцию "потерянные заказы". Если я не ошибаюсь то в старых версиях ОС, этой опции раньше не было, и приходилось эти так называемые "потерянные заказы" искать только в базе через запрос: "SELECT * FROM `oc_order` WHERE order_status_id = 0". Это в принципе тот же самый запрос который выполняет отчет "Продажи-Заказы" при выборе статуса "потерянные заказы" в фильтре. Как я уже сказал, "потерянные заказы" это заказы без статуса. То есть их статус это 0. Когда происходит подтверждение заказа клиентом (это когда клиент уже нажимает кнопку подтвердить заказ), система запускает скрипт controller/checkout/confirm.php. Этот скрипт создаёт запись в базе на заказ клиента со статусом 0. (то-есть на данный момент у этого заказа нет статуса, но он уже содержит имя клиента, адрес, сумму, продукты итд...) Затем запускается скрипт который отвечает за перевод денежных средств. Какой скрипт оплаты запустится системой ОС зависит от того какой тип оплаты был выбран клиентом при заказе. Эти скрипты хранятся в controller/payment/*.php. Когда скрипт получает сообщение о переводе денежных средств от системы оплаты (например PayPal или SagePay) то находит недавно созданную запись заказа в базе (без статуса) и даёт статус заказу в зависимости от полученного сообщения. Сообщение о переводе от системы оплаты может быть разное, например Отказано, Не удалось, в ожидании, Завершено, итд. Вот так вот выглядит скрипт оплаты через PayPal. Я подозреваю что периодически происходит какой-то сбой в скрипте оплаты. То есть возможно периодически он НЕ получает какое либо подтверждение от системы оплаты (даже если это метод "Оплата при доставке"), и в связи с этим не может дать статус заказу. Таким образом этот заказ остаётся без статусным (утерянным) для систему ОС. В таком случае скрипт даже не будет выдавать ошибку (но это уже зависит от того как он был написан). В принципе email клиенту тоже будет отправлен, что заказ был осуществлён. Какую систему оплаты используют ваши клиенты? Нужно посмотреть, что скрипт делает в случае если он НЕ получает сообщение от системы оплаты.https://forum.opencart.com/viewtopic.php?t=126001 Edited November 1, 2022 by fortoonas Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 3 Go to topic listing Similar Content Статусы заказа By strojremont, November 15, 2022 3 replies 318 views buslikdrev November 15, 2022 Массовое обновление статусов заказов By chukcha, July 27, 2016 заказ изменение статуса (and 1 more) Tagged with: заказ изменение статуса bulk order status 0 comments 8,264 views chukcha July 27, 2016 Автоматическое изменение статуса заказа и уведомление By chukcha, February 12, 2018 статус заказа изменение статуса заказа (and 4 more) Tagged with: статус заказа изменение статуса заказа изменеие статуса по времени письмо о смене статуса статус замовлення зміна стутусу замовлення 0 comments 14,049 views chukcha February 13, 2018 Количество товара при смене статуса заказа By lensmen, December 5, 2022 1 reply 156 views PaulKravchenko December 5, 2022 Модуль / скрипт для авто. перевода статуса заказа из Ошибочные заказы в Обрабатывается By dreemix, December 23, 2022 12 replies 234 views chukcha December 25, 2022 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: General questions Статус заказов "Пропавшие заказы" Покупателям Оплата дополнений физическими лицами Оплата дополнений юридическими лицами Политика возвратов Разработчикам Регламент размещения дополнений Регламент продаж и поддержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каталога дополнений Урегулирование споров по авторским правам Полезная информация Публичная оферта Политика возвратов Политика конфиденциальности Платежная политика Политика Передачи Персональных Данных Политика прозрачности Последние дополнения Chameleon - Responsive & Multipurpose Opencart Template + Quick Start By 29aleksey Wayforpay API оплата для Opencart 2.3, 3.x By bogdan281989 TgMarket - Модуль интернет магазина в телеграмме. By Rassol2 ShowCase – Responsive / Multipurpose Opencart Template By octemplates Telnotification By Yevhenii_7777 × Existing user? Sign In Sign Up Shopping section Back Purchased extensions Invoices Whishlist Alternative Contacts Forums News ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 20 минут назад, bogdan281989 сказал: У вас в статусах есть статус "Пропавший заказ"? Такого статуса нет, при фильтре по такому статусу просто выводятся заказы со статусом = 0 Скрин приложил. Посмотрите. Да, по факту такого статуса нет. Но тем не менее он отображается. Link to comment Share on other sites More sharing options...
sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 21 минуту назад, ashap сказал: смотрите id статуса в базе какой , таблица order Сейчас висят 3 заказа. У всех ID 1 Link to comment Share on other sites More sharing options...
ashap Posted October 28, 2021 Share Posted October 28, 2021 Только что, sano4kin сказал: Сейчас висят 3 заказа. У всех ID 1 ну так это нормальный статус зайдите в локализация - статусы заказов и переменуйте там пропавшие заказы в чтото нормальное (это не пропавший заказ) Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 4 минуты назад, ashap сказал: ну так это нормальный статус зайдите в локализация - статусы заказов и переменуйте там пропавшие заказы в чтото нормальное (это не пропавший заказ) В том-то и дело что такого статуса нет =) "Пропавшие заказы" отображаются только в списке заказов. Ниже видны все мои статусы. Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 а говорите дело не в бэкапе тут точно тогда кто-то что-то наковырял) Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 Только что, ashap сказал: а говорите дело не в бэкапе тут точно ктото чтото наковырял) Кроме меня некому ковырять. А я ничего криминального не делал. =) Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке может модификаторы какие вносят правки, поотключайте их, проверяйте Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 28 минут назад, ashap сказал: смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке может модификаторы какие вносят правки, поотключайте их, проверяйте Модификаторы я уже отключал. Не в них дело. Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 24 минуты назад, ashap сказал: если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Протестировал на "Оплата при доставке". Заказ поступил со статусом "Завершен"... Интересно... Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... 1 Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 2 минуты назад, sano4kin сказал: Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... вы сообщение читали выше? Цитата то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 5 часов назад, ashap сказал: вы сообщение читали выше? Читал, но не сразу вчитался. Как я понял, надо выяснить кто или что все время ставит единицу в статус... Link to comment Share on other sites More sharing options... sano4kin Posted October 29, 2021 Author Share Posted October 29, 2021 Единицу ставил модуль Filterit Link to comment Share on other sites More sharing options... 2 weeks later... Artem9223 Posted November 8, 2021 Share Posted November 8, 2021 Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Link to comment Share on other sites More sharing options... sano4kin Posted November 8, 2021 Author Share Posted November 8, 2021 13 часов назад, Artem9223 сказал: Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Link to comment Share on other sites More sharing options... Artem9223 Posted November 9, 2021 Share Posted November 9, 2021 20 часов назад, sano4kin сказал: Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Здравствуйте! Спасибо за наводку. Отключил в плагинах оплаты пункт от яндекс go "Оплата при доставке" и оставил форму только от тинькова и всем заказам стал устанавливаться нужный статус без потерь. Спасибо). Link to comment Share on other sites More sharing options... 11 months later... fortoonas Posted November 1, 2022 Share Posted November 1, 2022 (edited) Кстати Да, если оплату не нужно принимать на сайте, то лучше использовать метод оплаты "Банковский перевод", этот метод не запускает скрипт "перехода к оплате". В фильтре отчета "Продажи-Заказы" добавили новую опцию "потерянные заказы". Если я не ошибаюсь то в старых версиях ОС, этой опции раньше не было, и приходилось эти так называемые "потерянные заказы" искать только в базе через запрос: "SELECT * FROM `oc_order` WHERE order_status_id = 0". Это в принципе тот же самый запрос который выполняет отчет "Продажи-Заказы" при выборе статуса "потерянные заказы" в фильтре. Как я уже сказал, "потерянные заказы" это заказы без статуса. То есть их статус это 0. Когда происходит подтверждение заказа клиентом (это когда клиент уже нажимает кнопку подтвердить заказ), система запускает скрипт controller/checkout/confirm.php. Этот скрипт создаёт запись в базе на заказ клиента со статусом 0. (то-есть на данный момент у этого заказа нет статуса, но он уже содержит имя клиента, адрес, сумму, продукты итд...) Затем запускается скрипт который отвечает за перевод денежных средств. Какой скрипт оплаты запустится системой ОС зависит от того какой тип оплаты был выбран клиентом при заказе. Эти скрипты хранятся в controller/payment/*.php. Когда скрипт получает сообщение о переводе денежных средств от системы оплаты (например PayPal или SagePay) то находит недавно созданную запись заказа в базе (без статуса) и даёт статус заказу в зависимости от полученного сообщения. Сообщение о переводе от системы оплаты может быть разное, например Отказано, Не удалось, в ожидании, Завершено, итд. Вот так вот выглядит скрипт оплаты через PayPal. Я подозреваю что периодически происходит какой-то сбой в скрипте оплаты. То есть возможно периодически он НЕ получает какое либо подтверждение от системы оплаты (даже если это метод "Оплата при доставке"), и в связи с этим не может дать статус заказу. Таким образом этот заказ остаётся без статусным (утерянным) для систему ОС. В таком случае скрипт даже не будет выдавать ошибку (но это уже зависит от того как он был написан). В принципе email клиенту тоже будет отправлен, что заказ был осуществлён. Какую систему оплаты используют ваши клиенты? Нужно посмотреть, что скрипт делает в случае если он НЕ получает сообщение от системы оплаты.https://forum.opencart.com/viewtopic.php?t=126001 Edited November 1, 2022 by fortoonas Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 3 Go to topic listing Similar Content Статусы заказа By strojremont, November 15, 2022 3 replies 318 views buslikdrev November 15, 2022 Массовое обновление статусов заказов By chukcha, July 27, 2016 заказ изменение статуса (and 1 more) Tagged with: заказ изменение статуса bulk order status 0 comments 8,264 views chukcha July 27, 2016 Автоматическое изменение статуса заказа и уведомление By chukcha, February 12, 2018 статус заказа изменение статуса заказа (and 4 more) Tagged with: статус заказа изменение статуса заказа изменеие статуса по времени письмо о смене статуса статус замовлення зміна стутусу замовлення 0 comments 14,049 views chukcha February 13, 2018 Количество товара при смене статуса заказа By lensmen, December 5, 2022 1 reply 156 views PaulKravchenko December 5, 2022 Модуль / скрипт для авто. перевода статуса заказа из Ошибочные заказы в Обрабатывается By dreemix, December 23, 2022 12 replies 234 views chukcha December 25, 2022 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: General questions Статус заказов "Пропавшие заказы" Покупателям Оплата дополнений физическими лицами Оплата дополнений юридическими лицами Политика возвратов Разработчикам Регламент размещения дополнений Регламент продаж и поддержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каталога дополнений Урегулирование споров по авторским правам Полезная информация Публичная оферта Политика возвратов Политика конфиденциальности Платежная политика Политика Передачи Персональных Данных Политика прозрачности Последние дополнения Chameleon - Responsive & Multipurpose Opencart Template + Quick Start By 29aleksey Wayforpay API оплата для Opencart 2.3, 3.x By bogdan281989 TgMarket - Модуль интернет магазина в телеграмме. By Rassol2 ShowCase – Responsive / Multipurpose Opencart Template By octemplates Telnotification By Yevhenii_7777 × Existing user? Sign In Sign Up Shopping section Back Purchased extensions Invoices Whishlist Alternative Contacts Forums News ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 4 минуты назад, ashap сказал: ну так это нормальный статус зайдите в локализация - статусы заказов и переменуйте там пропавшие заказы в чтото нормальное (это не пропавший заказ) В том-то и дело что такого статуса нет =) "Пропавшие заказы" отображаются только в списке заказов. Ниже видны все мои статусы. Link to comment Share on other sites More sharing options...
ashap Posted October 28, 2021 Share Posted October 28, 2021 а говорите дело не в бэкапе тут точно тогда кто-то что-то наковырял) Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 Только что, ashap сказал: а говорите дело не в бэкапе тут точно ктото чтото наковырял) Кроме меня некому ковырять. А я ничего криминального не делал. =) Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке может модификаторы какие вносят правки, поотключайте их, проверяйте Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 28 минут назад, ashap сказал: смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке может модификаторы какие вносят правки, поотключайте их, проверяйте Модификаторы я уже отключал. Не в них дело. Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 24 минуты назад, ashap сказал: если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Протестировал на "Оплата при доставке". Заказ поступил со статусом "Завершен"... Интересно... Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... 1 Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 2 минуты назад, sano4kin сказал: Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... вы сообщение читали выше? Цитата то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 5 часов назад, ashap сказал: вы сообщение читали выше? Читал, но не сразу вчитался. Как я понял, надо выяснить кто или что все время ставит единицу в статус... Link to comment Share on other sites More sharing options... sano4kin Posted October 29, 2021 Author Share Posted October 29, 2021 Единицу ставил модуль Filterit Link to comment Share on other sites More sharing options... 2 weeks later... Artem9223 Posted November 8, 2021 Share Posted November 8, 2021 Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Link to comment Share on other sites More sharing options... sano4kin Posted November 8, 2021 Author Share Posted November 8, 2021 13 часов назад, Artem9223 сказал: Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Link to comment Share on other sites More sharing options... Artem9223 Posted November 9, 2021 Share Posted November 9, 2021 20 часов назад, sano4kin сказал: Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Здравствуйте! Спасибо за наводку. Отключил в плагинах оплаты пункт от яндекс go "Оплата при доставке" и оставил форму только от тинькова и всем заказам стал устанавливаться нужный статус без потерь. Спасибо). Link to comment Share on other sites More sharing options... 11 months later... fortoonas Posted November 1, 2022 Share Posted November 1, 2022 (edited) Кстати Да, если оплату не нужно принимать на сайте, то лучше использовать метод оплаты "Банковский перевод", этот метод не запускает скрипт "перехода к оплате". В фильтре отчета "Продажи-Заказы" добавили новую опцию "потерянные заказы". Если я не ошибаюсь то в старых версиях ОС, этой опции раньше не было, и приходилось эти так называемые "потерянные заказы" искать только в базе через запрос: "SELECT * FROM `oc_order` WHERE order_status_id = 0". Это в принципе тот же самый запрос который выполняет отчет "Продажи-Заказы" при выборе статуса "потерянные заказы" в фильтре. Как я уже сказал, "потерянные заказы" это заказы без статуса. То есть их статус это 0. Когда происходит подтверждение заказа клиентом (это когда клиент уже нажимает кнопку подтвердить заказ), система запускает скрипт controller/checkout/confirm.php. Этот скрипт создаёт запись в базе на заказ клиента со статусом 0. (то-есть на данный момент у этого заказа нет статуса, но он уже содержит имя клиента, адрес, сумму, продукты итд...) Затем запускается скрипт который отвечает за перевод денежных средств. Какой скрипт оплаты запустится системой ОС зависит от того какой тип оплаты был выбран клиентом при заказе. Эти скрипты хранятся в controller/payment/*.php. Когда скрипт получает сообщение о переводе денежных средств от системы оплаты (например PayPal или SagePay) то находит недавно созданную запись заказа в базе (без статуса) и даёт статус заказу в зависимости от полученного сообщения. Сообщение о переводе от системы оплаты может быть разное, например Отказано, Не удалось, в ожидании, Завершено, итд. Вот так вот выглядит скрипт оплаты через PayPal. Я подозреваю что периодически происходит какой-то сбой в скрипте оплаты. То есть возможно периодически он НЕ получает какое либо подтверждение от системы оплаты (даже если это метод "Оплата при доставке"), и в связи с этим не может дать статус заказу. Таким образом этот заказ остаётся без статусным (утерянным) для систему ОС. В таком случае скрипт даже не будет выдавать ошибку (но это уже зависит от того как он был написан). В принципе email клиенту тоже будет отправлен, что заказ был осуществлён. Какую систему оплаты используют ваши клиенты? Нужно посмотреть, что скрипт делает в случае если он НЕ получает сообщение от системы оплаты.https://forum.opencart.com/viewtopic.php?t=126001 Edited November 1, 2022 by fortoonas Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 3 Go to topic listing Similar Content Статусы заказа By strojremont, November 15, 2022 3 replies 318 views buslikdrev November 15, 2022 Массовое обновление статусов заказов By chukcha, July 27, 2016 заказ изменение статуса (and 1 more) Tagged with: заказ изменение статуса bulk order status 0 comments 8,264 views chukcha July 27, 2016 Автоматическое изменение статуса заказа и уведомление By chukcha, February 12, 2018 статус заказа изменение статуса заказа (and 4 more) Tagged with: статус заказа изменение статуса заказа изменеие статуса по времени письмо о смене статуса статус замовлення зміна стутусу замовлення 0 comments 14,049 views chukcha February 13, 2018 Количество товара при смене статуса заказа By lensmen, December 5, 2022 1 reply 156 views PaulKravchenko December 5, 2022 Модуль / скрипт для авто. перевода статуса заказа из Ошибочные заказы в Обрабатывается By dreemix, December 23, 2022 12 replies 234 views chukcha December 25, 2022 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: General questions Статус заказов "Пропавшие заказы" Покупателям Оплата дополнений физическими лицами Оплата дополнений юридическими лицами Политика возвратов Разработчикам Регламент размещения дополнений Регламент продаж и поддержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каталога дополнений Урегулирование споров по авторским правам Полезная информация Публичная оферта Политика возвратов Политика конфиденциальности Платежная политика Политика Передачи Персональных Данных Политика прозрачности Последние дополнения Chameleon - Responsive & Multipurpose Opencart Template + Quick Start By 29aleksey Wayforpay API оплата для Opencart 2.3, 3.x By bogdan281989 TgMarket - Модуль интернет магазина в телеграмме. By Rassol2 ShowCase – Responsive / Multipurpose Opencart Template By octemplates Telnotification By Yevhenii_7777
sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 Только что, ashap сказал: а говорите дело не в бэкапе тут точно ктото чтото наковырял) Кроме меня некому ковырять. А я ничего криминального не делал. =) Link to comment Share on other sites More sharing options...
ashap Posted October 28, 2021 Share Posted October 28, 2021 смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке может модификаторы какие вносят правки, поотключайте их, проверяйте Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 28 минут назад, ashap сказал: смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке может модификаторы какие вносят правки, поотключайте их, проверяйте Модификаторы я уже отключал. Не в них дело. Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 24 минуты назад, ashap сказал: если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Протестировал на "Оплата при доставке". Заказ поступил со статусом "Завершен"... Интересно... Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... 1 Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 2 минуты назад, sano4kin сказал: Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... вы сообщение читали выше? Цитата то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 5 часов назад, ashap сказал: вы сообщение читали выше? Читал, но не сразу вчитался. Как я понял, надо выяснить кто или что все время ставит единицу в статус... Link to comment Share on other sites More sharing options... sano4kin Posted October 29, 2021 Author Share Posted October 29, 2021 Единицу ставил модуль Filterit Link to comment Share on other sites More sharing options... 2 weeks later... Artem9223 Posted November 8, 2021 Share Posted November 8, 2021 Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Link to comment Share on other sites More sharing options... sano4kin Posted November 8, 2021 Author Share Posted November 8, 2021 13 часов назад, Artem9223 сказал: Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Link to comment Share on other sites More sharing options... Artem9223 Posted November 9, 2021 Share Posted November 9, 2021 20 часов назад, sano4kin сказал: Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Здравствуйте! Спасибо за наводку. Отключил в плагинах оплаты пункт от яндекс go "Оплата при доставке" и оставил форму только от тинькова и всем заказам стал устанавливаться нужный статус без потерь. Спасибо). Link to comment Share on other sites More sharing options... 11 months later... fortoonas Posted November 1, 2022 Share Posted November 1, 2022 (edited) Кстати Да, если оплату не нужно принимать на сайте, то лучше использовать метод оплаты "Банковский перевод", этот метод не запускает скрипт "перехода к оплате". В фильтре отчета "Продажи-Заказы" добавили новую опцию "потерянные заказы". Если я не ошибаюсь то в старых версиях ОС, этой опции раньше не было, и приходилось эти так называемые "потерянные заказы" искать только в базе через запрос: "SELECT * FROM `oc_order` WHERE order_status_id = 0". Это в принципе тот же самый запрос который выполняет отчет "Продажи-Заказы" при выборе статуса "потерянные заказы" в фильтре. Как я уже сказал, "потерянные заказы" это заказы без статуса. То есть их статус это 0. Когда происходит подтверждение заказа клиентом (это когда клиент уже нажимает кнопку подтвердить заказ), система запускает скрипт controller/checkout/confirm.php. Этот скрипт создаёт запись в базе на заказ клиента со статусом 0. (то-есть на данный момент у этого заказа нет статуса, но он уже содержит имя клиента, адрес, сумму, продукты итд...) Затем запускается скрипт который отвечает за перевод денежных средств. Какой скрипт оплаты запустится системой ОС зависит от того какой тип оплаты был выбран клиентом при заказе. Эти скрипты хранятся в controller/payment/*.php. Когда скрипт получает сообщение о переводе денежных средств от системы оплаты (например PayPal или SagePay) то находит недавно созданную запись заказа в базе (без статуса) и даёт статус заказу в зависимости от полученного сообщения. Сообщение о переводе от системы оплаты может быть разное, например Отказано, Не удалось, в ожидании, Завершено, итд. Вот так вот выглядит скрипт оплаты через PayPal. Я подозреваю что периодически происходит какой-то сбой в скрипте оплаты. То есть возможно периодически он НЕ получает какое либо подтверждение от системы оплаты (даже если это метод "Оплата при доставке"), и в связи с этим не может дать статус заказу. Таким образом этот заказ остаётся без статусным (утерянным) для систему ОС. В таком случае скрипт даже не будет выдавать ошибку (но это уже зависит от того как он был написан). В принципе email клиенту тоже будет отправлен, что заказ был осуществлён. Какую систему оплаты используют ваши клиенты? Нужно посмотреть, что скрипт делает в случае если он НЕ получает сообщение от системы оплаты.https://forum.opencart.com/viewtopic.php?t=126001 Edited November 1, 2022 by fortoonas Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 3 Go to topic listing Similar Content Статусы заказа By strojremont, November 15, 2022 3 replies 318 views buslikdrev November 15, 2022 Массовое обновление статусов заказов By chukcha, July 27, 2016 заказ изменение статуса (and 1 more) Tagged with: заказ изменение статуса bulk order status 0 comments 8,264 views chukcha July 27, 2016 Автоматическое изменение статуса заказа и уведомление By chukcha, February 12, 2018 статус заказа изменение статуса заказа (and 4 more) Tagged with: статус заказа изменение статуса заказа изменеие статуса по времени письмо о смене статуса статус замовлення зміна стутусу замовлення 0 comments 14,049 views chukcha February 13, 2018 Количество товара при смене статуса заказа By lensmen, December 5, 2022 1 reply 156 views PaulKravchenko December 5, 2022 Модуль / скрипт для авто. перевода статуса заказа из Ошибочные заказы в Обрабатывается By dreemix, December 23, 2022 12 replies 234 views chukcha December 25, 2022 Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: General questions Статус заказов "Пропавшие заказы"
ashap Posted October 28, 2021 Share Posted October 28, 2021 если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 28 минут назад, ashap сказал: смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке может модификаторы какие вносят правки, поотключайте их, проверяйте Модификаторы я уже отключал. Не в них дело. Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 24 минуты назад, ashap сказал: если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Протестировал на "Оплата при доставке". Заказ поступил со статусом "Завершен"... Интересно... Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... 1 Link to comment Share on other sites More sharing options... ashap Posted October 28, 2021 Share Posted October 28, 2021 2 минуты назад, sano4kin сказал: Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... вы сообщение читали выше? Цитата то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 5 часов назад, ashap сказал: вы сообщение читали выше? Читал, но не сразу вчитался. Как я понял, надо выяснить кто или что все время ставит единицу в статус... Link to comment Share on other sites More sharing options... sano4kin Posted October 29, 2021 Author Share Posted October 29, 2021 Единицу ставил модуль Filterit Link to comment Share on other sites More sharing options... 2 weeks later... Artem9223 Posted November 8, 2021 Share Posted November 8, 2021 Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Link to comment Share on other sites More sharing options... sano4kin Posted November 8, 2021 Author Share Posted November 8, 2021 13 часов назад, Artem9223 сказал: Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Link to comment Share on other sites More sharing options... Artem9223 Posted November 9, 2021 Share Posted November 9, 2021 20 часов назад, sano4kin сказал: Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Здравствуйте! Спасибо за наводку. Отключил в плагинах оплаты пункт от яндекс go "Оплата при доставке" и оставил форму только от тинькова и всем заказам стал устанавливаться нужный статус без потерь. Спасибо). Link to comment Share on other sites More sharing options... 11 months later... fortoonas Posted November 1, 2022 Share Posted November 1, 2022 (edited) Кстати Да, если оплату не нужно принимать на сайте, то лучше использовать метод оплаты "Банковский перевод", этот метод не запускает скрипт "перехода к оплате". В фильтре отчета "Продажи-Заказы" добавили новую опцию "потерянные заказы". Если я не ошибаюсь то в старых версиях ОС, этой опции раньше не было, и приходилось эти так называемые "потерянные заказы" искать только в базе через запрос: "SELECT * FROM `oc_order` WHERE order_status_id = 0". Это в принципе тот же самый запрос который выполняет отчет "Продажи-Заказы" при выборе статуса "потерянные заказы" в фильтре. Как я уже сказал, "потерянные заказы" это заказы без статуса. То есть их статус это 0. Когда происходит подтверждение заказа клиентом (это когда клиент уже нажимает кнопку подтвердить заказ), система запускает скрипт controller/checkout/confirm.php. Этот скрипт создаёт запись в базе на заказ клиента со статусом 0. (то-есть на данный момент у этого заказа нет статуса, но он уже содержит имя клиента, адрес, сумму, продукты итд...) Затем запускается скрипт который отвечает за перевод денежных средств. Какой скрипт оплаты запустится системой ОС зависит от того какой тип оплаты был выбран клиентом при заказе. Эти скрипты хранятся в controller/payment/*.php. Когда скрипт получает сообщение о переводе денежных средств от системы оплаты (например PayPal или SagePay) то находит недавно созданную запись заказа в базе (без статуса) и даёт статус заказу в зависимости от полученного сообщения. Сообщение о переводе от системы оплаты может быть разное, например Отказано, Не удалось, в ожидании, Завершено, итд. Вот так вот выглядит скрипт оплаты через PayPal. Я подозреваю что периодически происходит какой-то сбой в скрипте оплаты. То есть возможно периодически он НЕ получает какое либо подтверждение от системы оплаты (даже если это метод "Оплата при доставке"), и в связи с этим не может дать статус заказу. Таким образом этот заказ остаётся без статусным (утерянным) для систему ОС. В таком случае скрипт даже не будет выдавать ошибку (но это уже зависит от того как он был написан). В принципе email клиенту тоже будет отправлен, что заказ был осуществлён. Какую систему оплаты используют ваши клиенты? Нужно посмотреть, что скрипт делает в случае если он НЕ получает сообщение от системы оплаты.https://forum.opencart.com/viewtopic.php?t=126001 Edited November 1, 2022 by fortoonas Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 3 Go to topic listing Similar Content Статусы заказа By strojremont, November 15, 2022 3 replies 318 views buslikdrev November 15, 2022 Массовое обновление статусов заказов By chukcha, July 27, 2016 заказ изменение статуса (and 1 more) Tagged with: заказ изменение статуса bulk order status 0 comments 8,264 views chukcha July 27, 2016 Автоматическое изменение статуса заказа и уведомление By chukcha, February 12, 2018 статус заказа изменение статуса заказа (and 4 more) Tagged with: статус заказа изменение статуса заказа изменеие статуса по времени письмо о смене статуса статус замовлення зміна стутусу замовлення 0 comments 14,049 views chukcha February 13, 2018 Количество товара при смене статуса заказа By lensmen, December 5, 2022 1 reply 156 views PaulKravchenko December 5, 2022 Модуль / скрипт для авто. перевода статуса заказа из Ошибочные заказы в Обрабатывается By dreemix, December 23, 2022 12 replies 234 views chukcha December 25, 2022 Recently Browsing 0 members No registered users viewing this page.
sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 28 минут назад, ashap сказал: смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке может модификаторы какие вносят правки, поотключайте их, проверяйте Модификаторы я уже отключал. Не в них дело. Link to comment Share on other sites More sharing options...
sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 24 минуты назад, ashap сказал: если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ Протестировал на "Оплата при доставке". Заказ поступил со статусом "Завершен"... Интересно... Link to comment Share on other sites More sharing options...
sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... 1 Link to comment Share on other sites More sharing options...
ashap Posted October 28, 2021 Share Posted October 28, 2021 2 минуты назад, sano4kin сказал: Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)... вы сообщение читали выше? Цитата то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая Link to comment Share on other sites More sharing options... sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 5 часов назад, ashap сказал: вы сообщение читали выше? Читал, но не сразу вчитался. Как я понял, надо выяснить кто или что все время ставит единицу в статус... Link to comment Share on other sites More sharing options... sano4kin Posted October 29, 2021 Author Share Posted October 29, 2021 Единицу ставил модуль Filterit Link to comment Share on other sites More sharing options... 2 weeks later... Artem9223 Posted November 8, 2021 Share Posted November 8, 2021 Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Link to comment Share on other sites More sharing options... sano4kin Posted November 8, 2021 Author Share Posted November 8, 2021 13 часов назад, Artem9223 сказал: Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Link to comment Share on other sites More sharing options... Artem9223 Posted November 9, 2021 Share Posted November 9, 2021 20 часов назад, sano4kin сказал: Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Здравствуйте! Спасибо за наводку. Отключил в плагинах оплаты пункт от яндекс go "Оплата при доставке" и оставил форму только от тинькова и всем заказам стал устанавливаться нужный статус без потерь. Спасибо). Link to comment Share on other sites More sharing options... 11 months later... fortoonas Posted November 1, 2022 Share Posted November 1, 2022 (edited) Кстати Да, если оплату не нужно принимать на сайте, то лучше использовать метод оплаты "Банковский перевод", этот метод не запускает скрипт "перехода к оплате". В фильтре отчета "Продажи-Заказы" добавили новую опцию "потерянные заказы". Если я не ошибаюсь то в старых версиях ОС, этой опции раньше не было, и приходилось эти так называемые "потерянные заказы" искать только в базе через запрос: "SELECT * FROM `oc_order` WHERE order_status_id = 0". Это в принципе тот же самый запрос который выполняет отчет "Продажи-Заказы" при выборе статуса "потерянные заказы" в фильтре. Как я уже сказал, "потерянные заказы" это заказы без статуса. То есть их статус это 0. Когда происходит подтверждение заказа клиентом (это когда клиент уже нажимает кнопку подтвердить заказ), система запускает скрипт controller/checkout/confirm.php. Этот скрипт создаёт запись в базе на заказ клиента со статусом 0. (то-есть на данный момент у этого заказа нет статуса, но он уже содержит имя клиента, адрес, сумму, продукты итд...) Затем запускается скрипт который отвечает за перевод денежных средств. Какой скрипт оплаты запустится системой ОС зависит от того какой тип оплаты был выбран клиентом при заказе. Эти скрипты хранятся в controller/payment/*.php. Когда скрипт получает сообщение о переводе денежных средств от системы оплаты (например PayPal или SagePay) то находит недавно созданную запись заказа в базе (без статуса) и даёт статус заказу в зависимости от полученного сообщения. Сообщение о переводе от системы оплаты может быть разное, например Отказано, Не удалось, в ожидании, Завершено, итд. Вот так вот выглядит скрипт оплаты через PayPal. Я подозреваю что периодически происходит какой-то сбой в скрипте оплаты. То есть возможно периодически он НЕ получает какое либо подтверждение от системы оплаты (даже если это метод "Оплата при доставке"), и в связи с этим не может дать статус заказу. Таким образом этот заказ остаётся без статусным (утерянным) для систему ОС. В таком случае скрипт даже не будет выдавать ошибку (но это уже зависит от того как он был написан). В принципе email клиенту тоже будет отправлен, что заказ был осуществлён. Какую систему оплаты используют ваши клиенты? Нужно посмотреть, что скрипт делает в случае если он НЕ получает сообщение от системы оплаты.https://forum.opencart.com/viewtopic.php?t=126001 Edited November 1, 2022 by fortoonas Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 3
sano4kin Posted October 28, 2021 Author Share Posted October 28, 2021 5 часов назад, ashap сказал: вы сообщение читали выше? Читал, но не сразу вчитался. Как я понял, надо выяснить кто или что все время ставит единицу в статус... Link to comment Share on other sites More sharing options...
sano4kin Posted October 29, 2021 Author Share Posted October 29, 2021 Единицу ставил модуль Filterit Link to comment Share on other sites More sharing options...
Artem9223 Posted November 8, 2021 Share Posted November 8, 2021 Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Link to comment Share on other sites More sharing options...
sano4kin Posted November 8, 2021 Author Share Posted November 8, 2021 13 часов назад, Artem9223 сказал: Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему? Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Link to comment Share on other sites More sharing options...
Artem9223 Posted November 9, 2021 Share Posted November 9, 2021 20 часов назад, sano4kin сказал: Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы. Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие". P.S. Таблица заказов в БД - oc_order Таблица статусов в БД - oc_order_status Здравствуйте! Спасибо за наводку. Отключил в плагинах оплаты пункт от яндекс go "Оплата при доставке" и оставил форму только от тинькова и всем заказам стал устанавливаться нужный статус без потерь. Спасибо). Link to comment Share on other sites More sharing options...
fortoonas Posted November 1, 2022 Share Posted November 1, 2022 (edited) Кстати Да, если оплату не нужно принимать на сайте, то лучше использовать метод оплаты "Банковский перевод", этот метод не запускает скрипт "перехода к оплате". В фильтре отчета "Продажи-Заказы" добавили новую опцию "потерянные заказы". Если я не ошибаюсь то в старых версиях ОС, этой опции раньше не было, и приходилось эти так называемые "потерянные заказы" искать только в базе через запрос: "SELECT * FROM `oc_order` WHERE order_status_id = 0". Это в принципе тот же самый запрос который выполняет отчет "Продажи-Заказы" при выборе статуса "потерянные заказы" в фильтре. Как я уже сказал, "потерянные заказы" это заказы без статуса. То есть их статус это 0. Когда происходит подтверждение заказа клиентом (это когда клиент уже нажимает кнопку подтвердить заказ), система запускает скрипт controller/checkout/confirm.php. Этот скрипт создаёт запись в базе на заказ клиента со статусом 0. (то-есть на данный момент у этого заказа нет статуса, но он уже содержит имя клиента, адрес, сумму, продукты итд...) Затем запускается скрипт который отвечает за перевод денежных средств. Какой скрипт оплаты запустится системой ОС зависит от того какой тип оплаты был выбран клиентом при заказе. Эти скрипты хранятся в controller/payment/*.php. Когда скрипт получает сообщение о переводе денежных средств от системы оплаты (например PayPal или SagePay) то находит недавно созданную запись заказа в базе (без статуса) и даёт статус заказу в зависимости от полученного сообщения. Сообщение о переводе от системы оплаты может быть разное, например Отказано, Не удалось, в ожидании, Завершено, итд. Вот так вот выглядит скрипт оплаты через PayPal. Я подозреваю что периодически происходит какой-то сбой в скрипте оплаты. То есть возможно периодически он НЕ получает какое либо подтверждение от системы оплаты (даже если это метод "Оплата при доставке"), и в связи с этим не может дать статус заказу. Таким образом этот заказ остаётся без статусным (утерянным) для систему ОС. В таком случае скрипт даже не будет выдавать ошибку (но это уже зависит от того как он был написан). В принципе email клиенту тоже будет отправлен, что заказ был осуществлён. Какую систему оплаты используют ваши клиенты? Нужно посмотреть, что скрипт делает в случае если он НЕ получает сообщение от системы оплаты.https://forum.opencart.com/viewtopic.php?t=126001 Edited November 1, 2022 by fortoonas Link to comment Share on other sites More sharing options...
Recommended Posts