Polskie wsparcie PrestaShop

PrestaShop => Dla początkujących => Wątek zaczęty przez: belialek w Styczeń 25, 2013, 01:43:30 pm

Tytuł: SQL - gdzie jest zapisana cena końcowa produktu?
Wiadomość wysłana przez: belialek w Styczeń 25, 2013, 01:43:30 pm
Witam,

Czy w bazie danych Presty (1.4) znajduje się tabela w której jest zapisana wartość końcowa produktu? W tej chwili korzystam z lekko zmodyfikowanej wersji, w której po wprowadzeniu ceny netto dodaje się 23% (podatek) oraz doliczana jest z automatu marża (chodzi o zachowanie cen magazynowaych jako cen netto). Na sklepie wszystko działa prawidłowo, ale teraz chciałem zmienić marżę na inną - wiąże się to z pomnożeniem przez odpowiedni współczynnik właśnie tej ceny końcowej której nie mogę nigdzie znaleźć...

Z góry dziękuję za pomoc!
Tytuł: Odp: SQL - gdzie jest zapisana cena końcowa produktu?
Wiadomość wysłana przez: sower w Styczeń 25, 2013, 02:39:57 pm
podstawowa cena produktu jest przechowywana w tabeli product i jest to cena netto

Tak dla potomności - tu jest schemat bazy danych http://www.daveegerton.com/assets/images/database-schema-prestashop.png
Tytuł: Odp: SQL - gdzie jest zapisana cena końcowa produktu?
Wiadomość wysłana przez: belialek w Styczeń 25, 2013, 03:21:23 pm
Witam,

No tak cenę netto znalazłem - w takim razie w jaki sposób jest przechowywana informacja o końcowej cenie, skoro jedyna rzecz jaką modyfikowałem to reguła wyliczania ceny końcowej (javascript w panelu administracyjnym).


var priceTE = parseFloat(document.getElementById('priceTE').value.replace(/,/g, '.'));
priceTE = priceTE+(priceTE/100*90);
var newPrice = priceTE * ((tax / 100) + 1);

Wprowadzając "cena netto sprzedaży: 100" pojawia się "Cena sprzedaży z podatkiem: 190", po wybraniu z listy wartości podatku 23% otrzymuję "Cena sprzedaży z podatkiem: 233,70" czyli poprawną kwotę podatek + marża... Przy czym cena netto/brutto na sklepie wszędzie się zgadza a różnica wynosi dokładnie 23%. Cena brutto na sklepie przy takim zabiegu to 233,70, a w tabeli "products" kolumna "price" zawiera wartość 100.

Czyli ta wartość końcowa musi być jednak gdzieś zapisywana...
Tytuł: Odp: SQL - gdzie jest zapisana cena końcowa produktu?
Wiadomość wysłana przez: sower w Styczeń 25, 2013, 04:27:58 pm
Cytuj
Czyli ta wartość końcowa musi być jednak gdzieś zapisywana...

to jak już znajdziesz w bazie cenę brutto produktu to podziel się ... tą informacją pewnie wiele osób będzie ciekawych gdzie to się znajduje
Tytuł: Odp: SQL - gdzie jest zapisana cena końcowa produktu?
Wiadomość wysłana przez: Presta-Entwickler w Styczeń 25, 2013, 04:58:38 pm
@Sower juz ci zasygnalizował, że nie znajdziesz tego w bazie. A jaki masz problem z ceny netto zrobić sobie cene koncowa skoro wiesz jaka masz marze i jaki masz podatek?
Tytuł: Odp: SQL - gdzie jest zapisana cena końcowa produktu?
Wiadomość wysłana przez: belialek w Styczeń 25, 2013, 05:50:16 pm
Cały problem polega na tym, że ceny netto w sklepie muszą się zgadzać z cenami magazynowymi, ta wartość musi pozostać niezmieniona. Jedyne co mogłem i (do tej pory robiłem) to ten manewr w plikach js...

Zastanawia mnie właśnie to, że przy wprowadzaniu produktu o wartości 100zł netto, wartość końcowa bez podatku to 190zł a końcowa z podatkiem to 233,70 przy czym w bazie danych cena się zapisuje niezmieniona (100). Skoro te pozostałe informacje nie są zapisywane w bazie danych, to skąd Presta "wie" że cena końcowa to nie jest 123 (netto+vat) tylko właśnie 233.70 (netto+marza ustawiona w js przy dodawaniu produktu+vat)?

Do tego ta cena na sklepie jest zgodna z obliczeniami, bo wyświetla 190zl netto (skąd presta bierze tą wartość skoro cena w bazie jest 100?) + vat...
Tytuł: Odp: SQL - gdzie jest zapisana cena końcowa produktu?
Wiadomość wysłana przez: design4VIP w Styczeń 25, 2013, 06:36:30 pm
a jezlei masz dwa jablka i mama doniesie Ci jeszcze jedno to skad wiesz, ze masz trzy?

cena wyliczana jest wzorami wg ceny netto, ktora JAKO JEDYNA zapisana jest w module. dalej wyliczana jest na podstawie cena netto*vat+/-promocja*vat(bo promocje tez zapisane w bazie sa netto)+jak sobie dorzuciles juz pokretnie twoja marza. acha i jak wprowadzalbys atrybuty to roznice w cenach w bazie tez sa przechowywane tylko netto, koszty wysylki-netto....

ewentualnie koncowa cene podsumowania zakupow, jakbys chcial szukac to mozesz przerzucic koszyki w bazie, ale tam tez znajdziesz tylko wartosc koszyka NETTO

cena wyliczana jest przede wszystkim w contolerach produktu, a w java tylko to co wyswietla sie karcie produktu dynamicznie.
Tytuł: Odp: SQL - gdzie jest zapisana cena końcowa produktu?
Wiadomość wysłana przez: belialek w Styczeń 25, 2013, 06:52:57 pm
Dzięki za podpowiedź

Co już wiem:
- jedyna cena przechowywana w bazie danych to cena netto
- zmieniony plik js jest tylko wykorzystywany po stronie klienta przy dodawaniu nowego produktu

Czego nie wiem:
- skoro nie modyfikowano innych plików, kontrolerów itd to gdzie ta informacja z fragmentu kodu podanego wcześniej zostaje zapisana (gdzieś musi, skoro sklep wyświetla poprawnie cenę pomnożoną przez 1.9)

- który plik odpowiada za wyliczenie ceny (może tam spróbuję coś zmienić...)