Konformitätsregeln - Parameter an Workflow übergeben

dodic
Beiträge: 378
Registriert: 03. Feb 2012, 10:51
Wohnort: Salzgitter
Kontaktdaten:

Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von dodic » 01. Aug 2016, 08:36

Hallo,

ich bin gerade dabei eine Konformitätsregel zu erstellen, die einen Worfklow starten soll. Hierbei möchte ich Attribute übergeben und habe diese entsprechend bei den Parametern benannt.

Wie kann ich nun auf diese Parameter im Workflow zurückgreifen? In der Doku steht auch, dass ich den User abfragen kann, der die Aktion ausgelöst hat, wie kann ich diesen abfragen? http://helpfiles.matrix42-web.de/2015_E ... s%7C_____1

Danke!

Grüße
Hauptsystem: Version: 10.0.1.3001
Testsystem: Version: 10.0.1.3001

msteiner
Beiträge: 167
Registriert: 05. Aug 2015, 15:01
Kontaktdaten:

Re: Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von msteiner » 02. Aug 2016, 08:45

hi
also :
anhand eines Beispiels: CoRu Löst einen WF aus
CoRu: wenn ein neuer Task erstellt wird
WF:
im WF gibt es am anfang das Assign des Object.ID --> das ist die expr.objID vom Task der erstellt wurde
mit get-single record und der entsprechenden search query bekommst du nun den user und sämtliche andere informationen die du willst
siehe anhang
Dateianhänge
2016-08-02_08-44-48.pdf
(30.23 KiB) 210-mal heruntergeladen

dodic
Beiträge: 378
Registriert: 03. Feb 2012, 10:51
Wohnort: Salzgitter
Kontaktdaten:

Re: Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von dodic » 03. Aug 2016, 08:45

Hey,

das probiere ich mal aus, vielen Dank!
Hauptsystem: Version: 10.0.1.3001
Testsystem: Version: 10.0.1.3001

dodic
Beiträge: 378
Registriert: 03. Feb 2012, 10:51
Wohnort: Salzgitter
Kontaktdaten:

Re: Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von dodic » 10. Aug 2016, 11:16

Hallo,

ich nochmal :roll:.

Ich hab das Ganze nun mal ausprobiert komme aber nicht zum gewünschten Ergebnis. Daher versuche ich mein Vorhaben genauer zu beschreiben..

Folgendes Beispiel: Ein Benutzer ändert den Namen eines Asset's z.B. Monitor. In dem Fall soll eine Konformitätsregel ausgelöst werden.

Bis zu diesem Punkt bin ich gekommen.. Nun sage ich bei der K-Regel:

Aktion > Worfklow starten
Workflow auswählen

Jetzt kommt ein interessanter Punkt: Bitte wählen Sie die Objekt Attribute mit den "before" werten aus die sie im Workflow benutzen möchten. Die habe ich entsprechend deklariert und einen Parameternamen hinterlegt.

Meine Frage ist nun, wie kann ich die Parameterinformationen im Workflow abgreifen? Argumente "Ein" klappt nicht. Als Variable hinterlegen auch nicht.

Grüße
Hauptsystem: Version: 10.0.1.3001
Testsystem: Version: 10.0.1.3001

msteiner
Beiträge: 167
Registriert: 05. Aug 2015, 15:01
Kontaktdaten:

Re: Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von msteiner » 10. Aug 2016, 17:08

also bei meiner CoRu sag ich auf
Seite1:
CI oder DD --> in diesem Fall DD und "Asset"
Seite2:
"Condition Type" = change an object
conditions: asset.name - after - changed
seite3:
default
seite 4:
action: start workflow - select WF - das Feld mit "before attributes" lasse ich frei da ich die "alten" werte nicht im WF brauche bzw behandeln will

FERTIG

dodic
Beiträge: 378
Registriert: 03. Feb 2012, 10:51
Wohnort: Salzgitter
Kontaktdaten:

Re: Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von dodic » 10. Aug 2016, 19:38

Mir geht es ja genau um diese Werte. Ich möchte diese verarbeiten. Daher meine Frage, wie das funktioniert im Workflow Studio.

Grüße
Hauptsystem: Version: 10.0.1.3001
Testsystem: Version: 10.0.1.3001

msteiner
Beiträge: 167
Registriert: 05. Aug 2015, 15:01
Kontaktdaten:

Re: Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von msteiner » 11. Aug 2016, 07:38

also die "verherigen" werte die die CoRu ausgelöst haben willst du in den WF?

wenn ja dann würde ich im Fall vom Asset.Namen davon ausgehen das als
Attributes = Asset.Name
Parameter Name = str_AssetName

str verwende ich um es als string im namen erkennen zu können,
jetzt wirst du im WF eine Variable mit dem Typ string anlegen müssen und als Name "str_AssetName" (achtung das bei der variable der scope auf den ganzen WF steht und nicht nur auf den flowchart )

Achtung!!
ausprobiert habe ich das nicht - sieht aber so aus als ob dies so funktionieren sollte

dodic
Beiträge: 378
Registriert: 03. Feb 2012, 10:51
Wohnort: Salzgitter
Kontaktdaten:

Re: Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von dodic » 11. Aug 2016, 08:22

Hallo genau das hatte ich gemacht, ohne Erfolg :roll:
Hauptsystem: Version: 10.0.1.3001
Testsystem: Version: 10.0.1.3001

msteiner
Beiträge: 167
Registriert: 05. Aug 2015, 15:01
Kontaktdaten:

Re: Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von msteiner » 11. Aug 2016, 09:29

es scheint so als ob dies nicht geht - in der doku steht folgendes
Vorher-/Nachher-Werte

Jede Bedingung kann den Vorher- oder Nachher-Wert eines Attributs prüfen.

Vorher: Wert eines Attributs vor einer Änderung, die die Konformitätsregel ausgelöst hat. Wenn die Konformitätsregel eine Bedingung beinhaltet, die den Wert eines Attributs prüft, dann wird dieser Wert vor Änderung vom System geprüft.

Hinweis: Vorher-Werte sind nicht sinnvoll bei Regeln, die auf den Auslöser Objekt/Fragment erstellt reagieren. Konformitätsregeln, die ein Vorher-Bedingung beinhalten, können nicht online ausgeführt werden: weder über die Aktion Ausführen, noch von zeitgesteuerten Aktionen, die auf Datumswerte prüfen.

da die CoRu erst NACH der änderung ausgeführt wird kann sie den "Vorher" wert anhand der Regel nicht wissen.
die GUI ist hier etwas verwirrend

dodic
Beiträge: 378
Registriert: 03. Feb 2012, 10:51
Wohnort: Salzgitter
Kontaktdaten:

Re: Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von dodic » 11. Aug 2016, 09:52

Doch es geht, da die LDAP CoRu's ebenfalls die Funktion nutzen. Leider steig ich bei dem Workflow nicht durch :lol:
Hauptsystem: Version: 10.0.1.3001
Testsystem: Version: 10.0.1.3001

msteiner
Beiträge: 167
Registriert: 05. Aug 2015, 15:01
Kontaktdaten:

Re: Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von msteiner » 11. Aug 2016, 11:20

dann die parameter in der CoRu definieren und beim get record als "where expression"

"obj.GetBeforeData(of <ParameterType>)("<ParameterName der CoRU>",String.Empty)"

Für asset name wie vorher schon beschrieben wird vermutlich

"item.GetBeforeData(of String)("Asset.Name",string.Empty)"

nötig sein

siehe anhang - alerdings denke ich nciht das "asset.name" sinn machen wird, da alle verwandten themen ja den neuen Namen als referenz haben :)
Dateianhänge
asset_name_before.pdf
(73.73 KiB) 133-mal heruntergeladen

dodic
Beiträge: 378
Registriert: 03. Feb 2012, 10:51
Wohnort: Salzgitter
Kontaktdaten:

Re: Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von dodic » 11. Aug 2016, 11:47

Hattest du das mal getestet? Sieht irgendwie, wie du beschrieben hast nicht so günstig aus, da ich ja den alten Namen haben möchte und nicht den Neuen :lol:
Hauptsystem: Version: 10.0.1.3001
Testsystem: Version: 10.0.1.3001

msteiner
Beiträge: 167
Registriert: 05. Aug 2015, 15:01
Kontaktdaten:

Re: Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von msteiner » 11. Aug 2016, 12:19

deswegen schreib ich ja - es das es keinen sinn macht den alten namen auf den neuen zu matchen :)

aber ein anderes attribut vl schon - ich kenne ja deinen Verwendungszweck nicht

das sollte auch nur als Bsp dienen

dodic
Beiträge: 378
Registriert: 03. Feb 2012, 10:51
Wohnort: Salzgitter
Kontaktdaten:

Re: Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von dodic » 11. Aug 2016, 17:21

Einen schritt bin ich schon mal weiter. Ich habe nun auch in der TrackingAnsicht gesehen, dass er die "Before-Daten" auch im Workflow erkennt. Leider weiß ich noch nicht, wie ich mir diese als Variable festlege. Ich habe mal die 3 entscheidenden Dinge Fett markiert.

In der CoRu habe als Parameter "BeforeComputerName" mitgegeben. Dann habe ich beim Computer den Namen geändert und vorher war dieser PC999999, somit übergibt er die alten Daten.


3 ForEach<ObjectActionContext> Executing ActivityStateRecord 11.08.2016 15:42:00 Argument 'Values' : '<ArrayOfComplianceRuleObjectActionContext xmlns="http://schemas.datacontract.org/2004/07 ... aContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" z:Id="1" z:Type="Matrix42.ServiceRepository.Contracts.DataContracts.ComplianceRuleObjectActionContext[]" z:Assembly="Matrix42.ServiceRepository.Contracts, Version=8.1.1.1674, Culture=neutral, PublicKeyToken=null" z:Size="1"><ComplianceRuleObjectActionContext z:Id="2"><CI>ccac642a-5cb9-4728-87db-1a604889ca64</CI><Created>2016-08-11T15:42:00.0284331+02:00</Created><DataForm>00000000-0000-0000-0000-000000000000</DataForm><ID>4dd2fab5-265e-e611-51b9-005056a968d4</ID><User>6c12a549-e006-e611-5e87-005056a968d4</User><BeforeData xmlns:d3p1="http://matrix42.com/Services/WorkflowActivation/v1/" z:Id="3" z:Size="1"><d3p1:WorkflowArgument z:Id="4"><d3p1:Name z:Id="5">BeforeComputerName</d3p1:Name><d3p1:SerializedValue i:nil="true"/><d3p1:TypeName i:nil="true"/><d3p1:Value z:Id="6" z:Type="System.String" z:Assembly="0">PC999999</d3p1:Value></d3p1:WorkflowArgument></BeforeData></ComplianceRuleObjectActionContext></ArrayOfComplianceRuleObjectActionContext>' (Matrix42.ServiceRepository.Contracts.DataContracts.ComplianceRuleObjectActionContext[])
Hauptsystem: Version: 10.0.1.3001
Testsystem: Version: 10.0.1.3001

dodic
Beiträge: 378
Registriert: 03. Feb 2012, 10:51
Wohnort: Salzgitter
Kontaktdaten:

Re: Konformitätsregeln - Parameter an Workflow übergeben

Beitrag von dodic » 17. Aug 2016, 07:26

Keiner der hier noch eine Idee hat? :idea:
Hauptsystem: Version: 10.0.1.3001
Testsystem: Version: 10.0.1.3001

Antworten

Zurück zu „Customizing und Reporting“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste