# Parameter-Steuerung

gWLaunch ermöglicht das Öffnen eines bereits vorhandenen Datensatzes oder das Öffnen einer neuen Datensatzmaske inklusiver optionaler Vorbelegung von Feldwerten.

## Existierende Datensätze editieren

Die Syntax besteht aus dem GWX-Protokoll, dem Verb, dem Tabellennamen und optionalen Werten. Das Verb zum Öffnen/Editieren von Datensätzen ist «edit».\
\
Beispiel zum Öffnen eines Dokuments direkt über die GGUID:\
`GWX://edit/DOCUMENT/0xEF82213DCBF34CF38F175B62DAB2EB7E`

Anstelle der GGUID kann auch ein Filterwert in Form eines Datenbankfeldes definiert werden. Folgendes Beispiel öffnet das Dokument mit der Nummer «2693»:\
`GWX://edit/DOCUMENT/DocNumber='2693'`

**Objekt- und Feldnamen:** Die korrekte Bezeichnung eines CAS genesisWorld Datenobjektes oder Feldnamen können direkt aus der Managementkonsole entnommen werden.\
\
Dazu wählt man den Bereich «Datenbank» aus und doppelklickt auf das gewünschte Objekt. Im darauffolgenden Dialog findet man die Bezeichnung im Feld «Name». Dieser Wert ist für den Aufrufparameter zu verwenden.

<div align="left"><figure><img src="/files/yz2Dn5CrGnBqOdkbKase" alt=""><figcaption></figcaption></figure></div>

Feldnamen entnimmt man ebenfalls aus dem Bereich, indem man auf der linken Seite das gewünschte Objekt auswählt und im rechten Teil den gewünschten «Feldnamen» sucht.

<figure><img src="/files/nRUUL0LpFR8ytCL0MRHn" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Im Filter sind keine Leerzeichen oder sonstige Sonderzeichen erlaubt. Diese müssen bei Bedarf URL-Kodiert werden.\
\
**Beispiel falsch:** *GWX://edit/DOCUMENT/Keyword='<mark style="color:red;">Vertrag März</mark>'*\
**Beispiel richtig:** *GWX://edit/DOCUMENT/Keyword='<mark style="color:green;">Vertrag%20M%C3%A4rz</mark>'*\
\
Zum einfachen Konvertieren von Werten ins URL-Format stehen verschiedene Tools online zur Verfügung, Beispiel: <https://meyerweb.com/eric/tools/dencoder/>
{% endhint %}

**Ergebnis:** Werden über den Aufrufparameter mehrere CAS genesisWorld Datensätze gefunden, wird eine Listenansicht angeboten. Bei einem einzelnen Datensatz wird direkt der entsprechende Datensatz geöffnet. Kann ein Datensatz nicht gefunden werden oder hat der User nicht ausreichend Rechte, erscheint eine entsprechende Fehlermeldung.

## Neue Datensätze erzeugen

Die Syntax besteht jeweils aus dem GWX-Protokoll, dem Verb, dem Tabellennamen und optionalen Werten. Das Verb ist für neue Datensätzen «new».\
\
Beispiel zum Öffnen einer E-Mail mit dem vordefinierten Stichwort:\
`GWX://new/EMAILSTORE?SUBJECT=Hallo`

Beispiel zum Öffnen eines neuen Termins mit vorbelegtem Stichwort, Start- und Ende-Zeitpunkt : `GWX://new/APPOINTMENT?start_dt=datetime(2018-08-01 10:00:00)&end_dt=datetime(2018-08-01 11:00:00)&keyword=Testtermin`

Der Wert des Feldes ist standardmässig vom Typ «String» und wird nicht automatisch in das entsprechende Format konvertiert. Für eine Konvertierung stehen Funktionen zur Verfügung, die bei der Definition des Wertes aufgerufen werden können. Folgende Funktionen stehen zur Verfügung:

***datetime:*** konvertiert einen Zeitstring in einen Zeitwert. Das Format wird mit YYYY-MM-DD HH-MM-DD erwartet

***date:*** konvertiert einen Datumsstring in einen Datumswert. Das Format wird mit YYYY-MM-DD erwartet

***int:*** konvertiert einen String in einen Integerwert

***float:*** konvertiert einen String in einen Fliesskommawert

***guid:*** konvertiert einen String in einen GUID-Wert. Das Format entspricht dem CAS genesisWorld-GUID-Format inklusive 0x-Präfix.

Es ist möglich, einen neuen Datensatz aus einer bekannten Vorlage zu erstellen. Hierbei kann das Feld «TemplateGUID» mit dem GUID-Wert der Vorlage angegeben werden, Beispiel:

`GWX://new/EMAILSTORE?TEMPLATEGUID=0x6157730DA1384A9A870AC0C8BD157608`

Bei der Verwendung der TEMPLATEGUID ist es nicht möglich 'einfache Filter' zu verwenden. Hier ist die GUID unbedingt notwendig. Um diese zu ermitteln können Sie auf der SQL-Datenbank folgendes Statement ausführen:

```sql
select *from EMAILSTORETEMPL where Subject = 'Name der E-Mailvorlage'
```

```sql
select *from DOCUMENTTEMPL0 where keyword = 'Name der Dokumentenvorlage'
```

Im Ergebnis kann man die GGUID dann einfach via Kontextmenü kopieren:

<div align="left"><figure><img src="/files/Y1dtwjOpNfrWqedVXt35" alt=""><figcaption></figcaption></figure></div>

Um Datensätze mit dem neuen Datensatz zu verknüpfen, kann das Feld «Link» mit dem Wert «Tablename,GUIDs,RelationName» angegeben werden. Dabei müssen die jeweiligen Werte angegeben werden:

**Tablename:** Name des Datenobjektes, mit dem verknüpft werden soll\
**GUIDs:** Liste der Datensatz-GUIDs, mit denen verknüpft werden soll\
**RelationName:** Name der Verknüpfungsart, die verwendet werden soll

Beispiel zum Erstellen eines neuen Dokuments aus einer Vorlage und Verknüpfung einer Adresse über eine Primärverknüpfung:

`GWX://new/DOCUMENT?keyword=test&templateguid=0x9DF6FA0F0017EB4DAC3CCE965232A364&link=ADDRESS,0x05BCC828CE9747EFAACF140793E6C69F,ITDDOCADR`

Beim Setzen von Verknüpfungen muss man die GGUID (ID) des Datensatzes angeben. Um diese zu ermitteln, können Sie auf der SQL-Datenbank folgendes Statement ausführen:

```sql
select *from ADDRESS0 where compname = 'Firmenname'
```

Die Bezeichnungen der Verknüpfungen kann man in der Managementkonsole im Bereich Sonstiges -> Verknüpfungen nachschauen:

<div align="left"><figure><img src="/files/xa6sfJV8c126TIwL3JCT" alt=""><figcaption></figcaption></figure></div>

## Öffnen von Ansichten

Zum Öffnen von Ansichten stehen zwei Varianten zur Verfügung.

### Öffnen von Ansichten über Parameter

Die Syntax besteht aus dem GWX-Protokoll, dem Verb, dem Ansichtsnamen und optionalen Werten. Das Verb ist für Ansichten «view».

Dabei wird der technische Name der Ansicht angegeben und als Parameter können alle notwendigen Werte angegeben werden:

Beispiel zum Öffnen der Adressliste: `GWX://view/pTWCAxList.TWCAxList?TableName=Address`

Beispiel zum Öffnen der aktuellen Wochenansicht:\
`GWX://view/PTWCAXCALENDARVIEW.TWCAXCALENDARVIEW?ViewType=WEEK&Date=CURRENTDATE&NumberOfWeekDays=5&WeekStart=0&TableName=APPOINTMENT`

Zum Ermitteln der möglichen Parameter, kann man eine bestehende CAS Ansicht exportieren und mit dem Texteditor öffnen:

<div align="left"><figure><img src="/files/HGsIizXMzVn1Xe3PsnHl" alt=""><figcaption></figcaption></figure></div>

Nach dem Öffnen der exportierten Ansicht findet man die entsprechenden Parameter in der Datei:

<div align="left"><figure><img src="/files/Uc4etde9gsRRxeNuH4b6" alt=""><figcaption></figcaption></figure></div>

Zu beachten ist, dass man diese geringfügig anpassen muss. Leerzeichen werden in URLs nicht erlaubt und /n sind nicht notwendig.

{% hint style="info" %}
Um komplexere Ansichten (mit Filter und Einstellungen) aufzurufen, empfehlen wir Ihnen die zweite Methode.
{% endhint %}

### Öffnen von Ansichten aus Navigatoren

Neben dem Öffnen von [Ansichten über Parameter](#oeffnen-von-ansichten-ueber-parameter) können Sie auch direkt Ansichten und deren dazugehörigen Konfiguration aus einem bestehenden CAS-Navigator aufrufen.

Die Syntax besteht aus dem GWX-Protokoll, dem Verb, dem Namen des Navigators, dem Ordnernamen sowie der Ansicht. Das Verb ist für Ansichten «nav».

Beispiel zum Öffnen der Kundenliste aus dem Ordner Adressen des Artwin Navigators: `GWX://nav/Artwin/Adressen/Kundenliste`

Die Ebene nach «nav» ist der Name des Navigators «Artwin». Danach kommen die einzelnen Ordner und dann die Ansicht.

Beispiel zum Öffnen einer Ansicht aus einem Unterordner:\
`GWX://nav/Artwin/Zeiterfassung/Abrechnungsreports/Alle%20abgerechneten%20(nach%20Kunde)`\
\
Alternativ ist auch möglich, eine Ansicht, direkt mit der Ansichts-GUID zu öffnen:\
`GWX://nav/0x28436A058D844E408A1F0E6F5F5A550E`

Die GGUID kann dabei aus der Tabelle TWView, via SQL-Managementstudio ermittelt werden.

```sql
select *from TWView where keyword = 'Verkaufskampagnen'
```

Sollten zu viele Ergebnisse zurückkommen, kann auch noch über die Description gefiltert werden:

```sql
select *from TWView where keyword = 'Verkaufskampagnen' and Description = 'List'
```

(sucht explizit nur in Standardlistenansichten) oder

```sql
select *from TWView where keyword = 'Quartalsauswertung' and Description = 'Report'
```

(sucht explizit nur in Report-Ansichten).

Im Ergebnis kann man die GGUID dann einfach via Kontextmenü kopieren:

<div align="left"><figure><img src="/files/vcJ7qBQiv2SZECmLbtBG" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
**Zu beachten**

Kann eine Ansicht nicht gefunden werden oder ist diese mehrfach in dem definierten Ordner vorhanden, erscheint eine entsprechende Fehlermeldung.&#x20;

Wir empfehlen ausschliesslich auf öffentliche Navigatoren zu verweisen, damit auch alle Benutzer auf die Ansicht Zugriff haben. Private Navigatoren werden unterstützt, die Ansichten können dann aber nur von dem Eigentümer des Navigators geöffnet werden.
{% endhint %}

## Suchen von Telefonnummern (ab V4)

Verschiedene Telefonanlagen und VoIP-Lösungen bieten die Möglichkeit, dass bei einem eingehenden Anruf automatisch eine URL aufgerufen wird, die die Telefonnummer als Parameter enthält. In Kombination mit gWLaunch kann so beim Eingang eines Anrufs direkt in CAS genesisWorld nach dem zugehörigen Kontakt gesucht und dieser angezeigt werden.

Der Aufruf erfolgt dabei mit folgendem Parameter:

`gWx://search/ADDRESS/PhoneNumber=+41628858000`

In CAS genesisWorld wird anhand der übergebenen Nummer in den verschiedenen Rufnummernfeldern nach einem passenden Eintrag gesucht. Dabei gilt folgende Logik:

* **Firma:** Es wird geprüft, ob die Rufnummer im Feld Telefon (Zentrale) (`PHONEFIELD10`) hinterlegt ist.
* **Kontakt:** Es wird geprüft, ob die Rufnummer in einem der Felder `PHONEFIELD1` bis `PHONEFIELD9` vorhanden ist.

Wird ein Datensatz mit der angegebenen Rufnummer gefunden, öffnet CAS genesisWorld die entsprechende Adresse direkt.&#x20;

Sind mehrere Adressen mit derselben Rufnummer hinterlegt, wird eine Listenansicht mit allen Treffern angezeigt.

Kann die Rufnummer nicht gefunden werden, erfolgt keine Aktion.

{% hint style="info" %}

## Gut zu wissen: Rufnummer-Suche

Die oben beschriebene Suche setzt voraus, dass die Rufnummern in CAS genesisWorld im internationalen Format gepflegt sind (für die Schweiz beispielsweise mit der Landesvorwahl +41). Sind die Rufnummern nicht im internationalen Format hinterlegt, muss der Parameter PhoneNumber ohne Landesvorwahl übergeben werden, Beispiel `PhoneNumber=0628858000`. Allfällige Leerzeichen oder andere Zeichen in der Rufnummer werden bei der Suche automatisch entfernt.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.artwin.ch/gwlaunch/dokumentation/parameter-steuerung.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
