Oevattbe: Varianten

Hallo, ich habe das oevattbe aktiviert und die Kategorien bearbeitet. Alle Artikel dieser Kategorien sind jetzt auch mit den verschiedenen VAT im Shop.

Eine große Ausnahme sind die Varianten. Die eVAT-Einstellungen werden vom Vater nicht übernommen.

Im code habe ich in der oevattbecategoryvatgroupspopulatordbgateway.php gefunden, dass die Einstellungen der Kategorien auf die Titel über die oxobject2category.oxcatnid ausgerollt werden. Dort sind aber nur die Vaterartikel erfaßt, nicht die Varianten.

Ich weiß jetzt nicht ob das die Ursache ist, vielleicht hilft es aber jemanden, der Ahnung hat.

Ich werde meine (nicht wenigen) Varianten jetzt von Hand ändern.

Ein weiterer Fehler: Nach Auswahl einer Variante wird nicht der korrekte Preis angezeigt, sondern der deutsche (in meinem Fall). Nach Klick auf Warenkorb wird der korrekte Preis angezeigt.

Jörg

Ich habe jetzt auf die Schnelle für alle Varianten die eVAT gesetzt. Achtung bei den country- und groupId. Das sind natürlich die aus meinem Shop. Lasst Euch die oevattbe_articlevat für eine OEVATTBE_ARTICLEID anzeigen, dann habt Ihr die IDs für Eure 28 Länder.


<?php

$user="dbuser";
$password="dbpassword";
$database="dbname";
$server="dbserver";

$link1 = mysql_connect($server,$user,$password);
mysql_set_charset('utf8',$link1);

@mysql_select_db($database) or die( "Unable to select database");

/*list of variants */
$query="SELECT oxid,oxartnum,oxvarselect FROM `dbname`.`oxarticles` WHERE oxparentid IS NOT NULL AND oxparentid != '' AND oxactive = 1";

$result=mysql_query($query);

while($row = mysql_fetch_object($result))
{
	echo '<br>' . $row->oxartnum . ', '. $row->oxvarselect ;
	$OEVATTBE_ARTICLEID = $row->oxid ;
	
	echo '<br>' . $OEVATTBE_ARTICLEID ;
        /* insert 28 country VAT for the current variant */
	$query2="INSERT INTO `dbname`.`oevattbe_articlevat` (`OEVATTBE_ARTICLEID`,`OEVATTBE_COUNTRYID`,`OEVATTBE_VATGROUPID`,`OEVATTBE_TIMESTAMP`) VALUES ('" . $OEVATTBE_ARTICLEID . "','a7c40f632e04633c9.47194042','3','2015-01-02 14:00:00') ;";
				$result2=mysql_query($query2);
	
.......Insgesamt 28 Inserts!.....
	
	/* set the eVAT active for the variant */
        $query3="UPDATE oxarticles SET OEVATTBE_ISTBESERVICE = 1 WHERE oxid = '" . $row->oxid . "';";
	$result3=mysql_query($query3);
}

mysql_close();



?>














</body>
</html>

Habe hier das Problem das nach dem setzen der Varianten und allem was dazu gehört, trotzdem nur die Shop-Homecountry Besteuerung berechnet wird.

Auf dem Vaterartikel geht alles, auf den Varianten wird es komplett ignoriert.

Sehr schlecht wenn man

Varianten wie:
-Kostenlose Demo
-Vollversion verschlüsselt
-Vollversion quelloffen

abbilden will.

Wird da Oxid wohl noch nachlegen? Hast du da einen Fix für?

Grüße

Micha

ich habe auch ein minimalistisches MwSt Modul für länderspezifische Steuersätze, das aber den Brutto Preis gleich hält und je nach Steuersatz den Netto Preis anpasst.
Funktioniert für vollen und verminderten Steuersatz.
Die Logik für das Auswählen der länderspezifischen Steuersätze funktioniert aber totsicher auch für Varianten:

Vielleicht kannst du damit das erreichen, was du brauchst.

Danke Marat, schau ich mir auf jeden Fall mal an, denn auch wenn man alternative Detail-Templates über den Shop Admin einhängt, bricht die OEVATBE Funktionalität zusammen. Sieht aus als wäre da einfach eine schnelle Lösung gebaut worden und nicht jeder Fall durchgetestet worden