wdrożenia PrestaShop

SQL - gdzie jest zapisana cena końcowa produktu?

  • 7 Odpowiedzi
  • 4100 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline belialek

  • Użytkownik
  • **
  • 24
  • 0
SQL - gdzie jest zapisana cena końcowa produktu?
« dnia: 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!

*

Offline sower

  • Mieszkaniec
  • *****
  • 1,016
  • 3
    • I Love PrestaShop
  • PrestaShop: PS
  • Status: Programista
Odp: SQL - gdzie jest zapisana cena końcowa produktu?
« Odpowiedź #1 dnia: 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
SZYBKA POMOC TECHNICZNA : gg 45116037
SKLEPY | MODUŁY | INTEGRACJE | POMOC TECHNICZNA

*

Offline belialek

  • Użytkownik
  • **
  • 24
  • 0
Odp: SQL - gdzie jest zapisana cena końcowa produktu?
« Odpowiedź #2 dnia: 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...
« Ostatnia zmiana: Styczeń 25, 2013, 04:09:22 pm wysłana przez belialek »

*

Offline sower

  • Mieszkaniec
  • *****
  • 1,016
  • 3
    • I Love PrestaShop
  • PrestaShop: PS
  • Status: Programista
Odp: SQL - gdzie jest zapisana cena końcowa produktu?
« Odpowiedź #3 dnia: 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
SZYBKA POMOC TECHNICZNA : gg 45116037
SKLEPY | MODUŁY | INTEGRACJE | POMOC TECHNICZNA

*

Offline Presta-Entwickler

  • Użytkownik
  • **
  • 37
  • 0
  • Status: Programista
Odp: SQL - gdzie jest zapisana cena końcowa produktu?
« Odpowiedź #4 dnia: 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?

*

Offline belialek

  • Użytkownik
  • **
  • 24
  • 0
Odp: SQL - gdzie jest zapisana cena końcowa produktu?
« Odpowiedź #5 dnia: 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...

*

Offline design4VIP

  • user
  • Mieszkaniec
  • *****
  • 3,866
  • 131
    • design4VIP z innej strony...
  • PrestaShop: PS
  • Status: Programista
Odp: SQL - gdzie jest zapisana cena końcowa produktu?
« Odpowiedź #6 dnia: 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.
design4VIP z innej strony...

*

Offline belialek

  • Użytkownik
  • **
  • 24
  • 0
Odp: SQL - gdzie jest zapisana cena końcowa produktu?
« Odpowiedź #7 dnia: 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ć...)