Benutzer-Werkzeuge

Webseiten-Werkzeuge


primus:setchildrentostatus

SetChildrenToStatus

Bei SetChildrenToStatus handelt es sich um eine Methode, die mit Call aufgerufen werden kann. Damit können z.B. in einem Workflow die untergeordneten Elemente zu einem Dokument, wie Unterbaugruppen und Einzelteile, auf einen bestimmten Status gesetzt werden. Es wird dabei nicht nur der Wert des Datenfelds geändert, sondern die komplette Workflowdefinition für das Childrendokument durchlaufen. Es ist sinnvoll SetChildrenToStatus in den PreCalls einzutragen, damit die Childrendokumente vor dem Parentdokument verarbeitet werden.

Rückgabewert

Der Rückgabewert der Methode ist:

Wert Bedeutung
TRUE Alle verknüpfenden Dokumente haben den angegebenen Status
FALSE Mindestens eines der verknüpfenden Dokumente hat nicht den gesuchten Status

Aufrufparameter

Die Aufrufparameter werden mit dem Attribut parameter, durch | getrennt übergeben. Die Parameter sind in folgender Reihenfolge zu übergeben:

Parameter Funktion
1 <Dokument>Dokument zu dem die Children gesucht werden sollen (%FILEPATH%)
2 <Datenfeld>Names des Datenfelds in das der Status eingetragen werden soll (WorkflowStatus)
3 <Ausgeschlossene Status>Eine mit . getrennte und abgeschlossene Liste der Status die nicht berücksichtigt werden sollen
4 all Alle Referenzen
dmb Baugruppenfamilien
ref1 Nur die erste Indexreferenz
refwithname Nur die gleichnamige Referenz
5 <BEDINGUNG> Der optionale Parameter ist eine Condition für Komponenten

Beispiel

Im Beispiel wird innerhalb des Freigabeworkflows (003), die Children die nicht Status 002 oder 003 haben ebenfalls auf den Status 003 gesetzt.

<Call method="SetChildrenToStatus" parameter="%FILEPATH%|WorkflowStatus|.002.003.|all" condition="$(Condition.isSEDocument)" />
<-- Weitere Beispiele von CADAdapt --/>
<Call method="SetChildrenToStatus" parameter="%FILEPATH%|WorkflowStatus|.005.|all|'%FILEPATH:cn|peripherie%=='AND'%FILEPATH:cn¦\08 cad\produkt\%=='" condition="'%PATHID%==HBib'AND'$(Condition.isSEDocument)'OR'%PATHID%==HBib'AND'$(Condition.isSWDocument)' />
<Call method="SetChildrenToStatus" parameter="%FILEPATH%|WorkflowStatus|.003.004.005.006.|all|'%CHILD_FILEPATH:cn¦peripherie%=='" condition="'%PATHID%!=HBib'AND'$(Condition.isSEDocument)'OR'%PATHID%!=HBib'AND'$(Condition.isSWDocument)'" />
<Call method="SetChildrenToStatus" parameter="%FILEPATH%|WorkflowStatus|.001.004.005.|dmb" condition="$(Condition.isSWDocument)" />

Zusammenspiel mit SetParentToStatus

SetParentToStatus bezieht sich nur auf Zeichnungen (siehe Parameter .dft). Dadurch geben die Teile nur eigene Zeichnungen frei. Sollte in einer Zeichnung ein weiteres Teil abgeleitet sein, dann wir der durch SetChildrenToStatus freigegeben. Das führt aber nicht zu einer Rekursion. Falls in der Rekursion die gleiche Zeichnung wieder auftaucht, wird diese ignoriert und nicht ein zweites mal verarbeitet.

Siehe auch

primus/setchildrentostatus.txt · Zuletzt geändert: von mgras