getRate() und Magento Steuersatz

Ich versuche, den Steuersatz (Prozentsatz, nicht die Währung) für eine bestimmte Postleitzahl, damit ich Sie anzeigen kann in einer Dritte-Partei zitieren PDF-Ausdruck (kein Bezug auf die "quote" Magento verwendet, wie der Warenkorb pre-checkout). Ich bin zwar noch relativ neu bei Magento scheint es, dass getRateRequest() und getRate() sind die zwei wichtigsten Funktionen, mit denen die Steuer-rate auf der Grundlage aller Variablen (Produkt Steuerklasse, Kunden Steuerklasse, etc.).

Da dies ein Drittanbieter-Erweiterung und alle unsere Produkte sind steuerpflichtige, die ich dachte, ich würde halt getRate() mit den richtigen Varien-Objekt-Eingang und würde es wieder den tax rate. Nach einer Woche Herumprobieren kann ich nicht herausfinden, warum ich immer eine rate von null. Ich habe bestätigt, ich rufe die getRate () - Funktion und dass es nicht wieder von null aus dem ersten if () - Anweisung, die Prüfung für Land-und Kunden - /Produkt-Klasse-ID. Zusätzlich habe ich bestätigt alle Variablen vermittelt werden und zugänglich in der getRate () - Funktion selbst.

Ich habe ein Objekt erstellt mit den unten input (basierend auf der Ausgabe von getRateRequest ()), dass ich mit dem getRate() und hoffe, jemand kann Licht auf, was ist Los mit meinem Daten-Eingabe oder warum die getRate () - Funktion ist die Rückgabe immer ein Ergebnis von null. (Ich bin eigentlich Einstellung mit $Variablen darunter, Sie werden nur vorher definierte und einem meiner test-case-Werte sind unten)

    //UPDATED CODE (variable values come from 3rd party quote extension)

    $country = 'US';  //use short country code
    $region = '12';   //must be numeric!
    $postcode = '95050';
    //our quote extension stores the customer id ('2') which we use to get the tax class
    $customer = Mage::getModel('customer/customer')->load( '2' );
    $custTax = $customer->getTaxClassId();

    $TaxRequest  = new Varien_Object();
    $TaxRequest->setCountryId( $country );
    $TaxRequest->setRegionId( $region );
    $TaxRequest->setPostcode( $postcode );
    $TaxRequest->setStore( Mage::app()->getStore() );
    $TaxRequest->setCustomerClassId( $custTax );
    $TaxRequest->setProductClassId(2);  //2=taxable id (all our products are taxable)

    $taxCalculationModel = Mage::getSingleton('tax/calculation');
    $rate = $taxCalculationModel->getRate($TaxRequest);

Mein backup-plan ist es, einfach eine direkte SQL-lookup-Formel, obwohl das wahrscheinlich ein bisschen chaotisch. Da unser web-Entwicklungsteam wusste nicht genau Folgen gute coding-standards, die einen eventuellen Standort neu zu schreiben ist in meiner Zukunft sowieso mal die ersten launch-Updates sind in (alle 4 Seiten).

Vielen Dank für jede Hilfe und die Zeit nehmen, dies zu Lesen.

BEARBEITEN - Stack Overflow ist genial 🙂

InformationsquelleAutor mtns_cll | 2012-06-08

Schreibe einen Kommentar