# Einrichtung

Zugang zum Shop, Belegtypen, Umfang der Übertragung, Makros und Erstinbetriebnahme.

# Shopdaten

Unter **FINN.webshop → Einstellungen → Shopdaten** wird der Zugang zum Shop hinterlegt.

<!-- TODO Screenshot: images/einrichtung-shopdaten.png -->

## Zugangsdaten

### URL zum Shop

Die Adresse des Shops **ohne** abschließenden Schrägstrich. FINN.ghost bildet daraus die
Adresse der Schnittstelle unter `/ghost/`.

### Nutzer und Passwort

Die Zugangsdaten für die FINN.ghost-Schnittstelle im Shop. Sie werden bei jedem Aufruf
mitgeschickt und im Shop geprüft.

<p class="callout info">Das ist kein Kundenkonto und kein Shop-Administrator, sondern ein eigener technischer Zugang. Er wird bei der Einrichtung des Shops zusammen mit unserem Team festgelegt.</p>

Das Passwort wird in der Konfiguration von FINN.ghost verschlüsselt gespeichert.

## Was beim Start passiert

Sobald das Modul mit gültigen Zugangsdaten läuft, aktualisiert FINN.ghost die
Schnittstellendateien im Shop und prüft anschließend die Datenbank des Shops auf den
passenden Stand.

<p class="callout info">Nach einem FINN.ghost-Update ist im Shop deshalb nichts nachzuinstallieren. Im Protokoll erscheint der Hinweis, dass die Dateien im Shop aktualisiert wurden.</p>

## Verbindung prüfen

Bleiben die Auswahllisten in den Einstellungen leer oder meldet das Protokoll, dass der
Webserver nicht erreichbar ist, stimmt etwas an Adresse oder Zugangsdaten nicht.

Typische Meldungen:

| Meldung im Protokoll                          | Bedeutung                                              |
| --------------------------------------------- | ------------------------------------------------------ |
| Webserver für POST … nicht erreichbar          | der Shop antwortet nicht oder zu langsam                 |
| Zugriff verweigert / Anmeldung fehlgeschlagen   | Nutzer oder Passwort stimmen nicht                        |
| Hinweis auf die Datenbankprüfung               | die Shop-Datenbank passt nicht zum FINN.ghost-Stand        |

<p class="callout warning">Ein „Webserver nicht erreichbar" bei großen Läufen ist oft kein Verbindungsproblem, sondern ein Zeitüberschreitungsfehler des Webservers. Dann hilft es, den Lauf in kleinere Aufgaben aufzuteilen — etwa Artikel ohne Bilder und Bilder getrennt zu übertragen.</p>

## Nächster Schritt

[Belege und Neukunden](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/belege-und-neukunden)

# Belege und Neukunden

Unter **FINN.webshop → Einstellungen → Zuordnung** wird festgelegt, was aus einer
Bestellung oder Anfrage aus dem Shop in der SelectLine entsteht.

<!-- TODO Screenshot: images/einrichtung-zuordnung.png -->

## Neukunden-Typ

Die grundlegende Entscheidung: Was wird aus jemandem, der im Shop bestellt und in der
SelectLine noch nicht existiert?

| Auswahl        | Ergebnis                                                                 |
| -------------- | ------------------------------------------------------------------------ |
| Kunde          | es entsteht sofort ein Kunde im Kundenstamm                                |
| Interessent    | es entsteht ein Interessent; ein Kunde wird erst daraus, wenn Sie ihn übernehmen |

Mit **Interessent** bleibt der Kundenstamm frei von Adressen, die nur einmal angefragt
haben. Der Preis dafür: Aus einem Interessenten entsteht kein Auftrag, sondern ein
Angebot — die Übernahme in einen Kunden ist ein bewusster Schritt in der SelectLine.

<p class="callout info">Ist die Adresse bereits als Kunde vorhanden, gilt immer der Kundenweg — auch wenn <em>Interessent</em> eingestellt ist.</p>

## Belegtypen

Der Shop unterscheidet Anfragen und Bestellungen. Beides wird hier auf
SelectLine-Belegtypen abgebildet.

### Belegtyp Angebot

Für Anfragen aus dem Shop von Adressen, die als **Kunde** geführt werden.

### Belegtyp Bestellung

Für Bestellungen aus dem Shop. Üblicherweise der Auftrag.

### Belegtyp Angebot Interessent

Für Anfragen von Adressen, die als **Interessent** geführt werden.

<p class="callout info">Findet FINN.ghost zu einer Belegart keine Zuordnung, wird der Belegtyp verwendet, den der Shop mitgeschickt hat.</p>

## Belegsperre

Hat der Kunde in der SelectLine eine Belegsperre, wird **kein Beleg angelegt**. Die
Meldung nennt Kundennummer und Belegnummer aus dem Shop.

<p class="callout info">In diesem Fall überträgt FINN.ghost den Kunden noch einmal in den Shop, damit dort der aktuelle Zustand ankommt. Die Bestellung bleibt im Shop offen.</p>

## Belege ins Kundenkonto

### Belege zum Exportieren

Eine Liste von SelectLine-Belegtypen, die in den Shop übertragen werden — damit Kunden
ihre Aufträge, Lieferscheine und Rechnungen im Kundenkonto sehen.

Übertragen wird jeder Beleg des gewählten Typs, der seit dem letzten Lauf angelegt oder
bearbeitet wurde, samt Positionen.

<p class="callout warning">Hier werden vollständige Belege in den Shop gespiegelt. Die Auswahl bestimmt also, welche Belegarten Ihre Kunden online einsehen können — Belegtypen aus dem Einkauf oder interne Belegarten gehören nicht in diese Liste.</p>

Zusätzlich läuft die Aufgabe *Status exportieren*, die den Bearbeitungsstatus **aller**
kürzlich geänderten Belege meldet. Der Kunde sieht damit im Konto, wie weit sein Auftrag
ist.

## Nächster Schritt

[Umfang der Übertragung](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/umfang-der-ubertragung)

# Umfang der Übertragung

Unter **FINN.webshop → Einstellungen → Übertragung** wird festgelegt, welche Daten in den
Shop gehen und wie sie ermittelt werden.

<!-- TODO Screenshot: images/einrichtung-uebertragung.png -->

## Freigabe

### ShopAktiv-Feld (Artikel)

Das Kennzeichen in der Artikelmaske, das einen Artikel für den Shop freigibt. Nur
Artikel mit gesetztem Kennzeichen werden übertragen.

<p class="callout danger">Das ist die wichtigste Einstellung des ganzen Moduls. Ohne sie geht kein Artikel in den Shop.</p>

### ShopAktiv-Feld (Kunde)

Das Gegenstück im Kundenstamm. Nur Kunden mit gesetztem Kennzeichen werden übertragen —
und nur ihre Bilder.

### Kundengruppen

Eine Auswahl von SelectLine-Kundengruppen. Ist sie gefüllt, werden **nur** Kunden dieser
Gruppen übertragen. Damit lässt sich der Shop auf einen Teil des Kundenstamms
beschränken, etwa auf Händler.

## Artikelgruppen

### Gruppen

Bestimmt, welche Gruppenzuordnung gilt:

| Auswahl       | Bedeutung                                                   |
| ------------- | ----------------------------------------------------------- |
| Standard      | die Artikelgruppe aus der Artikelmaske                        |
| Alternativ    | die zusätzlichen Gruppenzuordnungen des Artikels                |
| beide         | Artikelgruppe und Alternativgruppen                            |

### Gruppen zu ignorieren

Artikelgruppen, die nicht in den Shop gehören. Artikel dieser Gruppen werden
übersprungen; im Protokoll erscheint der Hinweis auf den Gruppenfilter.

### Shopaktive Artikel ohne Gruppenfilterung übertragen

Hebt den Gruppenfilter für den Artikelexport auf: Ein freigegebener Artikel geht in den
Shop, auch wenn seine Gruppe auf der Ignorierliste steht.

<p class="callout info">Sinnvoll, wenn die Ignorierliste nur die Navigation aufräumen soll, die Artikel selbst aber auffindbar bleiben müssen.</p>

## Preise

### Preisberechnung

Ohne diese Einstellung überträgt FINN.ghost die Preistabelle der SelectLine unverändert;
der Shop rechnet die Preisfindung selbst.

Mit eingeschalteter Preisberechnung ermittelt **FINN.ghost** die Preise vorab und
überträgt das Ergebnis: Grundpreis, Kundenpreise, Aktionspreise und den Preis aus dem
Kalkulationsschema.

<p class="callout warning">Die Umstellung verändert die Preise im Shop. Sie gehört an den Anfang eines Projekts oder in ein Wartungsfenster mit anschließender Preiskontrolle — nicht in den laufenden Betrieb.</p>

Näheres unter [Preise](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/preise).

## Bilder und Dateien

### Maximale Bildgröße in Pixel

Bilder werden vor der Übertragung auf diese Kantenlänge verkleinert, voreingestellt 1920
Pixel. Kleinere Bilder werden nicht vergrößert.

### Nur Daten exportieren, die mit 'Export' gekennzeichnet sind

Berücksichtigt nur Bilder, die in der SelectLine das entsprechende Kennzeichen tragen —
bei Artikeln, Gruppen, Lieferanten und Kunden.

### Pfad für XDATZUORD

Das Verzeichnis, in dem die Dateien der Dokumentenzuordnung liegen. Ohne diesen Pfad
werden aus der Zuordnungstabelle keine Dateien übertragen; Dateien aus Artikeljournalen
gehen trotzdem mit.

Näheres unter [Bilder und Dateien](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/bilder-und-dateien).

## Weitere Tabellen

### Extratabellen zum Exportieren

Eine Auswahl beliebiger weiterer SelectLine-Tabellen, die in den Shop gespiegelt werden.
Näheres unter [Extratabellen](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/extratabellen).

### Paket-Tabelle exportieren

Überträgt zusätzlich die Paketverwaltung, damit der Shop Paketnummern und
Sendungsverfolgung im Kundenkonto anzeigen kann.

## Nächster Schritt

[SelectLine-Makros](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/selectline-makros)

# SelectLine-Makros

An vier Stellen kann das Modul ein SelectLine-Makro ausführen. Die Felder liegen unter
**FINN.webshop → Einstellungen → Makros**.

<!-- TODO Screenshot: images/einrichtung-makros.png -->

## Bestellung angelegt

Läuft, nachdem der Beleg mit allen Positionen aufgebaut ist. Übergeben werden **Belegtyp**
und **Belegnummer**.

Das ist der Platz für alles, was mit einem fertigen Shop-Beleg passieren soll:
Kommissionierung anstoßen, Zusatzfelder befüllen, Belege drucken, eigene Prüfungen laufen
lassen.

<p class="callout info">Das Makro läuft, bevor der Beleg an den Shop zurückgemeldet wird. Ändert es den Beleg, kommt der geänderte Stand im Shop an.</p>

<p class="callout danger">Läuft das Makro auf einen Fehler, wird der gerade angelegte Beleg <strong>gelöscht</strong> — und ein in diesem Zug neu entstandener Kunde ebenfalls. Die Bestellung bleibt im Shop offen und wird beim nächsten Lauf erneut versucht. Makros an dieser Stelle sollten ihre Fehler daher selbst abfangen.</p>

## Kunde angelegt

Läuft, nachdem beim Belegimport ein neuer Kunde entstanden ist. Übergeben wird die
**Nummer** des Kunden.

Direkt danach überträgt FINN.ghost den neuen Kunden in den Shop — Änderungen des Makros
am Kunden sind also sofort im Shop wirksam.

## Interessent angelegt

Dasselbe für neu entstandene Interessenten, wenn der Neukunden-Typ auf *Interessent*
steht. Übergeben wird die **Nummer**.

## Artikel exportieren

Läuft **einmal je Lauf** vor dem Export der geänderten Artikel, nicht je Artikel.
Gedacht, um vor der Übertragung berechnete Felder für den Shop zu füllen.

<p class="callout info">Weil das Makro nur einmal pro Lauf läuft, ist es auch bei vielen Artikeln unkritisch. Es bekommt allerdings keine Artikelnummer übergeben — es muss also selbst wissen, welche Artikel zu bearbeiten sind.</p>

## Hinweise

- Makronamen werden ohne Prüfung übernommen. Ein Tippfehler zeigt sich erst zur Laufzeit
  als Fehler im Protokoll.
- Die Makros laufen unter dem API-Benutzer aus den SelectLine-Einstellungen, nicht unter
  einem interaktiven Benutzer.
- Bei reinen Aktualisierungen bestehender Kunden läuft kein Kundenmakro — nur beim
  Anlegen.

## Nächster Schritt

[Erstinbetriebnahme](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/erstinbetriebnahme)

# Erstinbetriebnahme

Bei einem leeren Shop lohnt es sich, die Läufe **einmal in dieser Reihenfolge** von Hand
anzustoßen, unter **FINN.webshop → Zeitsteuerung**.

<p class="callout warning">Diese Reihenfolge gilt für die Erstbefüllung. Im laufenden Betrieb spielt sie keine Rolle mehr.</p>

## Reihenfolge

### 1. Stammdaten synchronisieren

Überträgt Lieferanten mit Bildern, Mitarbeiter, Kostenstellen, Steuerschlüssel sowie
Zahlungs- und Lieferbedingungen. Der Shop braucht diese Angaben, um Belege überhaupt
darstellen und rechnen zu können.

### 2. Artikelgruppen exportieren

Legt die Gruppenstruktur samt Gruppenbildern an — Artikelgruppen, Rabattgruppen,
Preisgruppen und Merkmalsgruppen.

### 3. Extratabellen exportieren

Nur nötig, wenn weitere Tabellen konfiguriert sind. Siehe
[Extratabellen](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/extratabellen).

### 4. Alle Artikel exportieren

Der große Lauf. Er überträgt zu jedem freigegebenen Artikel die vollständigen Daten samt
Preisen, Merkmalen, Varianten, Sets, Zubehör und Bildern.

<p class="callout info">Für einen ersten Eindruck kann man stattdessen <strong>Alle Artikel exportieren (ohne Bilder)</strong> starten — das ist deutlich schneller. Die Bilder holt anschließend <em>Alle Artikelbilder exportieren</em> nach.</p>

### 5. Artikelbestand exportieren (komplett)

Setzt die Bestände aller freigegebenen Artikel.

### 6. Kunden exportieren

Überträgt die Kunden mit gesetztem Kundenkennzeichen samt Adressen, Extrafeldern und
Bildern.

### 7. XDATZUORD exportieren

Überträgt Dateien und Dokumente zu den Artikeln. Siehe
[Bilder und Dateien](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/bilder-und-dateien).

### 8. ElasticSearch Vollindex

Baut den Suchindex des Shops neu auf, damit die übertragenen Artikel gefunden werden.
Siehe [Suchindex](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/suchindex).

### 9. Neue Belege importieren

Erst zum Schluss einschalten. Vorher fehlen im Shop die Artikel, auf die sich
Bestellungen beziehen würden.

## Danach

Wenn die Erstbefüllung durchgelaufen ist, werden die Aufgaben mit einem Zeitplan
versehen. Empfehlungen dazu stehen unter
[Zeitplan der Übertragungen](https://wiki.dako-it.com/books/finnghost-fur-finnwebshop-0s8/page/zeitplan-der-ubertragungen).

## Kontrolle

| Prüfpunkt                        | Wo                                                       |
| -------------------------------- | -------------------------------------------------------- |
| Anzahl der Artikel im Shop        | verglichen mit den freigegebenen Artikeln der SelectLine     |
| Gruppenstruktur                   | Navigation im Shop                                          |
| Preise an Stichproben             | Artikel im Shop aufrufen, mit der SelectLine vergleichen      |
| Suche findet Artikel              | nach dem Vollindex prüfen                                     |
| Meldungen im Protokoll            | **FINN.webshop → Zeitsteuerung**                              |

<p class="callout info">Das Protokoll enthält auch Hinweise auf übersprungene Artikel — die Liste ist eine gute Arbeitsgrundlage für die Datenpflege. Näheres unter <a href="ws-pruefen">Wenn etwas nicht im Shop ankommt</a>.</p>