Zum Inhalt

GraphQL FAQ - microtech ERP System

Allgemeine Funktionalitäten

Auf dieser Seite möchten wir Ihnen Antworten auf die am häufigsten gestellten Fragen zu unserer GraphQL-Schnittstelle geben.

Q: Wird die GraphQL-Schnittstelle auch andere Programmfunktionen wie eigene Abläufe und Bereichs-Aktionen starten können?
A: Ja, diese Erweiterung ist geplant. Die Priorität, mit der wir diese Funktion umsetzen, können Sie aktiv über unsere Ideenfabrik mitbestimmen. Die "Ideenfabrik" rufen Sie über Ihr microtech Konto auf. Sollten Sie noch nicht registriert sein, können Sie dies auf folgender Seite nachholen: microtech Konto.

Q: Ist es geplant, dass der Client zukünftig nur noch über GraphQL kommuniziert?
A: Nein, der Client wird auch in Zukunft direkt mit dem Datenbankserver kommunizieren. Allerdings werden besonders datenintensive Funktionen – wie das Buchen oder Wandeln von Vorgängen – künftig über den Anwendungsserver ausgeführt, der direkt neben der Datenbank läuft. Diese Prozesse erfolgen dann über GraphQL, um die Performance zu steigern und den Datentransfer zu optimieren.

Q: Wann kann über GraphQL ein Druck angestoßen werden?
A: Derzeit ist diese Funktion noch nicht verfügbar. Innerhalb unserer microtech Ideenfabrik können Sie jedoch für diese Idee werben und andere Nutzer über die Umsetzung abstimmen lassen: microtech Konto.

Berechtigungen und Sicherheit

Q: Kann ich verschiedenen GraphQL-Nutzern unterschiedliche Rechte geben (z.B. nur lesen/ändern, aber nicht löschen)?
A: Ja, das geht heute schon über die Berechtigungsstrukturen, da diese Rechte voll beachtet werden.

Q: Wie kann eine 2-Faktor-Authentifizierung implementiert werden?
A: Aktuell wird eine 2-Faktor-Authentifizierung nicht unterstützt. Bitte stimmen Sie dafür in der Ideenfabrik ab: microtech Konto.

Datenverwaltung und -konsistenz

Q: Muss ich zwingend alle Pflichtfelder selbst ausfüllen, oder werden bestimmte Werte automatisch vergeben (z. B. Adressnummer)?

A: Pflichtfelder müssen grundsätzlich selbst befüllt werden. Die Adressnummer gehört z. B. jedoch nicht dazu: Wenn das Feld fldStatus beispielsweise auf „Kunde“ gesetzt wird, vergibt das System automatisch die nächste freie Adressnummer. Viele weitere Felder werden ebenfalls automatisch vorbelegt, etwa bei verknüpften Datensätzen (z. B. ein Kontakt zu einer Adresse – hier werden alle Adressdaten übernommen, sodass Sie nur die kontaktbezogenen Felder ergänzen müssen).

Q: Wird die LSN von allen Seiten (microtech ERP Client-App, Import, COM und GraphQL) verwaltet und berücksichtigt?
A: Ja, die Nummern werden auf Datenbankebene verwaltet, unabhängig davon, ob über COM, GraphQL, Import oder Benutzeroberfläche.

Q: Warum sind die Tabellennamen in GraphQL englisch und nicht wie im DB-Manager der microtech Software in deutsch?

A: GraphQL ist ein englischsprachiges Framework mit einem internationalen Ökosystem. Dokumentationen, Beispiele, Tools und die Community sind überwiegend auf Englisch, und auch KI-Modelle sind primär auf englischen Code trainiert. Englische Tabellennamen wie tblProducts oder tblAccounts ermöglichen eine zuverlässigere Codegenerierung und fügen sich nahtlos in dieses Ökosystem ein – bei deutschen Begriffen wäre die Codegenerierung deutlich fehleranfälliger. Wir hatten beide Optionen aktiv geprüft und uns für die international am besten dokumentierte Variante entschieden. Nutzen Sie dies als Chance von der weltweiten Community und der Hilfe durch künstliche Intelligenz zu profitieren.

Beispiel für unsere verwendeten Begriffe (vs. eingedeutsche Begriffe):

# Lesbar und selbsterklärend
query {
  tblTransactions { ... }
  tblProducts { ... }
  tblAccounts { ... }
}

# vs. verwirrend in englischem Kontext
query {
  tblVorgaenge { ... }
  tblArtikel { ... }
  tblKonten { ... }
}

Q: Warum bleiben Felder dennoch deutsch?

A: Felder kommen 1:1 aus den bestehenden microtech Tabellen und sind Anwendern seit Jahren aus z.B. Tabellenansichten, Regeln, Drucklayouts, dem DB-Manager usw. bekannt (ArtNr, BelegNr, RabSz). Eine Übersetzung würde an dieser Stelle mehr Verwirrung stiften als helfen.

Datenbankzugriff und Sperren

Q: Wie geht GraphQL mit gesperrten Datensätzen um (z.B. Vorgänge durch andere Benutzer)?
A: Die mutation wird abgebrochen und alle Änderungen werden zurückgerollt. In der Antwort gibt es eine passende Fehlermeldung.

Q: Ist es möglich, mit GraphQL auf externe Datenbanken zuzugreifen und diese Werte dann in microtech ERP zu setzen / zu manipulieren?
A: Nein. Die microtech GraphQL-API greift ausschließlich auf die microtech ERP Datenbank zu und kann nicht auf externe Datenbanken zugreifen.

Info

Was GraphQL kann:

  • Daten aus microtech ERP abfragen und manipulieren

  • Komplexe Datenverarbeitung durch microtech-spezifische Erweiterungen in der Abfragesprache

  • Parametrisierte queries & mutations für flexible Datenoperationen

Integration und Synchronisation

Q: Wäre mit GraphQL eine vollständige Synchronisation zu einem Shop-System wie Shopify möglich?

A: Ja, technisch ist das möglich. GraphQL stellt alle erforderlichen Lese- und Schreibzugriffe für eine bidirektionale Synchronisation bereit. Die eigentliche Synchronisationslogik – wie Mapping, Konfliktauflösung und Datenabgleich – muss jedoch in einer externen Middleware implementiert werden.

Q: Kann ich mit SQL-Replikation oder GraphQL auch Daten wieder zurück ins microtech ERP schreiben?

A: Mit GraphQL können Daten sowohl gelesen als auch zurück ins microtech ERP geschrieben werden. GraphQL als Business-Logic-Schnittstelle ermöglicht Ihnen neben Lesezugriffen auch Mutations, welche Änderungen über die Geschäftslogik des microtech ERP sicher und regelkonform ausführen.

A: Die SQL-Replikation hingegen dient ausschließlich der Replikation. Über die Replikation werden alle ERP-Daten in eine PostgreSQL-Datenbank bereitgestellt - mit diesen replizierten Daten lassen sich in externen Tools Auswertungen vornehmen. Ein Zurückschreiben dieser Daten ist nicht vorgesehen.

Q: Kann ich den Preis eines Kunden für einen bestimmten Artikel unter Berücksichtigung aller Preislogiken über GraphQL auslesen, ohne einen Vorgang anzulegen?

A: Nein, aktuell ist diese Funktion nicht verfügbar. Dafür wäre eine Erweiterung der Schnittstelle erforderlich. Sie können die Umsetzung über unsere Ideenfabrik unterstützen und mitbestimmen.


Stand: November 2025