Jump to content

deech123

Members
  • Posts

    223
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

deech123's Achievements

Newbie

Newbie (1/14)

1

Reputation

  1. Hoi iedereen, ik heb hier een hele lastige vast die ik totaal niet kan oplossen en zelfs niet weet hoe het überhaut ontstaat. korte schets van de situatie : Ik heb al jaren een shop (prestashop 1.6.1.1) en die werkt perfect. Ik heb zowel Belgische als Nederlandse klanten. tot op heden was het voor iedereen altijd inclusief 21% btw. nu krijg ik meer en meer de vraag van bedrijven in Nederland tot leveren van BTW vrij orders. Logisch, deze mensen beschikken over een geldig btw nummer, dus leveren vanuit België naar Nederland aan zo'n firma's is altijd excl 21%btw (vrijstelling van BTW). nu vond ik op het internet terug dat ik gewoon bij de modules de module : Europees BTW nummer moet activeren, het land kiezen (België : veronderstel ik dus, en dan of er een webcheck moet zijn op dat btw nummer, heb ik op ja gezet). zodra ik dat doe is het hek helemaal van de dam. De Nederlandse klanten krijgen dan de Belgische prijzen te zien excl 21% maar dan nog eens 21% minder, dus ze krijgen precies 2X 21% korting. iets dan in België 168.39 € kost incl 21% btw komt dan plots als 115.02€ excl btw op het scherm, dat klopt dus totaal niet. nu ben ik verder gaan grasduinen in mijn setup en mss dat ik ergens iets over het hoofd zie, want ik zag dat bij mijn localisatie -> belastingen ik 1 ingave heb genaamd 21% met tarief = 21.00 en is ingeschakeld, btw in winkelwagen = ja, gebasseerd op = facturatieadres, gebruik ecobelasting = ja, milieuheffing = geen btw. totzover lijkt mij dit te kloppen. Bij de localisatie -> btw-regels heb ik 1 ingave = de naam van mij is 21% btw voor iedereen en daaronder zitten 2 landen : Belgie met de geselecteerde 21% btw van hierboven en Nederland ook al ingave. Wanneer een klant uit NL nu inlogt is dat perfect voor iedereen dus 21% btw. doordat het met die module "Europees BTW nummer" mis liep ben ik gaan zoeken en dacht ik : mss moet ik wel bedie landen in localisatie -> belastingen en BTW-regels apart gaan zetten, maar dan loopt het ook weer helemaal verkeerd. dan krijgen alle Nederlandse klanten, met of zonder firma en btw nummer de prijzen te zien met opnieuw 2x 21% minder... ik zal proberen zoveel mogelijk informatie te geven en hopelijk kan iemand mij op weg helpen waarom het al mis loopt zonder de europees btw nummer module, zodra ik de belastingen en btw-regels voor Nederland EN België uitsplits. bij Localisatie -> talen heb ik gewoon Nederlands (dutch) staan bij Localisatie -> zones heb ik er 2 staan : Nederland En België Bij Localisatie - > landen heb ik uiteraard dan ook 2 landen staan : Nederland en België en dan bij Localisatie -> Belastingen zoals vermeld nu maar 1 regel = 21% omdat de btw in NL en BE gelijk is. en bij Localisatie -> BTW-regels ook maar 1 met daaronder België en Nederland. zo werkt het perfect, enkel zodra ik de Europees btw nummer module inschakel heb ik 2X21% minder op de prijs voor alle Nederlandse klanten MET firmanaam EN btw nummer die rare prijs. voor Nederlandse klanten ZONDER firmanaam en BTW nummer is de prijs mooi 21% btw INCLUSIEF. wie kan mij hier helpen, want na 4 uren zoeken en proberen ben ik er totaal niet aan uit hoe het kan en komt? ik hoor het graag terug als iemand een tipje van de sluier kan oplichten :-) alvast bedankt.
  2. Hi ik heb nu deze effen gemaakt in een PHP file, maar die werkt niet :-( enig idee wat ik mis doe? je zal zien dat ik als test de waardes manueel heb ingevuld die echt wel bestaan als order en als carrier etc.. $order = new Order(9); $id_order_carrier = new Carrier(10); $customer = new Customer(1); $tracking_number = '323299950770070483590112'; deze lijnen heb ik in commentaar gezet, want ik doe geen submit :-) /*if (Tools::isSubmit('submitShippingNumber') && isset($order)) { if ($this->tabAccess['edit'] === '1') {*/ <?php echo "TEST"; include(dirname(__FILE__).'/../config/config.inc.php'); $order = new Order(9); $id_order_carrier = new Carrier(10); $customer = new Customer(1); $tracking_number = '323299950770070483590112'; /* Update shipping number */ /*if (Tools::isSubmit('submitShippingNumber') && isset($order)) { if ($this->tabAccess['edit'] === '1') {*/ $order_carrier = new OrderCarrier(Tools::getValue('id_order_carrier')); if (!Validate::isLoadedObject($order_carrier)) { $this->errors[] = Tools::displayError('The order carrier ID is invalid.'); } elseif (!Validate::isTrackingNumber(Tools::getValue('tracking_number'))) { $this->errors[] = Tools::displayError('The tracking number is incorrect.'); } else { // update shipping number // Keep these two following lines for backward compatibility, remove on 1.6 version $order->shipping_number = Tools::getValue('tracking_number'); $order->update(); // Update order_carrier $order_carrier->tracking_number = pSQL(Tools::getValue('tracking_number')); if ($order_carrier->update()) { // Send mail to customer $customer = new Customer((int)$order->id_customer); $carrier = new Carrier((int)$order->id_carrier, $order->id_lang); if (!Validate::isLoadedObject($customer)) { throw new PrestaShopException('Can\'t load Customer object'); } if (!Validate::isLoadedObject($carrier)) { throw new PrestaShopException('Can\'t load Carrier object'); } $templateVars = array( '{followup}' => str_replace('@', $order->shipping_number, $carrier->url), '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{id_order}' => $order->id, '{shipping_number}' => $order->shipping_number, '{order_name}' => $order->getUniqReference() ); if (@Mail::Send((int)$order->id_lang, 'in_transit', Mail::l('Package in transit', (int)$order->id_lang), $templateVars, $customer->email, $customer->firstname.' '.$customer->lastname, null, null, null, null, _PS_MAIL_DIR_, true, (int)$order->id_shop)) { Hook::exec('actionAdminOrdersTrackingNumberUpdate', array('order' => $order, 'customer' => $customer, 'carrier' => $carrier), null, false, true, false, $order->id_shop); Tools::redirectAdmin(self::$currentIndex.'&id_order='.$order->id.'&vieworder&conf=4&token='.$this->token); } else { $this->errors[] = Tools::displayError('An error occurred while sending an email to the customer.'); } } else { $this->errors[] = Tools::displayError('The order carrier cannot be updated.'); } } /* } else { $this->errors[] = Tools::displayError('You do not have permission to edit this.'); } }*/ ?> als ik dit uitvoer krijg ik dit als fout TEST Fatal error: Using $this when not in object context in /data/sites/web/testdegrootstebe/www/getftp/trackSend.php on line 15 enig idee waar ik de mist inga? thx
  3. Dus dit zou moeten lukken? <?php $directory = dirname(__FILE__); $order = new Order(9); // deze variabele haal ik op = Id_order $carrier = new Carrier(10); // deze variabele haal ik op = Id_order_carrier $customer = new Customer(1); // deze variabele haal ik op = Id_customer $orderTrack = '323299950770070483590112'; // dit is bv een track code.. /* Update shipping number */ if (Tools::isSubmit('submitShippingNumber') && isset($order)) { if ($this->tabAccess['edit'] === '1') { $order_carrier = new OrderCarrier(Tools::getValue($carrier)); if (!Validate::isLoadedObject($carrier)) { $this->errors[] = Tools::displayError('The order carrier ID is invalid.'); } elseif (!Validate::isTrackingNumber(Tools::getValue($orderTrack))) { $this->errors[] = Tools::displayError('The tracking number is incorrect.'); } else { // update shipping number // Keep these two following lines for backward compatibility, remove on 1.6 version $order->shipping_number = Tools::getValue($orderTrack); $order->update(); // Update order_carrier $order_carrier->tracking_number = pSQL(Tools::getValue($orderTrack)); if ($order_carrier->update()) { // Send mail to customer $customer = new Customer((int)$order->id_customer); $carrier = new Carrier((int)$order->id_carrier, $order->id_lang); if (!Validate::isLoadedObject($carrier)) { throw new PrestaShopException('Can\'t load Customer object'); } if (!Validate::isLoadedObject($carrier)) { throw new PrestaShopException('Can\'t load Carrier object'); } $templateVars = array( '{followup}' => str_replace('@', $order->shipping_number, $carrier->url), '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{id_order}' => $order->id, '{shipping_number}' => $order->shipping_number, '{order_name}' => $order->getUniqReference() ); if (@Mail::Send((int)$order->id_lang, 'in_transit', Mail::l('Package in transit', (int)$order->id_lang), $templateVars, $customer->email, $customer->firstname.' '.$customer->lastname, null, null, null, null, _PS_MAIL_DIR_, true, (int)$order->id_shop)) { Hook::exec('actionAdminOrdersTrackingNumberUpdate', array('order' => $order, 'customer' => $customer, 'carrier' => $carrier), null, false, true, false, $order->id_shop); Tools::redirectAdmin(self::$currentIndex.'&id_order='.$order->id.'&vieworder&conf=4&token='.$this->token); } else { $this->errors[] = Tools::displayError('An error occurred while sending an email to the customer.'); } } else { $this->errors[] = Tools::displayError('The order carrier cannot be updated.'); } } } else { $this->errors[] = Tools::displayError('You do not have permission to edit this.'); } } ?>
  4. okey.... dus met deze : $order = new Order($id_order); $carrier = new Carrier($order->id_carrier); $customer = new Customer($order->id_customer); haal ik alle nodige gegevens op om die email te kunnen verzenden? ik heb dus enkel het id_order, id_carrier (kan ik eventueel vast zetten want is altijd dezelfde) en dan id_customer nodig. daarna voer ik de lap code uit die jij hierboven schreef om de email te verzenden.... en dat moet volgens jouw lukken? ik ga de proberen... ik hou je op de hoogte. D.
  5. hi bedankt, maar met die 3 lijntjes kan je volgens mij onmogelijk de gegevens opvragen die nodig zijn om de email te versturen toch?
  6. Beste MDekker, thx voor dit stukje. maar wel zie ik dat je het niet zomaar kan gebruiken, je moet dus nml ook nog de variabelen kunnen opvragen en invullen : '{followup}' => str_replace('@', $order->shipping_number, $carrier->url), '{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{id_order}' => $order->id, '{shipping_number}' => $order->shipping_number, '{order_name}' => $order->getUniqReference() dus de vraag is dan, ken jij een class in prestashop waarmee ik aan de hand van het orderid of ordernummer direct die gegevens kan bemachtigen zonder weer 3 of 4 querries te schrijven? thx voor je voorzet alvast !!
  7. nobody that can help me out to send the correct email after i updated the track number by an own made php script? :-(
  8. iemand die hier de oplossing van weet? ik blijf maar zoeken maar niemand kan mij blijkbaar het antwoord geven :-(
  9. Same here, 11600 products, server is set to higheest timeout, added more memory, nothing helps. after some time the complete xml generation just crash. I hope this can be solved, since it's not strange to have so much products. in my old prestashop 1.3, this was not a problem at all.. there I generated the xml every week over and over. anybody that know's how to solve it? i use this module on latest prestashop 1.6 : SEO Google-sitemap v3.2.0 - door PrestaShop
  10. UP... is there really nobody that can answer this question? is that not possible in Prestashop... I would doubt it... :-(
  11. seems really nobody know how to do it... I find it very strange no reactions do come on this request.... :-(
  12. seems nobody knows... i'm also looking for 10 days for a solution. just adding this : <a href="{followup}">{followup}</a> will not work if you update the status like : $order = new Order($id_order); $order->setCurrentState(4); it will show the link if you resend the email from the BO.... a bit a bumber, since I update tracknumbers every night in batch files.... D.
  13. update : this code works allready perfect : $order_carrier = new OrderCarrier($id_order_carrier); $order_carrier->tracking_number = $shipping_number; $order_carrier->update(); where shipping_number is my tracking-number. what is the exact extra code needed to send out the email automatically (when I do it manualy in the BO, then it works perfect :-) ) but I want to call it thru a PHP file. hope somebody can tell me what I miss...I can not find. D.
  14. hi, ik heb een aantal zaken al geprogrammeerd die niet standaard zijn. zo haal ik 's avonds alle trackingcodes op uit een .csv file, en ga ik deze één voor één gaan updaten in de juiste tabel. alles werkt, enkel wil ik nu nog weten hoe ik de email MET de trackcode kan verzenden. manueel de trackingcode invullen lukt perfect, de email gaat weg. maar ik wil dat nu vanuit een PHP pagina oproepen. dit werkt bv al perfect : $order_carrier = new OrderCarrier($id_order_carrier); $order_carrier->tracking_number = $shipping_number; $order_carrier->update(); waar het shipping_number mijn eigen tracking code is van de vervoerder. maar wat moet ik nog meer bijzetten om de email effectief te verzenden? iemand een idee? D.
  15. For the info, I need the piece of code that I can use in PHP after I do some stuff and then the update like : $sql2 = "UPDATE `ps_order_carrier` SET tracking_number=$tracknummer WHERE id_order=$id_order"; after this code I want to call a class to send the email with trackcode to the client. this is not done on the backend administration, this is runned by special PHP page an cronjob. hope somebody knows where I can look of give me the piece of code where you can just set the Id order or orderreference. D
×
×
  • Create New...