Skocz do zawartości
sokon

Aktualizacja cen i stanów z *.csv

Rekomendowane odpowiedzi

Co prawda zabrałem się ostro za pisanie nowego SUPER modułu którego nie ma jeszcze pod Prestę ale nie mam nic przeciwko. Tylko nie mam żadnego pomysłu jak ten temat ugryźć aby rozwiązanie było jak najbardziej uniwersalne....podrzuć jakiś pomysł - może rozjaśni mi się w umyśle ;-)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

E tam... Dla Ciebie to pestka.Sam siebie zacytuję:

Dowcip w tym, że tabela price zawiera informację o wzwyżce lub zniżce w kwocie brutto.Do ps_product_attribute/price należy wprowadzić iloczyn kwoty VAT z indeksu id_tax z różnicą kwot z pliku csv i bazy ps_product/price. I byśmy mieli znakomite narzędzie do integracji z dowolnym programem magazynowym .

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Zaraz coś pokombinuję. Postaram się za godzinkę wrzucić modulik z poprawką do testów...Dodano: Zerknij Vivaldi na modulik w załączniku i napisz czy dokladnie o to chodziło - u mnie działa chyba tak jak powinno...Co prawda czas wykonania się trochę wydłużył ale zapytania do bazy zrobilem "na szybko" i trzeba by je zoptymalizować - lecz nie mam chwilowo głowy na to...

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Niewielkie zmiany:

<span class="syntaxdefault"> </span><span class="syntaxcomment">// chyba wszystko mamy???? to liczymy... </span><span class="syntaxdefault">$cena_produkt_bez_atr</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">number_format</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$cena_produkt_bez_atr</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">2</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"."</span><span class="syntaxkeyword">, </span><span class="syntaxstring">""</span><span class="syntaxkeyword">); </span><span class="syntaxdefault">$podatek</span><span class="syntaxkeyword">=(</span><span class="syntaxdefault">$podatek</span><span class="syntaxkeyword">+</span><span class="syntaxdefault">100</span><span class="syntaxkeyword">)/</span><span class="syntaxdefault">100</span><span class="syntaxkeyword">; </span><span class="syntaxdefault">$cena_atr </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">number_format</span><span class="syntaxkeyword">(((</span><span class="syntaxdefault">$cena </span><span class="syntaxkeyword">- </span><span class="syntaxdefault">$cena_produkt_bez_atr</span><span class="syntaxkeyword">)/</span><span class="syntaxdefault">10</span><span class="syntaxkeyword">), </span><span class="syntaxdefault">2</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"."</span><span class="syntaxkeyword">, </span><span class="syntaxstring">""</span><span class="syntaxkeyword">) * </span><span class="syntaxdefault">$podatek </span><span class="syntaxkeyword">* </span><span class="syntaxdefault">10</span><span class="syntaxkeyword">;      </span><span class="syntaxcomment">//Vivaldi test koniec </span><span class="syntaxdefault"></span>
Kombinacje alpejskie z tej przyczyni, iż chciałem zminimalizować błąd w zaokrągleniach gdy w czasie wprowadzania produktu ktoś posługiwał się cenami brutto i teraz wychodzi mu cena netto z sześcioma znaczącymi cyframi po przecinku.

Muszę zrobić jeszcze kilka testów typu "co by było gdyby" ale myślę, że będzie dobrze.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Chwilowo zostawiam go tak jak jest (robię teraz jeszcze fajniejszy moduł) ale jakbyś miał jakieś pomysły na jego ulepszenie to daj znać - dopisze się parę linijek kodu.... ;-)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Witam!Mam ten moduł od kilku dni, a nawiasem mówiąc kupiłem go zanim znalazłem go tutaj;/ Mam z nim problem, otóż aktualizuje mi tylko część produktów a resztę wypisuje w pliku brakujące. Sprawdzałem na zapleczu sklepu i są w ofercie. Ktoś ma jakiś pomysł? Sokon?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

No nie wiem. Mam go i działa wyśmienicie. Aktualizuje zarówno produkty bez jak i z atrybutami.Możesz napisać coś więcej? Których nie aktualizuje, z atrybutami, bez? Trudno powiedzieć bez przykładu z pliku csv i bazy.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Produkty nie mają atrybutów... Przeglądam teraz bazę i okazuje się, że mam po kilka produktów z tym samym numerem referencyjnym;/ Jakiś szybki sposób żeby to skorygować w bazie?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jak powinno wyglądać zapytanie mysql?Nazwa tabeli do oczyszczenia ze zduplikowanych wpisów to sklep_product. Duplikujące się rekordy to supplier_reference.Gdyby kogoś interesowało rozwiązanie:SELECT * FROM sklep_product GROUP BY supplier_referenceTakie zapytanie wyłoni nam rekordy pogrupowane według kolumny ?supplier_reference?. Aby z takiego zapytania utworzyć tabelę pomocniczą wystarczy lekko je zmodyfikowaćCREATE TABLE tabela_pomocnicza SELECT * FROM sklep_product GROUP BY supplier_referenceW tym momencie posiadamy tabele ?supplier_reference? z duplikatami oraz tabelę ?tabela_pomocnicza? z usuniętymi duplikatami.Teraz jedynie należy zamienić nazwy tabel, usuwając tabelę z duplikatami.Wykonujemy polecenia:DROP TABLE sklep_product;RENAME TABLE tabela_pomocnicza TO sklep_product;Cheers;)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

To fakt. Zauważyłem różnice w nazwach produktów w porównaniu z tymi z których korzysta moduł. Szukam sposobu, żeby to obejść... Jakieś pomysły?Problem rozwiązany!

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

HeyPosiadam ver. 1.4.4.1 pl presty i przyznam się ze mam cholerka meczarnie z "reczna aktualizacja" produtkow - oczywiscie chodzi tylko o zmiane ceny i ilosci a nawet sama cena by wystarczyla...Hurtownia wysyla wygenerowane csv w calkiem innym standardzie niz jest potrzebny do presty - tzn podczasproby wgrania csvki wyskakuje multum komunikatow ze "nie mozna zapisac... i dodatkowo zla wartosc pola name"- a dosc czesto dochodzi do bledu CGI - po minucie wgrywania...Dla tego poszukuje modulu ktory by wlasnie robil aktualizacje produktow wg kodu czy EAN13, wiec zainstalowalem ten modul (ostatnia wersje z tego watku) i probowalem czy zadziala - nic sie nie dzieje - ale jest potwierdzenie ze wczytal 12 plikow ale nie zmodyfikowal nic.A powinien bo wprowadzilem produkt z csvki podajac specjalnie kod producenta...Moze ktos wie w czym moze byc problem importu w tej versji presty??? Zycie by mi uratowala ta informacja doslownie.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

No cóż, nie bardzo możliwe by moduł ten nie działał, gdyż ja jestem przykładem (a w zasadzie mój sklep PS1.2.4), że działa.Oczywiście kiedy go pisaliśmy i testowaliśmy nie było jeszcze PS 1.4.x. Tu powinien wypowiedzieć się ktoś kto posiada 1.4.x czy w bazie tabele mają takie same nazwy. Jeśli tak - działać musi.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Hymm nie watpie w to czy ten modul dziala - bo bym nie probowal jego uzyc jak by tak bylo...

Jednak po przeprowadzeniu prob na wersji 1.4.4.1 pl widze ze cos jest nie tak - bo nic sie nie dzieje...

(pytanie tylko czy po stronie presty u mnie czy po stronie modulu)...?

 

Otoz - wersja ostatnia ze strony "4" tego watku:

Zaraz coś pokombinuję. Postaram się za godzinkę wrzucić modulik z poprawką do testów...

 

Dodano:

Zerknij Vivaldi na modulik w załączniku i napisz czy dokladnie o to chodziło - u mnie działa chyba tak jak powinno...

Co prawda czas wykonania się trochę wydłużył ale zapytania do bazy zrobilem "na szybko" i trzeba by je zoptymalizować - lecz nie mam chwilowo głowy na to...

Załączniki

aktcsv.rar

(6.23 KiB) Pobrane 59 razy

Nie dokonuje wpisu (generowania) pliku txt. ---> Tak probowalem z atrybutami CHMOD i bez zmian.

 

Za to wersja wczesniejsza o 1 - generuje plik txt normalnie ---> bez koniecznosci ustawiania CHMOD.

 

Teraz problem wlasciwy:

Oto co robie - krok po kroku wraz ze screenami...

 

1. Instalacja modulu przez PA presty ---> bez problemow

2. Edycja CSV wg szablonu podanego w module, gdzie rowniez probowalem bez koncowej kolumny EAN13 --->(nr ref. dost; nazwa; cena; ilość), gdzie nr ref dost - zastapilem kodem produktu.

3. Zapis poprawionej CSV - wg tego co widac na screenie

4. Zawsze wyskakuje mi ten komunikat - mysle ze chodzi o problem z kodowaniem bo polskie znaki sie nie pokazuja (ale nie jestem pewien)

5. Podglad w klasycznym edytorze

6. Wprowadzenie testowego produktu z csvki - produkt pierwszy z podanymi testowymi wymyslonymi cenami

7. Zaladowanie csvki na serwer, konfiguracja i przystapienie do aktualizacji...

8. Efekt po aktualizacji ---> brak zmian

9. Brak jakichkolwiek zmian w testowym produkcie.

 

Cos robie zle w tych krokach?

Kurcze - mecze sie z tym juz 4 miesiac z leksza bo jakos nie idzie w ogole wykorzystac funkcji importuj ---> csv a do tego wychodzi nawet ze modul Wasz nie chce u mnie zadzialas - z importem jak juz pisalem mam dziwne problemy dotyczace bledu w zapisie, nie wiem teraz czy format csvki jaki dostaje z hurtowni jest zly [glowne ; a podrzedne ,] - do tego nie wiem czy zapisywanie w excelu 2007 jako CSV rozdzilone przecinkami nie powoduje problemu (jesli tak to jak mam zapisywac ten format csv?).

 

Ogolnie to sadze ze potrzebuje pomocy bo juz sam kombinowalem z tym ile sie da i jestem dalej w kropce.

post-3516-1399570697,43_thumb.jpg

post-3516-1399570697,79_thumb.jpg

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Hymm no nie wiem ale tak jak pisalem wczesniej - wgrywam specjalnie utworzona - testowa csvke z UTF-8 wg standardu presty [; oraz ,"",] i kurde nic nie zmienia.Tak sobie mysle czy w ver. 1.4.4.1 pl nazwy pol nie zostaly zmienione jakos albo odniesienie do bazy danych - bo prefix nie powinien byc problemem. Nie wiem kurcze - Sokon co bys mi poradzil sprawdzic bo widze ze programik jest swietny ale cos go nie widzi... Mam prosbe od a-z jak bys mogl napisac mi odpowiedzi na te pytanka (bo moze tu jest problem):Po instalowaniu modulu - poprawiam sciezke dot. pliku brakujace.txt (dzieki temu wpisuje do pliku txt),nastepnie nadaje glownemu katalogowi CHMOD 777 rowniez testowalem 755 - ale bez zmian, teraz w 1 kolumnie csvustawialem kod producenta ale rowniez probowalem na EAN - i nic. Pytanie - czy nr ref. dostawcy to inaczej kod producenta w prescie?Gdzie moge sprawdzic nazwy php pol w prescie bo niestety sporo tam tego i szukanie po wszystkich plikach bedzie meczaca.Albo jak wam sie wydaje gdzie moze byc blad? Wgrywam zipa z tego watku ale nie ostatniego bo on w ogolne nie dziala u mnie tylko przedostatniego, ktory wczytuje i zapisuje brakujace produkty do txt - jednak nic nie robi innego.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Standard Presty [; oraz ,"",]?! Ale to nie ma być standard Presty, ma być tak jak poniżej:

 

IBO-040czarnyS;produktA_S;19.18;100IBO-040czarnyM;produktA_M;19.18;4IBO-040czarnyL;produktA_L;19.18;20IBO-040czarnyXL;produktA_XL;19.18;40kod_ktorego_nie_ma;Produktu-nie-ma;20.0;1000

nr_ref;nazwa;cena;ilość (żadnych cudzysłowów)

 

Numer referencyjny dostawcy i producenta to dwie odrębne rzeczy.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Standard Presty [; oraz ,"",]?! Ale to nie ma być standard Presty, ma być tak jak poniżej:

Vivaldi widze ze nie patrzyles w kod php - jest tam wykluczenie wystepowania wszelkich znakow takich jak:"" i _ i < - wiec znaki tez nie sa brane pod uwage...ale wczesniej rowniez probowalem formatu: xxx;name;sales;storage - bez "" i bez wszelkich znakow... Rowniez nic.Jakies jeszcze pomysly???

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Vivaldi widze ze nie patrzyles w kod php - jest tam wykluczenie wystepowania wszelkich znakow takich jak:"" i _ i < - wiec znaki tez nie sa brane pod uwage...

Hmmmm... ...no to w takim razie nie mówimy o module z tego tematu.Poniżej z moimi zmianami (choć one na pewno nie są rozwiązaniem problemu).aktcsv.zipedit: możesz na forum wrzucić/wkleić plik .csv z dwoma linijkami?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



  • Przeglądający

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

  • Aktywni użytkownicy

    Nikt jeszcze nie otrzymał reputacji w tym tygodniu.

  • Statystyki forum

    • Tematów
      7 688
    • Postów
      36 913
×