> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Konfiguration wws-online-interface.config

> Alle Abschnitte der Konfiguration wws-online-interface.config: Templates, Auftragstypen, Anzahl der Einträge, Zeitraumauswahl sowie die Kopf- und Positionsdaten, die das Warenwirtschaftssystem liefert.

Die Online-Schnittstelle zum Warenwirtschaftssystem holt Auftragsdaten live aus der Warenwirtschaft und zeigt sie im Kundenkonto an. Welche Daten das sind und wie der Käufer sie filtern kann, steht in der Konfiguration `wws-online-interface.config`.

Die sechs Abschnitte lassen sich in drei Gruppen lesen. `Templates` legt fest, welche Datei welche Ansicht rendert. `Types`, `MaxEntries` und `PeriodSelection` bauen die drei Auswahllisten, mit denen der Käufer die Anzeige einschränkt. `HeadData` und `PositionData` benennen die Felder, die die Warenwirtschaft liefert.

Je Subshop, der die Schnittstelle nutzt, gehört eine eigene Datei in das Konfigurationsverzeichnis dieses Subshops, also nach `konfiguration/<Subshop-ID>/`.

> [!WARNING]
>
> Findet der Shop die Datei nicht, bricht das Modul ab und die Schnittstelle liefert gar nichts.
>
> Ab WEBSALE V8 sucht der Shop zuerst nach `wws-online-interface.config` und greift danach auf den älteren Namen `wws-online-interface.ini` zurück. Verwenden Sie für neue Shops die Endung `.config`.

Wegweiser: [WWS-Infodatenschnittstelle verwenden](https://dokumentation.websale.de/v8s/externe-dienste/wws-infodatenschnittstelle.md) · Grundlagen: [Grundlagen zu Konfigurationen](https://dokumentation.websale.de/v8s/grundlagen-konfiguration/konfiguration-grundlagen.md)

## `Templates`

Legt fest, welches Template welche Ansicht der Schnittstelle rendert. Die Dateinamen sind frei wählbar.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<Templates>
   ListEntries    = incl_wws_list.htm
   ShowEntry      = incl_wws_detail.htm
   PendingEntries = incl_wws_pending.htm
   StockAmount    = incl_wws_stockamount.htm
   Error          = incl_wws_error.htm
</Templates>
```

| Parameter | Template für |
| - | - |
| `ListEntries` | die Liste der Aufträge |
| `ShowEntry` | die Detailansicht eines einzelnen Auftrags |
| `PendingEntries` | Aufträge, die die Warenwirtschaft noch nicht übernommen hat |
| `StockAmount` | die Anzeige des Lagerbestands |
| `Error` | Fehlermeldungen |

Diese Templates werden über `WS-ExternInclude` in ein Master-Template geholt. Die `ERP-`Tags gelten ausschließlich in ihnen.

Referenz: [ERP-Tags](https://dokumentation.websale.de/v8s/referenz/tags/erp-wws-infodaten.md) für die WWS-Infodatenschnittstelle

## `Types`

Definiert die Auftragstypen, nach denen der Käufer filtern kann. Der Shop baut daraus eine Auswahlliste.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<Types>
   Standard = 1
   onChange = submit();
   0        = Alle
   1        = in Bearbeitung
   2        = storniert
</Types>
```

| Parameter | Zweck | Werte |
| - | - | - |
| `Standard` | optional. Welcher Typ vorausgewählt ist | eine der definierten Nummern |
| `onChange` | optional. JavaScript, das beim Wechsel der Auswahl ausgeführt wird | beispielsweise `submit();` |
| `0`, `1`, `2`, … | die Auftragstypen. Links die Nummer, rechts der Anzeigetext | Nummer und Text |

> [!WARNING]
>
> Die Nummern der Auftragstypen müssen mit dem Warenwirtschaftssystem abgestimmt sein. Der Shop reicht sie unverändert weiter und übersetzt sie nur für die Anzeige.

`Standard` greift nur, solange der Käufer noch keinen Typ gewählt hat. Sobald er die Auswahlliste bedient, gilt seine Wahl.

## `MaxEntries`

Definiert die Auswahlliste für die Anzahl der angezeigten Aufträge.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<MaxEntries>
   ActiveYearAllEntries = no
   Standard             = 20
   onChange             = submit();
   +Entry               = 0
   +Entry               = 10
   +Entry               = 20
   +Entry               = 50
</MaxEntries>
```

| Parameter | Zweck | Werte |
| - | - | - |
| `+Entry` | ein Eintrag der Auswahlliste | Ganzzahl, `0` bedeutet alle Aufträge |
| `Standard` | optional. Welcher Eintrag vorausgewählt ist | Ganzzahl. Standard: `0`, also alle |
| `onChange` | optional. JavaScript beim Wechsel der Auswahl | beispielsweise `submit();` |
| `ActiveYearAllEntries` | alle Einträge des laufenden Jahres anzeigen, solange der Käufer keinen Zeitraum gewählt hat | `yes`, `no` |

`ActiveYearAllEntries = yes` ist vor allem dann sinnvoll, wenn der Käufer beim ersten Aufruf schon etwas sehen soll, ohne vorher einen Zeitraum einzustellen.

Wie bei `Types` greift `Standard` nur, solange der Käufer die Auswahlliste nicht bedient hat.

## `PeriodSelection`

Alle Texte und Einstellungen für die Zeitraumauswahl. Der Shop baut daraus Auswahllisten für Tag, Monat und Jahr sowie eine Liste alternativer Zeiträume.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<PeriodSelection>
   ShowYearsAgo = 1
   MonthName1   = Januar
   MonthName2   = Februar
   MonthName3   = März
   MonthName4   = April
   MonthName5   = Mai
   MonthName6   = Juni
   MonthName7   = Juli
   MonthName8   = August
   MonthName9   = September
   MonthName10  = Oktober
   MonthName11  = November
   MonthName12  = Dezember
   AltThisWeek  = Diese Woche
   AltLastWeek  = Letzte Woche
   AltThisMonth = Dieser Monat
   AltLastMonth = Letzter Monat
   AltThisYear  = Dieses Jahr
   AltLastYear  = Letztes Jahr
   AltOnchange  = submit();
</PeriodSelection>
```

| Parameter | Zweck | Werte |
| - | - | - |
| `ShowYearsAgo` | wie viele Jahre die Jahresauswahl zurückreicht | Ganzzahl, auch `0` |
| `MonthName1` bis `MonthName12` | die Namen der zwölf Monate | Text |
| `AltThisWeek`, `AltLastWeek` | Texte für diese und letzte Woche | Text |
| `AltThisMonth`, `AltLastMonth` | Texte für diesen und letzten Monat | Text |
| `AltThisYear`, `AltLastYear` | Texte für dieses und letztes Jahr | Text |
| `AltOnchange` | optional. JavaScript beim Wechsel der alternativen Auswahl | beispielsweise `submit();` |

Das älteste wählbare Jahr ergibt sich aus dem aktuellen Jahr minus `ShowYearsAgo`. Der Wert `0` lässt also nur das laufende Jahr zu.

`ShowYearsAgo` begrenzt nicht nur die Auswahlliste, sondern auch die Prüfung der tatsächlich übergebenen Daten. Ein Datum, das weiter zurückliegt, wird zurückgesetzt. Ein Zeitraum, bei dem das Bis-Datum vor dem Von-Datum liegt, wird automatisch vertauscht.

Sind alle sechs `Alt`-Texte leer, erscheint keine alternative Zeitraumauswahl.

## `HeadData`

Benennt die Kopfdaten eines Auftrags, die die Warenwirtschaft liefert. Unterstützt werden die Felder `H1` bis `H1000`.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<HeadData>
   H1 = Kundennummer
   H2 = Bestelldatum
   H3 = Bestelluhrzeit
   H4 = Bestellnummer
</HeadData>
```

Im Template geben Sie beides getrennt aus.

| Tag | Gibt aus |
| - | - |
| `ERP-HeadName(H1)` | den Feldnamen, im Beispiel `Kundennummer` |
| `ERP-HeadData(H1)` | den Feldwert, den die Warenwirtschaft liefert |

> [!WARNING]
>
> Die Nummern sind nicht frei belegbar. Jede Nummer steht für ein bestimmtes Feld der Schnittstelle. Sie legen hier nur fest, **welche** Felder erscheinen und **wie** sie beschriftet sind, nicht welches Feld welche Nummer bekommt.
>
> Welche Felder Ihre Warenwirtschaft tatsächlich liefert, stimmen Sie mit dem Anbieter der Warenwirtschaft ab.

## `PositionData`

Benennt die Positionsdaten eines Auftrags. Unterstützt werden die Felder `P1` bis `P1000`. Der Abschnitt funktioniert genau wie `HeadData`.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<PositionData>
   P1 = Menge
   P2 = Werbemittel
   P3 = Artikelnummer
   P4 = Bezeichnung
</PositionData>
```

| Tag | Gibt aus |
| - | - |
| `ERP-PositionName(P1)` | den Feldnamen, im Beispiel `Menge` |
| `ERP-PositionData(P1)` | den Feldwert, den die Warenwirtschaft liefert |

Der Tagname lautet `ERP-PositionData`, und das Argument trägt das Präfix `P`, nicht `H`.

## Nicht dokumentierte Abschnitte

Der Kernel liest in dieser Konfiguration zwei weitere Abschnitte.

### `CommonData`

Ein dritter Feldabschnitt neben `HeadData` und `PositionData`, aufgebaut nach demselben Muster. Er versorgt die Tags `ERP-CommonName`, `ERP-CommonData`, `ERP-CommonData_Name` und `ERP-CommonData_Value`, über die allgemeine Kundendaten aus der Warenwirtschaft ausgegeben werden.

### `Debug`

| Parameter | Zweck | Werte |
| - | - | - |
| `LogCommunication` | die Kommunikation mit der Warenwirtschaft protokollieren | `yes`, `no` |

> [!WARNING]
>
> Beide Abschnitte sind nicht freigegeben dokumentiert. Verwenden Sie sie nur nach Abstimmung mit der WEBSALE AG.
>
> `LogCommunication` schreibt den gesamten Datenverkehr mit der Warenwirtschaft mit. Lassen Sie den Schalter im Produktivbetrieb aus.


## Related topics

- [ERP- (WWS-InfoDaten)](https://dokumentation.websale.de/v8s/referenz/tags/erp-wws-infodaten.md)
- [Konfigurations-Typen](https://dokumentation.websale.de/v8s/grundlagen-konfiguration/konfigurations-typen.md)
- [Konfiguration: Grundlagen](https://dokumentation.websale.de/v8s/grundlagen-konfiguration/konfiguration-grundlagen.md)
- [Styles für Module und Schnittstellen](https://dokumentation.websale.de/v8s/referenz/styles/module-und-schnittstellen.md)
- [WWS-Infodatenschnittstelle verwenden](https://dokumentation.websale.de/v8s/externe-dienste/wws-infodatenschnittstelle.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.