ShopPilot > Warenwirtschaft, Faktura

Bestellung in AFS-Kaufmann einlesen

(1/1)

hop:
Frage:
AFS Kaufmann will (bei mehreren Artikeln) eine Postennummer (Pos 1 / Pos 2 etc.).


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

--- End code ---

Das Ganze sieht dann so aus:


--- Code: ---###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__#

--- End code ---

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):


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

--- End code ---

Die Positionen schreibt man dann folgendermassen:


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

--- End code ---

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).


--- Code: ---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);
  }
}

--- End code ---


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

--- End code ---


hop

Linkback: https://www.shoppilot.net/pf/index.php?topic=818.0

Andi:
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

Andi:
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

Navigation

[0] Themen-Index

Go to full version
Powered by SMFPacks SEO Pro Mod | Sitemap