Bedingungen, die einen Statuswechsel einschränken, können in diesem Reiter verwaltet werden (Abb. 1). In den Anwendungen werden die fehlgeschlagenen Bedingungen dann angezeigt, sobald ein Wechsel in diesen Status nicht möglich ist.
Bei den Bedingungen ist auf die korrekte Syntax zu achten! Wird hier nicht die korrekte Syntax genutzt, kommt es zu Fehlern.
Abbildung 1: Projektstatus Bedingungen bearbeiten
Verfügbare Operatoren inklusive Beispiele:
Operator | Bezeichnung |
---|---|
== | gleich
|
!= | ungleich
|
<= | kleiner gleich
|
< | kleiner
|
>= | größer gleich
|
> | größer
|
CONTAINS | enthält
|
OR | oder
|
Beispiele von Bedingungen
Beispiel 1
In den nachfolgenden Beispielen müssen alle Bedingungen (Zeilen) erfüllt werden (true zurück liefern), damit ein Statuswechsel erfolgen kann.
ID | Titel | Bedingungen | Nachricht |
---|---|---|---|
10 | Projekt erzeugt | status.identifier == 10 | Status gesperrt |
Ein Projekt kann auf Projekt erzeugt gesetzt werden, wenn
Zeile 1: der momentane Status Projekt erzeugt (id:10) ist. Ansonsten wird dem Benutzer die Nachricht “Status gesperrt” in einem Dialog angezeigt.
Dieses Beispiel trifft in den Anwendungen immer bei Projekt Neuanlage zu, da die Anwendungen bei Neuanlage immer automatisch den Status auf Projekt erzeugt (id:10) setzen.
Wird danach ein Statuswechsel durchgeführt, kann der Benutzer nie mehr in den Status Projekt erzeugt wechseln, weil die ID sich dann verändert hat. Die Bedingung beim Status Projekt erzeugt gibt allerdings vor, dass die ID 1 sein muss.
Beispiel 2
ID | Titel | Bedingungen | Nachricht |
---|---|---|---|
30 | Angebot abgegeben | status.identifier < 30 ALL configurations.isComplete == true | Status zurücksetzen gesperrt Alle Konfigurationen müssen vollständig sein |
Ein Projekt kann nur auf Angebot abgegeben gesetzt werden, wenn
Zeile 1: die ID des momentane Status kleiner als 30 ist
Zeile 2: alle Konfigurationen vollständig sind
Sind Bedingungen nicht erfüllt und der Benutzer wählt den Status in den Anwendungen aus, werden die Nachrichten der fehlgeschlagenen Bedingungen im Dialog angezeigt (Abb. 2).
Beispiel 3
ID | Titel | Bedingungen | Nachricht |
---|---|---|---|
50 | Auftrag erteilt | status.identifier < 50 ALL configurations.isComplete == true ALL configurations.isValid == true userPermissions CONTAINS 'app_set_offer_confirmed' | Status zurücksetzen gesperrt Alle Konfigurationen müssen vollständig sein! Alle Konfigurationen müssen gültig sein Berechtigung zur Auftragserteilung |
Ein Projekt kann nur auf den Status Auftrag erteilt gesetzt werden, wenn
Zeile 1: die ID des momentane Status kleiner als 50 ist
Zeile 2: alle Konfigurationen vollständig sind
Zeile 3: alle Konfigurationen gültig sind
Zeile 4: der Benutzer die Berechtigung app_set_offer_confirmed (Angebot zum Auftrag zu machen) besitzt
Sind Bedingungen nicht erfüllt und der Benutzer wählt den Status in den Anwendungen aus, werden die Nachrichten der fehlgeschlagenen Bedingungen im Dialog angezeigt (Abb. 3).
Beispiel 4
ID | Titel | Bedingungen | Nachricht |
---|---|---|---|
44 | Angebot aus Bestand bedient | userPermissions CONTAINS 'sendmail_dealer_admin' OR userPermissions CONTAINS 'sendmail_dealer_sales' OR userPermissions CONTAINS 'sendmail_territory_manager' | Berechtigung Angebot aus Bestand bedient |
Ein Projekt kann nur auf den Status Angebot aus Bestand bedient gesetzt werden, wenn
Zeile 1: Der Benutzer besitzt eine der folgenden Berechtigungen: "sendmail_dealer_admin" ODER "sendmail_dealer_sales" ODER "sendmail_territory_manager"
Sind Bedingungen nicht erfüllt und der Benutzer wählt den Status in den Anwendungen aus, wird ebenfalls ein Dialog in den Anwendungen angezeigt, mit den Bedingungen, welche nicht erfüllt sind.
Felder für Bedingungen
Nachfolgend sind die zur Verfügung stehenden Felder, welche in den Bedingungen genutzt werden können, aufgezeigt.
Je nach Hersteller werden nicht alle Felder in den Anwendungen genutzt.
Felder | Beschreibung |
---|---|
delivery_text | Anmerkung an den Krone Innendienst |
order_ref | IDOC-Nummer |
external_ref | Externe Bestellnummer |
item_ref | Opportunity ID |
Bedingungen für den Statuswechsel
Bedingungen, die einen Statuswechsel einschränken, können in diesem Reiter verwaltet werden (Abb. 1). In den Anwendungen werden die fehlgeschlagenen Bedingungen dann angezeigt, sobald ein Wechsel in diesen Status nicht möglich ist.
Bei den Bedingungen ist auf die korrekte Syntax zu achten! Wird hier nicht die korrekte Syntax genutzt, kommt es zu Fehlern.
Verfügbare Operatoren inklusive Beispiele
Operator | Bezeichnung |
---|---|
== | gleich
|
!= | ungleich
|
<= | kleiner gleich
|
< | kleiner
|
>= | größer gleich
|
> | größer
|
CONTAINS | enthält
|
OR | oder
|
Übersicht über die Bedingungen
Nachfolgend findet sich eine Übersicht über die Bedingungen. Diese können individuell miteinander kombiniert werden.
Bedingungen | Erläuterung |
---|---|
Projektbedingungen (Status ID) | |
| Der “status.identifier” (Status ID) muss gleich “10” sein |
| Der “status.identifier” (Status ID) muss kleiner als “20” sein |
| Der “status.identifier” (Status ID) muss entweder “10” oder “20” oder “30” sein |
| Der “status.identifier” (Status ID) muss entweder “10” oder “26” oder “90” oder “24” sein |
Projektbedingungen (Eigenschaften des Projektes) | |
| Das Feld für die “dealer_contact_id” muss gesetzt sein |
| Das Feld für das “maturity_date” (Fälligkeitsdatum) muss gesetzt sein |
| Das Feld für die “billing_term_id” (Rechnungs ID) muss gesetzt sein |
| Das Feld für das “delivery_date”(Lieferdatum) muss gesetzt sein |
| Das Feld für die “responsible_user_id”(verantwortlicher Benutzer) muss gesetzt sein |
| Das Feld für die “partner_customer_id”(Kundenpartner ID) muss gesetzt sein |
| Die “dealer_customer_id” (Händler) und die “client_ customer_id” (Endkunde) müssen gesetzt sein |
| Die Felder für die “shipping_type_id” (Versandstyp ID) und die “shipping_address_id” (Versand Adresse) müssen gesetzt sein |
Projektbedingungen (Zugeordnete Objekte) | |
| Jede Konfiguration muss abgeschlossen sein |
| Jede Konfiguration muss gültig sein |
| Jede Konfiguration muss abgeschlossen sein |
| Jede Konfiguration muss gültig sein |
| In dem Projekt ist entweder keine oder nur eine Konfiguration hinterlegt |
| In dem Projekt muss es mindestens eine Konfiguration geben |
| In dem Projekt muss es mindestens eine Konfiguration geben, das Projekt darf nicht "leer" sein |
| Entweder die Anzahl der Elemente in “configurations” ist “1” oder die Anzahl der Elemente in “sortedManualPositions” ist größer als 0 |
| Die “pricelist” (Preisliste) ist aktiviert |
| Das Feld für den Grund für den Verlust des Auftrages darf nicht leer sein |
| Die Region des Kundenhändlers muss mit der Schlüsselregion übereinstimmen |
| Das Feld für “client_customer.externalId” (Kundennummer des gewählten Endkunden) muss gesetzt sein |
Benutzer Berechtigungen | |
| Der Benutzer muss die Berechtigung haben, ein Angebot zu bestätigen |
| Der Benutzer muss die Berechtigung haben entweder den "basic_partner" oder den "dealer_admin" oder den "dealer_sales" zu bearbeiten |
| Der Benutzer hat nicht die Berechtigung, “app_allow_forward_basic_partner_orders”(bestimmte Aufträge weiterzuleiten) und es in dem Feld ist entweder eine “dealer_contact_id” oder eine “partner_contact_id” gesetzt. |
| Der Benutzer muss die Berechtigung haben, eine E-Mail an den “Basic Partner” zu verschicken |
Kombinationsmöglichkeiten (Praxisbeispiele) | |
| Die Felder für die “Delivery term ID” (Lieferbedingungs ID) und die “Shopping Location” (Lieferort) müssen gesetzt sein |
| Der Grund für den Verlust des Auftrages liegt nicht an der “Competitor technique” (Technik des Konkurrenten) oder das Feld “Order Option Competitor” muss gesetzt sein (ein Konkurrent ist im System hinterlegt) |
| Der Grund für den Verlust des Auftrages liegt nicht am Preis des Konkurrenten oder das Feld “Order Option Competitor” muss gesetzt sein (ein Konkurrent ist im System hinterlegt) |
| Der Grund für den Verlust des Auftrages liegt nicht an der “Competitor comparison”(Vergleich mit dem Konkurrenten) oder das Feld “Order Option Competitor” muss gesetzt sein (ein Konkurrent ist im System hinterlegt) |
| Der Grund für den Verlust des Auftrages liegt nicht daran, dass Grimme kein Angebot gemacht hat oder das Feld “Order Option Competitor” muss gesetzt sein (ein Konkurrent ist im System hinterlegt) |
| Die “usage_type_id” ist "1" und das Feld für die “client_customer_ id” ist gesetzt oder die “usage_type_id” ist "2", oder die “usage_type_id” ist "3". |
| Entweder gibt es keinen Wert für die “client_customer_ id” oder die “usage_type_id” ist nicht "2" oder "3" |
| Der “status.Identifier” (Status ID) ist gleich “10”, “20” oder “30” oder der Benutzer hat die Berechtigung “cust_app_set_ each_offer_confirmed” |
| Der “status.identifier” (Status ID) ist gleich “50” und der Benutzer hat entweder die Berechtigung “app_set_offer_lost” oder “Cust_app_set_each_offer_lost” |
Beispiel
ID | Titel | Bedingungen | Nachricht |
---|---|---|---|
50 | Auftrag erteilt | status.identifier < 50 ALL configurations.isComplete == true ALL configurations.isValid == true userPermissions CONTAINS 'app_set_offer_confirmed' | Status zurücksetzen gesperrt Alle Konfigurationen müssen vollständig sein! Alle Konfigurationen müssen gültig sein Berechtigung zur Auftragserteilung |
Ein Projekt kann nur auf den Status Auftrag erteilt gesetzt werden, wenn
Zeile 1: die ID des momentane Status kleiner als 50 ist
Zeile 2: alle Konfigurationen vollständig sind
Zeile 3: alle Konfigurationen gültig sind
Zeile 4: der Benutzer die Berechtigung app_set_offer_confirmed (Angebot zum Auftrag zu machen) besitzt
Sind Bedingungen nicht erfüllt und der Benutzer wählt den Status in den Anwendungen aus, werden die Nachrichten der fehlgeschlagenen Bedingungen im Dialog angezeigt (Abb. 2).
0 Comments