JaCube Posted November 4, 2014 Share Posted November 4, 2014 Witam, problem polega na tym, że po złożeniu zamówienia -> odbiór w sklepie -> zapłać w w sklepie, ma ono status "oczekiwanie na płatność przelewem bankowym". W pliku php ustawione jest pobieranie z bazy w tabeli ps_configuration rekordu "ADD_INSTORE_STATUS_" do któego przypisany jest status nr. 23 czyli "Do zapłaty w sklepie- w przygotowaniu". Popatrzyłem do tabeli "ps_order_history" i zorientowałem się, że zamówienie przyjmuje poprawny status ale w tej samej sekundzie zmienia się na "oczekiwanie na płatność przelewem bankowym". Wcześniej usuwałem swoje testowe zamówienia, może coś namieszałem, jak to naprawić? W panelu zamówienia mają luki w id, gdzie w bazie powinienem pousuwać jeszcze rekordy? Link to comment Share on other sites More sharing options...
endriu107 Posted November 4, 2014 Share Posted November 4, 2014 Oj toś narobił sobie bałaganu, niepoprawne usuwanie zamówień kończy siw właśnie takimi problemami. Zamówienia to wiele tabel które dodatkowo posiadają auto increment więc nowe zamówienia mogą mieć starych dostawców, stare produkty, czy rodzaje płatności. Musisz posprzątać bazę i najlepiej ustawić w tabelach autoincrement wszędzie takie samo. Link to comment Share on other sites More sharing options...
JaCube Posted November 4, 2014 Author Share Posted November 4, 2014 (edited) Ok ale w jakich tabelach konkretnie posprzątać? I co pozmieniać żeby wszystko do siebie dopasować i aby kolejne zamówienia chodziły w porządku. W jaki sposób usuwać zamówienia w przyszłości? //EDIT Ok jeden problem rozwiązany, jest to standard, że zamówienie przyjmuje jeden status, po czym zmienia się na drugi. Bankwire działa prawidłowo czyli przyjmuje status oczekiwania, potem zmienia się na brak towaru (o czym nie wie klient) i tak ma być. Jednak moduł za pobraniem przyjmuje najpierw status brak towaru, a potem w realizacji czy jak tam się go nazwie. W głównym pliku php jest taki sam kod jak w classes/PaymentModule.php czyli: if (Configuration::get('PS_STOCK_MANAGEMENT') && $order_detail->getStockState()) { $history = new OrderHistory(); $history->id_order = (int)$order->id; $history->changeIdOrderState(Configuration::get('PS_OS_OUTOFSTOCK'), $order, true); $history->addWithemail(); } a w Bankwire: if (in_array($state, array(Configuration::get('PS_OS_BANKWIRE'), Configuration::get('PS_OS_OUTOFSTOCK'), Configuration::get('PS_OS_OUTOFSTOCK_UNPAID')))) { $this->smarty->assign(array( 'total_to_pay' => Tools::displayPrice($params['total_to_pay'], $params['currencyObj'], false), 'bankwireDetails' => Tools::nl2br($this->details), 'bankwireAddress' => Tools::nl2br($this->address), 'bankwireOwner' => $this->owner, 'status' => 'ok', 'id_order' => $params['objOrder']->id )); if (isset($params['objOrder']->reference) && !empty($params['objOrder']->reference)) $this->smarty->assign('reference', $params['objOrder']->reference); } Jak to przerobić? Edited November 5, 2014 by JaCube (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts