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

Abbildung 1: Projektstatus Bedingungen bearbeiten

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'


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

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

Bedingungen

Erläuterung

Status

status.identifier == 10

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

status.identifier < 20

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

status.identifier IN {10, 20, 30}

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

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

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

maturity_date != null

Das Feld für das “maturity_date” (Fälligkeitsdatum im Projekt) muss gesetzt sein

client_customer.externalId != nil

Das Feld für “client_customer.externalId” (Kundennummer des gewählten Endkunden) muss gesetzt sein

dealer_customer_id != null AND client_customer_id != null

Die “dealer_customer_id” (Händler) und die “client_ customer_id” (Endkunde) müssen gesetzt sein

Verbinden und Überschrift

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)

pricelist.enabled == true

Die “pricelist” (Preisliste) ist aktiviert

ALL configurations.isComplete == true

Jede Konfiguration muss abgeschlossen sein

ALL configurations.isValid == true

Jede Konfiguration muss gültig sein

ALL sortedProducts.isComplete == true

Jede Konfiguration muss abgeschlossen sein

ALL sortedProducts.isValid == true

Jede Konfiguration muss gültig sein

configurations.@count <= 1

In dem Projekt ist entweder keine oder nur eine Konfiguration hinterlegt

configurations.@count > 1

In dem Projekt muss es mehr als 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

Entweder die Anzahl der Elemente in “configurations” ist “1” oder die Anzahl der Elemente in “sortedManualPositions” ist größer als 0

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'

Der Benutzer muss die Berechtigung haben entweder den "basic_partner" oder den "dealer_admin" oder den "dealer_sales" zu bearbeiten

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

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.

dealer_customer.region.key == region.key

Die Region des Kundenhändlers muss mit der Schlüsselregion übereinstimmen

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

Die “usage_type_id” muss entweder “2” oder “3” sein und das Feld für die “client_customer_ id” muss gesetzt sein

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

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

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

Entweder gibt es keinen Wert für die “client_customer_ id” oder die “usage_type_id” ist nicht "2" oder "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”

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


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

Kopie der tabelle

Bedingungen

Erläuterung

status.identifier == 10

Der “Status Identifier” (Status ID) muss gleich “10” sein

status.identifier < 20

Der “Status Identifier” (Status ID) muss kleiner als “20” sein

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

Der “Status Identifier” (Status ID) muss “10” oder “26” oder “90” oder“24” entsprechen

maturity_date != null

Das Feld für das “Maturity Date” (Fälligkeitsdatum) muss gesetzt sein

dealer_customer_id != null AND client_customer_id != null

Die “Dealer Customer ID” und die “Client Customer ID” müssen gesetzt sein

shipping_type_id != null AND shipping_address_id != null

Die Felder für die “Shipping type ID” (Versandstyp ID) und die die “Shipping address ID” (Versandsadresse) müssen gesetzt sein

dealer_contact_id != null

Das Feld für die “Dealer Kontakt ID” muss gesetzt sein

order.option.reason_lost_sales != NULL

Das Feld für den Grund für den Verlust des Auftrages darf nicht leer sein

delivery_date != null

Das Feld für das “Delivery Date”(Lieferdatum) muss gesetzt sein

billing_term_id != null

Das Feld für die “Billig Term ID” (Rechnungs ID) muss gesetzt sein

responsible_user_id != null

Das Feld für die “Responsible User ID”(verantwortlicher Benutzer) muss gesetzt sein

partner_customer_id != null

Das Feld für die “Partner Customer ID”(Kundenpartner ID) muss gesetzt sein

delivery_term_id != null AND shipping_location != null

Die Felder für die “Delivery term ID” (Lieferbedingungs ID) und die “Shopping Location” (Lieferort) müssen gesetzt sein

ALL configurations.isComplete == true

Jede Konfiguration muss abgeschlossen sein

ALL configurations.isValid == true

Jede Konfiguration muss gültig sein

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_technique' OR order.option.competitor != NULL

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)

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)

configurations.@count > 1

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

userPermissions CONTAINS 'app_set_offer_confirmed'

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

userPermissions CONTAINS 'sendmail_basic_partner'

Der Benutzer muss die Berechtigung haben, eine E-Mail an den “Basic Partner” zu verschicken

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

Der Benutzer muss die Berechtigung haben entweder den "Basic Partner" oder den "Dealer Admin" oder den "Dealer Sales" zu bearbeiten

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

Der Benutzer hat nicht die Berechtigung, Partneraufträge weiterzuleiten und es ist entweder eine “Dealer Kontakt ID” oder eine “Partner Kontakt ID” vorhanden.

dealer_customer.region.key == region.key

Die Region des Kundenhändlers muss mit der Schlüsselregion übereinstimmen

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

Die “Usage type ID” muss entweder “2” oder “3” sein und das Feld für die “client customer ID” muss gesetzt sein

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

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

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

Entweder gibt es keinen Wert für die “client customer ID”, oder die “Usage type ID” ist nicht "2" oder "3"

status.identifier IN {10, 20, 30}

Der “Status Identifier” (Status ID) muss gleich “10”, “20” oder “30” sein

client_customer.externalId != nil

Das Feld für “Client Customer ID” muss gesetzt sein

ALL sortedProducts.isComplete == true

Jede Konfiguration muss abgeschlossen sein

ALL sortedProducts.isValid == true

Jede Konfiguration muss gültig sein

sortedProducts.@count > 0

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

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”

pricelist.enabled == true

Die “pricelist” (Preisliste) ist aktiviert

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

Entweder die Anzahl der Elemente in “configurations” ist “1” oder die Anzahl der Elemente in “sortedManualPositions” ist größer als 0 (es sind also ein oder mehrere Elemente vorhanden.

configurations.@count <= 1

Es wird überprüft, ob die Sammlung “configurations" entweder keinElement oder nur ein Element enthält

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

  • No labels