Shopsystem ShopPilot

ShopPilot => Warenwirtschaft, Faktura => Thema gestartet von: hop am April 09, 2007, 17:04:53

Titel: Bestellung in AFS-Kaufmann einlesen
Beitrag von: hop am April 09, 2007, 17:04:53
Frage:
AFS Kaufmann will (bei mehreren Artikeln) eine Postennummer (Pos 1 / Pos 2 etc.).

###POS_NR: Postennummer (WICHTIG MUSS ALS ERSTES ANGEGEBEN WERDEN)

Das Ganze sieht dann so aus:

###POS_NR:1#
###POS_ANZAHL:__anzahl__#
###POS_ARTIKELNR:__id__#
###POS_ARTIKELBE:__produkt__#
###POS_EPREIS:__preis__#

###POS_NR:2#
###POS_ANZAHL:__anzahl__#
###POS_ARTIKELNR:__id__#
###POS_ARTIKELBE:__produkt__#
###POS_EPREIS:__preis__#

Gibt es in SP eine Möglichkeit, eine fortlaufende Nummer
für die verschiedenen Artikelpositionen zu generieren (wie ??)??

Antwort:
Die Bestelldatenvorlage kann einfach per SSP erweitert werden, ausserdem
sollte man loopitem nutzen, um die Anzahl der Bestellpositionen flexibel zu halten:
Folgendes ist am Anfang der Datei einzufügen (Modul custom):

<!--spmacro:module(custom)
# Datum
sub pos  {
   $index = $_[0];
   $anzahl = $_[1];
   if ($index < $anzahl) {
      main::mprint($index  + 1); # Index beginnt mit 0
  }
}
-->

Die Positionen schreibt man dann folgendermassen:

<!--spmacro::loopitem-->
###POS_NR:__custom::pos__#
###POS_ANZAHL:__anzahl__#
###POS_ARTIKELNR:__id__#
###POS_ARTIKELBE:__produkt__#
###POS_EPREIS:__preis__#
<!--spmacro::enditem-->

Das Ergebnis sollte genau die gewünschte Ausgabe sein.

Falls eine bestimmte Formatierung für den Preis notwendig ist,
kann man dies auch mit einer SSP Funktiion erledigen (in Modul custom einfügen).

sub preis {
   $index = $_[0];
   $anzahl = $_[1];
   if ($index < $anzahl) {
      my $preis = ssp::get_var_cart('preis',$index);
      $preis = sprintf("%.2d",$preis); # 123.56
      main::mprint($preis);
  }
}

<!--spmacro::loopitem-->
###POS_NR:__custom::pos__#
###POS_ANZAHL:__anzahl__#
###POS_ARTIKELNR:__id__#
###POS_ARTIKELBE:__produkt__#
###POS_EPREIS:__custom::preis__#
<!--spmacro::enditem-->


hop
Titel: Re: Bestellung in AFS-Kaufmann einlesen
Beitrag von: Andi am April 09, 2007, 19:41:16
Hallo HOP - Danke.
Scheint aber nicht zu funktionieren (es wird nur Pos 1 ausgefüllt - ab Pos 2 bleibt das Feld leer).

ABER: der Import scheint auch so zu funktionieren.

Wichtig dabei:
- es muss mit "loopitem" gearbeitet werden - sonst gibt es Fehlermeldungen
- die Preise müssen OHNE Währung (EUR) importiert werden
- die XML-Vorlage darf sich nicht in dem verzeichniss befinden, wo AFS die Bestellungen rausliest (sonst löscht AFS-Kfm. die Vorlage).

Teste aber noch weiter.
Grüße v. ANDI
Titel: Re: Bestellung in AFS-Kaufmann einlesen
Beitrag von: Andi am August 01, 2007, 18:42:07
Aus bisheriger Erfahrung epfehlen wir den Einsatz einer Bestelldatenvorlage
im HTML-Format (nicht XML).
Das funktioniert einwandfrei - auch mit mehreren Artikeln pro Order
und es gibt keine Probleme mit Umlauten etc.

Grüße v. ANDI