Kalkulation (C12ANKAFIX_KALKULATION)
Voraussetzungen für die Verwendung des Prozesses
Die Lizenz EVI-AnKa-fix muss eingespielt sein.
Die benötigten Anmeldeinformationen für AKF müssen in den globalen Variablen gepflegt sein.
Technische Dokumentation
Komponentenübersicht
Prozesse
C12ANKAFIX_KALKULATION
Skriptbibliothek
SC12AnkafixUtils
SC12AnkafixTestUtils
Globale Variablen
C12VarianteVerwenden
C12AnkafixClientId
C12AnkafixClientSecret
C12AnkafixTokenURL
C12AnkafixURL
Administrationsmöglichkeiten
Name | Eigenschaft | Typ |
---|---|---|
C12VarianteVerwenden | true = Varianten im Kalkulationsprozess verwenden false = Varianten nicht verwenden | Globale Variable |
C12AnkafixClientId | Hier muss die Client-Id aus AnKa-fix hinterlegt werden, die für die Authentifizierung genutzt werden soll | Globale Variable |
C12AnkafixClientSecret | Hier muss das Client-Secret aus AnKa-fix hinterlegt werden, das für die Authentifizierung genutzt werden soll | Globale Variable |
C12AnkafixURL | URL zu AnKa-fix | Globale Variable |
C12AnkafixTokenURL | URL zum Tokenabruf aus AnKa-fix | Globale Variable |
C12AnkafixStatusURL | URL für die Statusänderung in AnKa-fix | Globale Variable |
Übersteuerungsmöglichkeiten
Methodenname | Funktionalität | |
---|---|---|
SC12AnkafixUtils | addCustomFieldsCustomer | Diese Methode kann genutzt werden, um weitere Felder zu den bestehenden Standardfeldern hinzuzufügen. Dazu muss man lediglich in die Map currentValues weitere Wertepaare einfügen. Der Schlüssel muss hierbei dem Eingabeparameter im Webservice entsprechen. |
addCustomFieldsInstacc | Diese Methode kann genutzt werden, um weitere Felder zu den bestehenden Standardfeldern hinzuzufügen. Dazu muss man lediglich in die Map currentValues weitere Wertepaare einfügen. Der Schlüssel muss hierbei dem Eingabeparameter im Webservice entsprechen. | |
addCustomFieldsQuote | Diese Methode kann genutzt werden, um weitere Felder zu den bestehenden Standardfeldern hinzuzufügen. Dazu muss man lediglich in die Map currentValues weitere Wertepaare einfügen. Der Schlüssel muss hierbei dem Eingabeparameter im Webservice entsprechen. | |
addCustomFieldsVariant | Diese Methode kann genutzt werden, um weitere Felder zu den bestehenden Standardfeldern hinzuzufügen. Dazu muss man lediglich in die Map currentValues weitere Wertepaare einfügen. Der Schlüssel muss hierbei dem Eingabeparameter im Webservice entsprechen. | |
addCustomFieldsVariantMeteringPoint | Diese Methode kann genutzt werden, um weitere Felder zu den bestehenden Standardfeldern hinzuzufügen. Dazu muss man lediglich in die Map currentValues weitere Wertepaare einfügen. Der Schlüssel muss hierbei dem Eingabeparameter im Webservice entsprechen. | |
addSettingsToVariant | Diese Methode kann genutzt werden, um Settings zu einer Variante hinzuzufügen. Man kann über den Eingabeparameter Daten ermitteln und diese über die Methode SC12AnkafixUtils.createSetting(type, name, value) in ein setting überführen. Jedes Setting muss zur Liste result hinzugefügt werden. Folgende Werte sind zulässig: | |
checkStartCalculation | Kann verwendet werden, um eine erweitere Startprüfung zu implementieren. | |
getMandatoryFieldsCaseCustomer | Kann anhand des Geschäftspartners die geforderten Pflichtfelder unterscheiden und den entsprechend benannten Fall zurückgeben. | |
getMandatoryFieldsCaseInstacc | Kann anhand des Anlagenkontos die geforderten Pflichtfelder unterscheiden und den entsprechend benannten Fall zurückgeben. | |
getMandatoryFieldsCaseQuote | Kann anhand des Angebotes die geforderten Pflichtfelder unterscheiden und den entsprechend benannten Fall zurückgeben. | |
getMandatoryFieldsCaseVariant | Kann anhand der Variante die geforderten Pflichtfelder unterscheiden und den entsprechend benannten Fall zurückgeben. | |
getMandatoryFieldsCaseVariantMeteringPoint | Kann anhand der Anlagekontonzuordnung zur Variante die geforderten Pflichtfelder unterscheiden und den entsprechend benannten Fall zurückgeben. | |
getMeasuringMethodForAnkafix | Liefert das Messverfahren für AnKa-fix zurpck. Hier kann das Mapping angepasst werden. | |
getMediumForAnkafix | Liefert das Medium für AnKa-fix zurpck. Hier kann das Mapping angepasst werden. | |
getSearchForCustomer | Liefert die Suche bzw. den Suchnamen zurück, der für die Ermittlung der Geschäftspartnerdaten genutzt werden soll. | |
getSearchForInstacc | Liefert die Suche bzw. den Suchnamen zurück, der für die Ermittlung der Informationen zum Anlagenkonto genutzt werden soll. | |
getSearchForQuote | Liefert die Suche bzw. den Suchnamen zurück, der für die Ermittlung der Angebotsdaten genutzt werden soll. | |
getSearchForVariant | Liefert die Suche bzw. den Suchnamen zurück, der für die Ermittlung der Variantendaten genutzt werden soll. | |
getVariantStatus | Liefert zu einem Angebotsstatus den passenden Status für AnKa-fix zurück. Hier kann das Mapping angepasst werden. |
Grundsätzlich können die mit dem Modul bereitgestellten Komponenten wie BPM-Prozesse, -teilprozesse, Suchen und Skriptbibliotheksmethoden übersteuert werden, um diese an individuelle Anforderungen und Bedürfnisse anzupassen.
Skriptmethoden
Skriptklasse | Methodenname | Funktionalität |
---|---|---|
SC12AnkafixUtils | checkStartCalculation | Kann verwendet werden, um eine erweitere Startprüfung zu implementieren. |
getJSONCustomers | Ermittlung der Geschäftspartnerinformationen und erzeugen der Übergabestruktur für AnKa-fix | |
getJSONInstaccs | Ermittlung der Anlagenkontoinformationen und erzeugen der Übergabestruktur für AnKa-fix | |
getJSONQuote | Ermittlung der Angebotsinformationen und erzeugen der Übergabestruktur für AnKa-fix | |
getToken | Abholen des Authentifizierungstokens | |
post | Senden der Daten an AnKa-fix | |
createUrl | Erzeugen der URL für einen Aufruf basierend auf der übergebenen Entität | |
getQuoteValuesFromWebserviceResult | Verarbeiten der Angebotswerte aus der Webservice-Antwort | |
getVariantsFromQuote | Auslesen der Variantenliste aus der Webservice-Antwort | |
getVariantValuesFromWebserviceResult | Verarbeiten der Variantenwerte aus der Webservice-Antwort | |
getPricecalcsFromVariant | Auslesen der Preiskalkulationen aus der Webservice-Antwort |
Prozessablauf
Kalkulation starten (EVI → AKF)
Die Kalkulation kann über den Schalter "Angebot kalkulieren" in der Aktionsbox des Angebots ausgeführt werden.
Wurde noch keine Preiskalkulation erzeugt und der Schalter "Angebot kalkulieren" betätigt, so wird dem User eine Hinweismeldung angezeigt, dass zuerst die Preiskalkulation(en) und Variante(n) erzeugt werden müssen, bevor der Prozess gestartet werden kann.
Wenn das Angebot erfolgreich in AFK kalkuliert und zurück in EVI übertragen wurde (Status KALKULIERT) wird bei der Betätigung des Schalter "Angebot kalkulieren" eine Hinweismeldung ausgegeben, dass das Angebot bereits kalkuliert wurde. Eine erneute Übertragung ist in diesem Fall nicht möglich.
Bei Betätigung des Schalters "Angebot kalkulieren" wird der aktuelle Benutzer in das Feld "aktueller Bearbeiter" eingetragen. Dies ermöglicht die Benachrichtigung des Users nach erfolgreicher Rückübertragung der Daten aus AnKa-fix ins CRM anhand eines Benutzertasks. Nach dem Eintrag erfolgt die Übertragung der Angebotsdaten an AnKa-fix.
Folgende Entitäten werden übertragen:
Entität | Tabellenblatt aus Anlage "EVI-AnKa-fix_Mapping*.xlsx" | Anmerkung |
---|---|---|
Geschäftspartner (Interessent/Kunde) | Kunde | Es wird immer der gleiche Service aufgerufen, egal ob der Geschäftspartner in AKF bereits existiert oder nicht. |
Anlagenkonto | Zählpunkt | |
Angebot | Kalkulationsvorgang | |
Variante | Kalkulationsvariante | |
Preiskalkulation | Zählpunktkalkulation |
Bedingungen
Folgende Bedingungen sind bei der Kalkulation zu beachten:
Je Variante kann es 1-n Zählpunkte (ZP) geben.
Ein ZP darf maximal einmal mit einer Laufzeit in einer Variante sein.
Die Laufzeit der ZP muss innerhalb der Variantenlaufzeit liegen.
Die einzelnen Objekte werden einzeln per REST übertragen (3 Aufrufe für Geschäftspartner, Anlagenkonto, Angebot). Es sind jeweils mehrere Objekte je Ebene/Art möglich.
Event
Außerdem legt die Aktion "Angebot kalkulieren" einen Eintrag "QUOTE_CALCULATION" in der EVENT-Tabelle an.
Der Event-Datensatz beinhaltet folgende Felder:
Feld | Wert |
---|---|
Entität | Quote |
Primärschlüssel | PK des Datensatzes aus dem der Prozess ausgelöst wurde |
Mitarbeiter | Mitarbeiter, der den Prozess ausgelöst hat |
Eventname | QUOTE_CALCULATION |
Rückgabewerte
Folgende Werte werden aus AFK an EVI übertragen und als Event-Result festgehalten:
Status
ID
Fehlermeldungen
URL
REST-Aufrufe
Nr. | Richtung | Beeinhaltet / Mapping Tabellenblatt | Beispiel / REST Name | Rückgabe |
---|---|---|---|---|
1 | EVI=>AKF | Kunde | customer-AllValues.json | OK oder Fehler |
2 | EVI=>AKF | Zählpunkt | meteringPoints-AllValues_SLP_GAS.json meteringPoints-AllValues_SLP_POWER.json | OK oder Fehler |
3 | EVI=>AKF | Vorgang, Variante, Zählpunktkalkulation,
| pricingOffer_1.json |
bei allen drei Endpunkten ein JSON mit in der folgenden Struktur zurückgegeben: |
4 | AKF=>EVI | Kalkulationsergebnisse von AKF nach EVI | AKF startet EVI-BPM-Prozess über REST Service. Kalkulationsergebnis wird per JSON-Struktur übergeben. EVI muss Benutzer über BPM-Aktion informieren. Kalkulationsbenutzer muss am Angebot hinterlegt werden, damit der Prozess dem entsprechendem Benutzer zugeordnet werden kann. | OK oder Fehler |
5 | EVI=>AKF | Statuswechsel | ChangeState Beschreibung siehe unten Abschnitt "Angebotsstatus aktualisieren (EVI => AKF)" |