Skocz do zawartości

powershop24.pl

Members
  • Zawartość

    117
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Posty dodane przez powershop24.pl


  1. Problem jest w tym, że przy zamówieniach w walucie obcej cena hurtowa zakupu nie jest przelicza na walutę, tylko podawana w złotówkach. Cała reszta wartości jest w walucie. Zysk liczony jest jako różnica pomiędzy ceną sprzedaży a ceną hurtową zakupu, która w powyższym przypadku potrafi być większa od ceny sprzedaży. To błąd w Presta. Ta cena hurtowa zapisywana jest w tabeli ps_order_detail w kolumnie purchase_supplier_price. Powinna być pomnożona przez kurs waluty pobrany z tabeli ps_order (kolumna conversion_rate). Niestety tak się nie dzieje.

     

    P.S. Problem dotyczy nie tyle samych złotówek, co zamówień w innej walucie niż waluta domyślna sklepu.

     

    Pozdrawiam!

    Krzysiek


  2. jaka wersja presty - 1.6? jak tak to Lokalizacje -> Kraje i edytujesz każdy kraj dopisując nazwę w innym języku

     

    taki bug w preście, że jak się przy instalacji wybierze j.polski to nazwy krajów są wyłącznie w j.polskim

    No niestety, ja też musiałem ręcznie zmieniać nazwy na angielskie.

     

    K.


  3. Witam!

    W PS 1.6.0.8 (nie wiem jak nowszych wersjach) jest błąd polegający na tym, że przy składaniu zamówienia z płatnością w walucie obcej (innej niż domyślna sklepu), źle uzupełniana jest kolumna "purchase_supplier_price" w tabeli "order_details". Jest to kolumna do której wstawiana jest cena hurtowa netto zakupu produktu. Niestety za każdym razem wbijana jest tam cena w walucie domyślniej sklepu (np. w PLN). Natomiast do kolumny "original_product_price" wbijana jest cena netto sprzedaży produktu w faktycznej walucie sprzedaży. Presta korzysta z tych 2 kolumn do liczenia zysku z zamówienia. Ponieważ w przypadku zamówień w walucie obcej obie kolumny są wartościami dla różnych walut, to zysk (szczególnie jak cena hurtowa jest w PLN) potrafi być ujemny. Błąd polega na tym, że wartość w polu "purchase_supplier_price" powinna być przemnożona przez kurs waluty, ale niestety nie jest.

    Czy jest jakaś gotowa poprawka tej funkcji, czy też trzeba samemu coś pozmieniać w plikach? Jeśli tak, to gdzie i co trzeba zmienić?

     

    K.


  4. Czy po usunięciu modułu ship2pay jest ok i problem znika? Nikt nie zgłaszał podobnego problemu ale jest taka możliwość że to wina modułu.

    Tak, problemu nie ma gdy nie działa Ship2Pay.

     

    Problemem jest na pewno to, że w koszyku domyślnie wpada przewoźnik o ID=0 (pomimo tego że w ustawieniach jest wybrany konkretny przewoźnik jako domyślny o id<>0), a Ship2Pay sprawdza domyślnego przewoźnika w koszyku i dla niego wstawia wpis do listy przewoźników.

    Nie wiem czy domyślnie Presta powinna wstawiać id domyślnego przewoźnika do nowego koszyka, tym bardziej że koszty wysyłki pobiera prawidłowo, czy też nie. Mam wrażenie że problem zaczął się wtedy, gdy w konfiguracji przewoźników dodałem ceny dla innych stref (krajów). Może dlatego wbijane jest id=0? Nie mam niestety jak sprawdzić zachowania Presty (czy wstawia id=0 do koszyka) gdy jest tylko jedna strefa w konfiguracji cennika przewoźników.

     

    K.


  5. Witam!

    Mam problem z generowaniem zamówień z poziomu BO, zarówno z poziomu już istniejącego koszyka jak i zupełnie nowego zamówienia.

    Samo okno parametrów zamówienia wyświetla się i działa prawidłowo, natomiast po wciśnięciu przycisku zatwierdzenia zamówienia, pojawia się biały ekran no i oczywiście nic się nie dzieje, zamówienie nie powstaje. W logach błędów serwera znalazłem taki wpis:

     

    "[Fri Jan 09 15:21:57 2015] [warn] [client 195.205.239.221] mod_fcgid: stderr: PHP Fatal error: Call to a member function getProducts() on a non-object in /home/foral2/domains/foral2.vot.pl/public_html/ps1.6/classes/CartRule.php on line 634, referer: http://www.powershop24.pl/admin1304/index.php?controller=AdminOrders&token=1782a767469e974cb4a1a51449e30211&id_cart=646&addorder"

     

    Presta 1.6.0.8.

     

    Czy ktoś miał podobny problem?

     

    W załączniku plik CartRule.php.

     

    K.

    CartRule.php


  6. W każdym nowo utworzonym koszyku pojawia mi się w polu id_carrier wartość 0. Podejrzewam że właśnie stąd brany jest ten pseudo przewoźnik o id=0. Czy nie ma to związku z zapytaniem sql z pliku Hook.php? W linii 48 jest zapis "AND stp.`id_carrier` = ' . (int)$context->cart->id_carrier".

    Dopiero po wybraniu w dalszych krokach docelowego przewoźnika, ten pseudo przewoźnik znika z listy.

    if ($hook_name != 'displayPayment')
                    $sql->where('h.name != "displayPayment"');
                // For payment modules, we check that they are available in the contextual country
                elseif ($frontend)
                {
                    // ShipToPay remove fix (override still exists but module not)
                    if(Module::getInstanceByName('shiptopay')->active)
                        $sql->innerJoin('shiptopay', 'stp', 'stp.`id_payment` = m.`id_module` AND stp.`id_carrier` = ' . (int)$context->cart->id_carrier . ' AND stp.`id_shop` = ' . (int)$context->shop->id);
    
                    if (Validate::isLoadedObject($context->country))
                        $sql->where('(h.name = "displayPayment" AND (SELECT id_country FROM '._DB_PREFIX_.'module_country mc WHERE mc.id_module = m.id_module AND id_country = '.(int)$context->country->id.' AND id_shop = '.(int)$context->shop->id.' LIMIT 1) = '.(int)$context->country->id.')');
                    if (Validate::isLoadedObject($context->currency))
                        $sql->where('(h.name = "displayPayment" AND (SELECT id_currency FROM '._DB_PREFIX_.'module_currency mcr WHERE mcr.id_module = m.id_module AND id_currency IN ('.(int)$context->currency->id.', -1, -2) LIMIT 1) IN ('.(int)$context->currency->id.', -1, -2))');
                }
    

    K.


  7. Usunąłem moduł Payments 2 Carriers, problem zniknął. Zainstalowałem Ship2Pay 2.0, problem wrócił. Dla tego pseudo przewoźnika nie ma w dalszym kroku zdefiniowanej żadnej metody płatności, więc nawet ekran kolejnego kroku się nie ładuje.

    ID przewoźnika który się pojawia pod tą pozycją to 0:

     

    http://screencast.com/t/iyNw1zVlWk3

     

    Oczywiście nie ma takowego w bazie danych.

     

    K.


  8. Witam!

    Pojawił się u mnie niedawno w sklepie problem polegający na tym, że prawie za każdym razem podczas składania zamówienia, na liście przewoźników, na ostatniej pozycji dodaje mi się dodatkowa pozycja z darmową wysyłką (link do ekranu poniżej). Nie odpowiada ona żadnemu ze zdefiniowanych w sklepie przewoźników. Nie wiem skąd się tam bierze. Korzystam w sklepie z modułu łączącego sposób płatności ze sposobem wysyłki (PrestaCenter Payments 2 Carriers Free v0.9.1), ale używam go dużo dłużej niż pojawił się problem. Oczywiście po wyborze tej opcji i przejściu dalej, nic się nie dzieje.

     

    Mam też zdefinowanych innych przewoźników dla krajów innych niż Polska. Ale problem występuje i dla klientów z Polski i dla klientów z zagranicy.

    Dla Polski mam zdefiniowaną inną przesyłkę darmową. Dla krajów zagranicznych nie mam zdefiniowanej przesyłki darmowej. W ustawieniach dostawy jako domyślny przewoźnik mam ustawione "Najlepsza cena".

     

    Jeśli wybiorę innego (istniejącego w konfiguracji) przewoźnika, przejdę dalej i cofnę się z powrotem do listy przewoźników, to tej darmowej pozycji już nie ma na liście.

     

    Link do ekranu:

    http://screencast.com/t/ZR9mWg5ierWN

     

    Co może być tego przyczyną?

    Sklep: www.powershop24.pl

    Prestashop 1.6.0.8

     

    Pozdrawiam!

    Krzysiek

     


  9. Powyższe zapytanie skleja poniższe kolumny w celu wyświetlenia lokalizacji:

     

    zone

    sous_zone

    location

     

    Kolumny te powinny znajdować się w tabeli ps_warehouse_product_location. Niestety jest tam tylko jedna z nich - location, stąd błąd.

    Proponuję w zapytaniu SQL zamienić linię:

    CONCAT(wpl.zone, ";", wpl.sous_zone, ";", wpl.location) as location,

    na same:

    wpl.location;

    K.

×