Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

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

status.identifier == 10

!=

ungleich

status.identifier != 20

<=

kleiner gleich

status.identifier <= 30

<

kleiner

status.identifier < 40

>=

größer gleich

status.identifier >= 50

>

größer

status.identifier > 60

CONTAINS

enthält

userPermissions CONTAINS 'app_set_order_confirmed'

OR

oder

userPermissions CONTAINS 'sendmail_dealer_admin' OR userPermissions CONTAINS 'sendmail_dealer_sales'

Ü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)

status.identifier == 10

Die Status ID (status.identifier) muss gleich “10” sein

status.identifier < 20

Die Status ID (status.identifier) muss kleiner als “20” sein

status.identifier IN {10, 20, 30}

Die Status ID (status.identifier) muss entweder “10” oder “20” oder “30” sein

status.identifier == 10 OR status.identifier == 26 OR status.identifier == 90 OR status.identifier == 24

Die Status ID (status.identifier) muss entweder “10” oder “26” oder “90” oder “24” sein

Projektbedingungen (Eigenschaften des Projektes)

dealer_customer_id != null AND client_customer_id != null

Der Händler (dealer_customer_id) und der Endkunde (client_ customer_id) müssen ausgewählt sein

dealer_contact_id != null

Der Händleransprechpartner (dealer_contact_id)muss ausgewählt sein

partner_customer_id != null

Der Kundenpartner (partner_customer_id) muss ausgewählt sein

maturity_date != null

Das Fälligkeitsdatum (maturity_date) muss ausgefüllt sein

billing_term_id != null

Die Zahlungsbedingung muss (billing_term_id) muss ausgewählt sein

delivery_date != null

Das gewünschte Lieferdatum (delivery_date) muss ausgewählt sein

responsible_user_id != null

Der Werksbeauftragte (responsible_user_id) muss ausgewählt sein

shipping_type_id != null AND shipping_address_id != null

Die Versandsart (shipping_type_id) und die Versandsadresse (shipping_address_id) müssen ausgefüllt sein

Projektbedingungen (Zugeordnete Objekte)

ALL sortedProducts.isComplete == true

Jede Konfiguration muss abgeschlossen sein

ALL sortedProducts.isValid == true

Jede Konfiguration muss gültig sein

ALL configurations.isComplete == true

Jede Konfiguration muss abgeschlossen sein

ALL configurations.isValid == true

Jede Konfiguration muss gültig sein

configurations.@count <= 1

In dem Projekt ist entweder keine oder nur eine Konfiguration hinterlegt

configurations.@count > 0

In dem Projekt muss es mindestens eine Konfiguration geben

sortedProducts.@count > 0

In dem Projekt muss es mindestens eine Konfiguration geben, das Projekt darf nicht "leer" sein

configurations.@count == 1 OR sortedManualPositions.@count > 0

In dem Projekt ist entweder eine Konfiguration hinterlegt oder es ist mindestens eine XXX hinterlegt

pricelist.enabled == true

Die Preisliste (pricelist) ist hinterlegt

dealer_customer.region.key == region.key

Die Region des Kundenhändlers (dealer_customer.region.key) muss mit der Schlüsselregion (region.key) übereinstimmen

client_customer.externalId != nil

Die Kundennummer des gewählten Endkunden (client_customer.externalId) muss ausgefülllt sein

Projektbedingungen (Dynamische Option)

order.option.reason_lost_sales != NULL

Der Grund für den Verlust des Auftrages muss angegeben werden

order.option.reason_lost_sales != 'competitor_technique' OR order.option.competitor != NULL

Entweder es ist keine konkurrierende Technik

als Grund wurde TechnAls Grund für den Verlust des Auftrages ist nicht die Technik des Konkurrenten (“competitor_technique”) angegeben oder es ist ein Feld “Order Option Competitor” muss gesetzt sein (ein Konkurrent ist im System hinterlegt)

Freien Projektoptionen, die der Kunde selbst angeben kann

order.option.reason_lost_sales != 'competitor_price' OR order.option.competitor != NULL

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)

order.option.reason_lost_sales != 'competitor_comparision' OR order.option.competitor != NULL

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)

order.option.reason_lost_sales != 'no_offer_by_GRIMME' OR order.option.competitor != NULL

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)

Benutzer Berechtigungen

userPermissions CONTAINS 'app_set_offer_confirmed'

Der Benutzer muss die Berechtigung haben, ein Angebot zu bestätigen

userPermissions CONTAINS 'app_edit_state_basic_partner' OR userPermissions CONTAINS 'app_edit_state_dealer_admin' OR userPermissions CONTAINS 'app_edit_state_dealer_sales'

Die aktive Gruppe des Benutzers muss entweder die Berechtigung “A” oder “B” oder “C” haben

userPermissions CONTAINS 'sendmail_basic_partner'

Die aktive Gruppe des Benutzers muss die Berechtigung “A” haben

Kombinationsmöglichkeiten (Praxisbeispiele)

delivery_term_id != null AND shipping_location != null

Die Lieferbedingung (delivery_term_id) und der Bestimmungsort für den Versand (shipping_location) müssen ausgefüllt sein

(usage_type_id == "1" AND client_customer_id != null) OR usage_type_id == "2" OR usage_type_id == "3"

Entweder die Verkaufsart (usage_type_id) ist Endkundenmaschine (ID : 1) UND der Endkunde (client_customer_ id) ist ausgewählt

- ODER -

die Verwendungsart ist Lagermaschine (ID : 2) oder Vorführmaschine (ID : 3)

client_customer_id == null OR (usage_type_id != "2" AND usage_type_id != "3" )

Entweder der Endkunde (client_customer_ id) ist nicht angegeben

-ODER-

die Verkaufsart (usage_type_id) ist nicht Lagermaschine (ID : 2) oder Vorführmaschine (ID : 3)

status.identifier IN {10, 20, 30, 45} OR userPermissions CONTAINS 'cust_app_set_each_offer_confirmed'

Der “status.Identifier” (Status ID) ist gleich “10”, “20” oder “30” oder der Benutzer hat die Berechtigung “cust_app_set_ each_offer_confirmed”

(status.identifier == 50 AND userPermissions CONTAINS 'app_set_offer_lost') OR userPermissions CONTAINS 'cust_app_set_each_offer_lost'

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”

dealer_contact_id != null OR partner_contact_id != null OR (userPermissions CONTAINS 'app_allow_forward_basic_partner_orders' AND dealer_contact_id != null)

Entweder das Feld für die "dealer_contact_id" oder das Feld für die "partner_contact_ id" ist gesetzt oder der Benutzer hat die Berechtigungen"app_allow_forward_basic_partner_orders" und die "dealer_contact_id" ist gesetzt.

userPermissions CONTAINS "app_allow_forward_basic_partner_orders" AND status.identifier == 80) OR status.identifier < 54

Der Benutzer hat die Berechtigung "app_allow_forward_basic_partner_orders" und der “status.identifier” (Status ID) ist gleich “80” oder der “status.identifier” (Status ID) ist kleiner als 54


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).

  • No labels