Logik und Skripte

LogikGlühbirne

Über die Funktion

Skripte sind zwar nicht notwendig für die Verwendung von BarcodeShipping, jedoch erleichtern diese einige Vorgänge und unterstützen einen reibungslosen Ablauf.

Drei gängige Skripte als Beispiel für die vielfältigen Anwendungsmöglichkeiten sind:

  1. das automatische Wechseln zwischen Profilen
  2. das automatische Hinzufügen von Attributen zu Produkten, beispielsweise der Zolltarifnummer
  3. das automatische Überspringen der Übertragung des Status ans Shopsystem. Dadurch haben Sie die Möglichkeit einer manuellen Prüfung der Daten.
SitzenderMannMitLaptop

Logik und Skripte & BarcodeShipping

Durch die Anwendung von Skripten können Sie die Möglichkeiten von BarcodeShipping voll ausschöpfen und weitere Möglichkeiten der Automatisierung nutzen – ob Sie sich wiederholende Schritte automatisiert ablaufen lassen oder Informationen automatisch einfügen, die Ihr Shopsystem nicht mitliefern kann. Skripte bieten nahezu unendlich viele Möglichkeiten, um es Ihnen so leicht wie möglich zu machen.

Im Folgenden stellen wir Ihnen einige Skripte und Anwendungsbeispiele vor, die Ihren Alltag im Versandhandel erleichtern. Die Einbindung der Skripte wird im unteren Bereich „Konfiguration“ genauer erläutert.

Beispiel A: Sie bieten Ihren Kunden an, Pakete als Geschenk verpackt zu versenden?
Mit diesem Skript wissen Ihre Mitarbeiter sofort, wenn es sich bei der Bestellung um ein Geschenk handelt.
Beim Durchlaufen dieses Produktes wird eine Mitteilung oder ein Bild in BarcodeShipping angezeigt, das darauf hinweist. 

Beispiel B: Ihr Shopsystem kann keine Zolltarifnummer mitliefern?
Eines Ihrer Produkte ist im Ausland sehr beliebt, jedoch kann ihr Shopsystem keine Zolltarifnummern übergeben. Ein Skript kann Ihnen in diesem Fall helfen. Wann immer dieses Produkt gescannt wird, wird automatisch die Zolltarifnummer mit übergeben.
Mühsames Ausfüllen mit der Hand wird damit überflüssig!

Beispiel C: Bestimmte Werte für Produkte werden von Ihrem Shopsystem nicht übertragen?
Anhand von Skripten können Sie auch Werte angeben, die von Ihrem Shopsystem nicht übermittelt werden können – wie beispielsweise das Artikelgewicht. 

Beispiel D: Sie verwenden verschiedene Profile, das ständige Wechseln ist jedoch mühsam?
BarcodeShipping automatisiert den Wechsel zwischen verschiedenen Profilen mit Hilfe der wiederkehrenden Parameter. Wenn Sie verschiedene Versanddienstleister abhängig vom Empfängerland verwenden, wählt BarcodeShipping während der Bearbeitung der Bestellung automatisch das passende Profil des entsprechenden Versanddienstleisters aus. In Ihrem Shop haben bestimmte Produkte den selben Anfang in der Produktnummer? Auch hier können Sie ein Profil festlegen, damit alle Produkte gleich behandelt werden. Sind beispielsweise alle Produkte verderblich, deren Nummer mit einer 5 beginnen, kann dieser Warnhinweis zur Einhaltung der Kühlkette automatisch mitgegeben werden. Eine weitere Anwendungsmöglichkeit ist das Anlegen eines Profils für Produkte mit einer Altersbeschränkung ab 18 Jahren. 

Beispiele

Wechsel zwischen Profilen (orderIdFilter Skript)
Das orderIdFilter Skript wird beim Eingeben oder Abrufen einer Bestellung in BarcodeShipping ausgeführt. Sie können eigene BarcodeShipping Profile zur Bearbeitung unterschiedlicher Bestellungen anlegen, die automatisch aufgerufen werden. Im folgenden Beispiel wurden unterschiedliche Profile für Bestellungen angelegt, die mit „T“ oder „WG“ beginnen.

Für dieses Skript gibt es folgende Parameter:

  • order
  • state
  • services
function filter(orderId, state, services) {
if (orderId.startsWith("T")) {
services.getProfileManager().setCurrentProfile("TShirt");
}
if (orderId.startsWith("WG")) {
services.getProfileManager().setCurrentProfile("Wand Gemälde");
} else {
services.getProfileManager().setCurrentProfile("default");
}
}

Hinzufügen von Attributen (orderFilter Skript)
Das orderFilter Skript wird vor der Paketauswahl in BarcodeShipping ausgeführt. Mit diesem können weitere Attribute hinzugefügt werden.
In diesem Beispiel werden den Artikeln der Ländercode sowie eine Zolltarifnummer hinzugefügt.

Bei diesem Skript gibt es folgende Parameter:

  • state
  • order
  • services
  • shop
  • shopShippingMethod
  • shippingMethod
  • shopPaymentMethod
  • paymentMethod
  • shipper
function filter(order, state, services) {
var countryCode = Java.type("com.neovisionaries.i18n.CountryCode");
order.getItems().values().forEach(function (item) {
item.setCommodityCode("95030030");
item.setCountryOfManufactureCode(countryCode.DE);
});
}
Skripte während Rückmeldung an Shopsystem (shipmentFilter Skript)
Das shipmentFilter Skript wird vor der Rückmeldung an den Shop in BarcodeShipping ausgeführt. Damit ist es zum Beispiel möglich – wie im folgenden Beispiel gezeigt – die Statusübermittlung an den Shop zu überspringen. Dadurch kann vorab nochmals alles manuell überprüft werden. Für dieses Skript gibt es folgende Parameter:
  • shipment
  • state
  • services
function filter(shipment, state) {
shipment.getParcel().getItems().clear();
         return false;
}

Artikel Attribute hinzufügen

Einige Versanddienstleister können spezielle Versandlabels erstellen, z.B. für Nahrungsmittel oder spezielle Zustellung nur für Erwachsene. BarcodeShipping kann aufgrund von Artikeleigenschaften automatisch solche Informationen an den Versanddienstleister weitergeben und diese Speziallabel ausdrucken.

Mögliche Eigenschaften von Artikeln sind:

  • ADULT -> Artikel nur an Ü18 Erwachsene übergeben
  • ALCOHOL -> Artikel enthält Alkohol
  • LIMITED_QUANTITY_HAZARDOUS_MATERIAL -> Limitierte Anzahl von gefährlichen Gütern
  • PERISHABLES > verderbliche Ware
  • PLANTS -> Pflanzen
  • SEEDS -> Samen
  • SPECIAL_EXCEPTION -> besonderer Ausnahmefall
  • TOBACCO -> Tabak

Ein Skript Beispiel finden Sie hier:

let ProductFeature = Java.type("de.ybm.barcodeshipping.common.model.ProductFeature");

// ADULT, ALCOHOL, LIMITED_QUANTITY_HAZARDOUS_MATERIAL, PERISHABLES, PLANTS, SEEDS, SPECIAL_EXCEPTION, TOBACCO

function filter(order) {
    order.getItems().values().forEach(function (item) {
        item.getFeatures().add(ProductFeature.PERISHABLES);
    });
}

Hinweis für Mitarbeiter

Mit diesem Skript wird automatisch ein Hinweis für Ihre Mitarbeiter angezeigt während der Bearbeitung einer Bestellung. Damit können sie, wie in unserem oben genannten Beispiel, beispielsweise auf eine Geschenkverpackung hingewiesen werden:

function filter(order, state) {
    java.awt.Desktop.getDesktop().browse(new java.net.URI("file://c://TestBild.png"));
}

Länder Profilwechsel Skript
Das folgende Skript wechselt in die Profile mit den Namen: „Warenpost INT KT (EU)“, „Warenpost INT KT (EU)“ oder „Warenpost INT KT (nonEU)“, abhängig davon ob das Zielland der Bestellung Deutschland, innerhalb der EU oder ausserhalb der EU ist.

var CountryUtils = Java.type("eu.ybm.util.country.CountryUtils");
var CountryCode = Java.type("com.neovisionaries.i18n.CountryCode");

var PROFILE_DE = "Warenpost INT KT (EU)";
var PROFILE_KT_EU = "Warenpost INT KT (EU)";
var PROFILE_KT_NONEU = "Warenpost INT KT (nonEU)";

function filter(order, state, services) {
profile = PROFILE_KT_EU;

if( order.getShipTo().getCountryCode() == CountryCode.DE ){ profile = PROFILE_DE;
}else if( CountryUtils.isEUCountry(order.getShipTo().getCountryCode()) ){ profile = PROFILE_KT_EU; }else { profile = PROFILE_KT_NONEU; }
services.getProfileManager().setCurrentProfile(profile);
}

Automatisierung, um Dateien von einem Ordner in den anderen zu verschieben

Erstellen Sie ein neues Textdokument (Editor). Kopieren Sie das unten aufgeführte Skript und setzen Sie für Pfad 1 das gewünschte Importverzeichnis und für Pfad 2 das gewünschte Exportverzeichnis. Speichern Sie diese Datei, schließen Sie sie und benennen Sie sie in „*.bat“ um.

Wenn Sie das Skript ausführen, wird, solange es offen ist, jede Datei im Pfad 1 in den Pfad 2 verschoben.

@echo off

:ENDLOS





set „srcdir=C:\Users\Lager2\Dropbox\Versand\BarcodeShipping\WaWi 2 BCS EINSCHREIBEN Rechts“

set „destdir=C:\Users\Lager2\Dropbox\Versand\BarcodeShipping\WaWi 2 BCS Rechter Platz“



for /f „tokens=1,*“ %%i in (‚dir „%srcdir%“ /b /-p /a:-d /o:gne‘) do (

  if not exist „%destdir%“ md „%destdir%“

  move „%srcdir%\%%i %%j“ „%destdir%“


    

  echo „%destdir%\%%i\%%j“

  echo.

)









timeout /T 10 

goto ENDLOS

@echo off

:ENDLOS





set „srcdir=C:\Users\Lager2\Dropbox\Versand\BarcodeShipping\WaWi 2 BCS EINSCHREIBEN Rechts“

set „destdir=C:\Users\Lager2\Dropbox\Versand\BarcodeShipping\WaWi 2 BCS Rechter Platz“



for /f „tokens=1,*“ %%i in (‚dir „%srcdir%“ /b /-p /a:-d /o:gne‘) do (

  if not exist „%destdir%“ md „%destdir%“

  move „%srcdir%\%%i %%j“ „%destdir%“


    

  echo „%destdir%\%%i\%%j“

  echo.

)


timeout /T 10 

goto ENDLOS

Anleitungen, Konfiguration und Hilfestellungen

Die folgenden Beiträge unterstützen Sie unter anderem bei der Einrichtung und Handhabung von BarcodeShipping.
Weitere Artikel finden Sie direkt in unserem Wiki in verschiedenen Kategorien.

Vermissen Sie Ihren Anbieter?

Sie nutzen ein Versandunternehmen oder eine andere Möglichkeit, welche noch nicht unterstützt wird? Bitte informieren Sie uns, um welches System es sich handelt. Eventuell können wir Ihnen weiterhelfen. Hier geht es zum Kontakt.

Länder Profil wechsel Skript
Das folgende Skript wechselt in die Profile mit den Namen: „Warenpost INT KT (EU)“, „Warenpost INT KT (EU)“ oder“Warenpost INT KT (nonEU)“, abhängig davon ob das Zielland der Bestellung Deutschland, innerhalb der EU oder ausserhalb der EU ist.

var CountryUtils = Java.type("eu.ybm.util.country.CountryUtils");
var CountryCode = Java.type("com.neovisionaries.i18n.CountryCode");

var PROFILE_DE = "Warenpost INT KT (EU)";
var PROFILE_KT_EU = "Warenpost INT KT (EU)";
var PROFILE_KT_NONEU = "Warenpost INT KT (nonEU)";

function filter(order, state, services) {
profile = PROFILE_KT_EU;

if( order.getShipTo().getCountryCode() == CountryCode.DE ){ profile = PROFILE_DE;
}else if( CountryUtils.isEUCountry(order.getShipTo().getCountryCode()) ){ profile = PROFILE_KT_EU; }else { profile = PROFILE_KT_NONEU; }
services.getProfileManager().setCurrentProfile(profile);
}

Länder Profil wechsel Skript
Das folgende Skript wechselt in die Profile mit den Namen: „Warenpost INT KT (EU)“, „Warenpost INT KT (EU)“ oder“Warenpost INT KT (nonEU)“, abhängig davon ob das Zielland der Bestellung Deutschland, innerhalb der EU oder ausserhalb der EU ist.

var CountryUtils = Java.type("eu.ybm.util.country.CountryUtils");
var CountryCode = Java.type("com.neovisionaries.i18n.CountryCode");

var PROFILE_DE = "Warenpost INT KT (EU)";
var PROFILE_KT_EU = "Warenpost INT KT (EU)";
var PROFILE_KT_NONEU = "Warenpost INT KT (nonEU)";

function filter(order, state, services) {
profile = PROFILE_KT_EU;

if( order.getShipTo().getCountryCode() == CountryCode.DE ){ profile = PROFILE_DE;
}else if( CountryUtils.isEUCountry(order.getShipTo().getCountryCode()) ){ profile = PROFILE_KT_EU; }else { profile = PROFILE_KT_NONEU; }
services.getProfileManager().setCurrentProfile(profile);
}

Länder Profil wechsel Skript
Das folgende Skript wechselt in die Profile mit den Namen: „Warenpost INT KT (EU)“, „Warenpost INT KT (EU)“ oder“Warenpost INT KT (nonEU)“, abhängig davon ob das Zielland der Bestellung Deutschland, innerhalb der EU oder ausserhalb der EU ist.

var CountryUtils = Java.type("eu.ybm.util.country.CountryUtils");
var CountryCode = Java.type("com.neovisionaries.i18n.CountryCode");

var PROFILE_DE = "Warenpost INT KT (EU)";
var PROFILE_KT_EU = "Warenpost INT KT (EU)";
var PROFILE_KT_NONEU = "Warenpost INT KT (nonEU)";

function filter(order, state, services) {
profile = PROFILE_KT_EU;

if( order.getShipTo().getCountryCode() == CountryCode.DE ){ profile = PROFILE_DE;
}else if( CountryUtils.isEUCountry(order.getShipTo().getCountryCode()) ){ profile = PROFILE_KT_EU; }else { profile = PROFILE_KT_NONEU; }
services.getProfileManager().setCurrentProfile(profile);
}

Cookie Consent mit Real Cookie Banner