Vulcan163 Posted December 8, 2020 Share Posted December 8, 2020 (edited) Zdrávím, neměl by jste prosím někdo radu jak hromadně upravit cenu u všech produktů? Resp. jde o to, že do teď jsem u produktů zadával cenu do pole koncová cena - kde jsem ale zadával cenu s DPH. V eshopu jsem neměl pole na zadání ceny s DPH a bez DPH - což jsem vyřešil tímto: Nyní ale mám u všech produktů špatnou cenu - Moje cena, kterou chci aby byla vidět zákazníkům (12kč) je v poli Maloobchodní cena bez DPH. Potřeboval bych jí dostat do pole Maloobchodní cena s daní a cena bez daně aby se sama vypočítala. Toto ale potřebuji provést u cca 5000 produktů. Lze to prosím udělat nějak hromadně? Našel jsem i tento návod https://webtrh.cz/395166-prestashop-hromadna-zmena-dph-produktu jak pomocí SQL změnit cenu u všech produktů, ale vždy se cena změní o nepochopitelné procenta a nefunguje to. Předem děkuji za pomoc. Edited December 8, 2020 by Vulcan163 (see edit history) Link to comment Share on other sites More sharing options...
Guest Posted December 9, 2020 Share Posted December 9, 2020 (edited) A nebylo by lepší sem dát SQL dotaz který jsi použil a spustil ? Na webtrhu jsem nahodil pouze informativní SQL dotaz jak dosáhnout změny všech cen, nelze pouze Ctrl + C / Ctrl + V 14,52 ÷ 1,21 = 12 (původní zjištěná hodnota bez DPH a nová cena včetně DPH) 12 ÷ 1,21 = 9,917355 (nová cena bez DPH) Zjisti si v databázi, jaká je cena zapsaná v tabulce. Pokud bude zapsaná cena 12, použiješ ROUND (SUM (price / '1.21') , 6) ..... kde u všech produktů se odečte 21% a zaokrouhlí se na 6 desetinných míst. Pokud jsou DPH u produktů rozdílné, musí se zjistit podle vat group hodnota atd... Případně napsat PHP script, který projde všechny produkty a ceny změní s využitím prestashop funkce getPrice Edited December 9, 2020 by Guest (see edit history) Link to comment Share on other sites More sharing options...
Guest Posted December 9, 2020 Share Posted December 9, 2020 Ale, když si uděláš zpětnou kontrolu, tak zjistíš menší rozdíl ve výpočtu: 9,917355 ×1,21 = 11,99999955 Při standardním nastavení Prestashopu a zaokrouhlení na 2 desetiny dostaneš cenu 12 . Link to comment Share on other sites More sharing options...
Vulcan163 Posted December 9, 2020 Author Share Posted December 9, 2020 Děkuji za odpověď. V SQL tabulce ps_product je uložena správná cena 94Kč - tzn. s DPH Eshop, ale tuto hodnotu zobrazuje jako maloobchodní cenu bez DPH... V SQL tabulce není hodnota pro cenu s DPH i bez DPH - tzn. předpokládám, že Presta si cenu dopočítává logicky sama dle nastaveného daňového pravidla. Potřeboval bych tedy do pole price v tabulce ps_product dostat cenu která tam je aktuálně a tu snížit o 21%. Ještě je zajímavé, když upravím ručně cenu v SQL v poli price tak se cena na eshopu nezmění 😞 Předem díky Link to comment Share on other sites More sharing options...
Guest Posted December 9, 2020 Share Posted December 9, 2020 Pokud jsi se díval na sql dotaz, uvidíš, že se musí cena aktualizovat ve dvou tabulkách. ps_product a ps_product_shop Link to comment Share on other sites More sharing options...
Vulcan163 Posted December 9, 2020 Author Share Posted December 9, 2020 Omlouvám se, ale v SQL nejsem úplně profík. DPH je u všech produktů stejné - 21% UPDATE ps_product SET price = ROUND (SUM (price / '1.21') , 6); UPDATE ps_product_shop SET price = ROUND (SUM (price / '1.21') , 6); Kde je v tomto dotazu chyba ? 😞 Link to comment Share on other sites More sharing options...
Guest Posted December 9, 2020 Share Posted December 9, 2020 Mezera za sum a ROUND UPDATE ps_product SET price = ROUND(SUM(price / '1.21') , 6); UPDATE ps_product_shop SET price = ROUND(SUM(price / '1.21') , 6); Link to comment Share on other sites More sharing options...
Vulcan163 Posted December 9, 2020 Author Share Posted December 9, 2020 😞 Link to comment Share on other sites More sharing options...
Guest Posted December 9, 2020 Share Posted December 9, 2020 kde je hosting ? Link to comment Share on other sites More sharing options...
Vulcan163 Posted December 9, 2020 Author Share Posted December 9, 2020 www.ebola.cz Link to comment Share on other sites More sharing options...
Guest Posted December 9, 2020 Share Posted December 9, 2020 A bez ROUND to také nefunguje ? UPDATE ps_product SET price = SUM(price / '1.21'); UPDATE ps_product_shop SET price = SUM(price / '1.21'); Link to comment Share on other sites More sharing options...
Vulcan163 Posted December 9, 2020 Author Share Posted December 9, 2020 Úplně stejná chyba 😞 Link to comment Share on other sites More sharing options...
Guest Posted December 10, 2020 Share Posted December 10, 2020 U všech cen odečíst 21%: UPDATE ps_product SET price = (price / '1.21') WHERE price > 0; UPDATE ps_product_shop SET price = (price / '1.21') WHERE price > 0; Pokud existují atributy a speciální ceny, použije se také: UPDATE ps_product_attribute SET price = (price / '1.21') WHERE price > 0; UPDATE ps_product_attribute_shop SET price = (price / '1.21') WHERE price > 0; UPDATE ps_specific_price SET price = (price / '1.21') WHERE price > 0; produkty před úpravou: produkty po úpravě: Link to comment Share on other sites More sharing options...
Vulcan163 Posted December 10, 2020 Author Share Posted December 10, 2020 Funguje. Mockrát Ti děkuji za pomoc Link to comment Share on other sites More sharing options...
Guest Posted December 12, 2020 Share Posted December 12, 2020 To jsem rád. Na poděkování jsou zde šedé srdce pod příspěvky, tím můžeš dát like ... 😎 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now