Verzweigung nach Metadaten: Unterschied zwischen den Versionen

Aus Helper
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 9: Zeile 9:
:- wenn Bedingung nicht erfüllt ist – DO geht zu HZ_HZ_SEQ2
:- wenn Bedingung nicht erfüllt ist – DO geht zu HZ_HZ_SEQ2


===Version 0===
===HZ Version ist=1===
Die Bedingung kommt in das Feld Bezeichnung und ist in Omnis Code zu schreiben. Einige Beispiele hier:
'''Metadatenfelder dürfen keine Anführungszeichen haben!'''
:- len('[Belegnummer]')> 5
 
:- not(isclear(len('[MurdockCode]')))
Bsp.:
===Version 1===
Die Bedingung kommt in das Feld HZ_FORMEL und HZ_VERSION muss 1.00 sein
:- len([Sprache])<1
:- len([Sprache])<1
<br>
<br>
Es ist zudem Möglich die Funktion '''§OCRMatchCount('<Regex>',pEbene,pSpezialhändling)''' aufzurufen. Diese Methode gibt die Anzahl Vorkommnisse in allen Files des Objektes zurück. Der Parameter der Funktion ist ein Regex oder auch ein einfacher Text. Es können natürlich Attribute in Eckigen Klammern verwendet werden oder [[Omnisgrundlagen|Omnis Befehle]] um eine Formel zu kreieren.
Es ist zudem Möglich die Funktion '''§OCRMatchCount('<Regex>',pEbene,pSpezialhändling)''' aufzurufen. Diese Methode gibt die Anzahl Vorkommnisse in allen Files des Objektes zurück. Der Parameter der Funktion ist ein Regex oder auch ein einfacher Text. Es können natürlich Attribute in Eckigen Klammern verwendet werden oder [[Omnisgrundlagen|Omnis Befehle]] um eine Formel zu kreieren.
Zeile 22: Zeile 21:
<br>
<br>


==Zusätzlich unterstütze DO Felder==


==Funktionen==
In der Formel können zudem die folgenden Felder von DO Objekten verwendet werden:
 
'''Beachte:''' Die Metadatumsfelder sind hier unbedingt als String ('Metadatum') zu übergeben und nicht wie andersweitig in eckigen Klammern.


===§istMin und §istMax===
DO_SIGNATUR = [DOSignatur]
DO_SEQ = [DOSEQ]
DO_FEHLER = [DOFehler]


Vergleicht von DO Objekten die Attributswerte des angegebenen Attributs miteinander, und ermittelt ob das DO den grössten oder den kleinsten Wert der verglichenen Objekte besitzt. Alle DO Typen, welchen den gleichen Attributsnamen besitzen, werden für den Vergleich herbeigezogen.<br>
==Funktionen==
Die Hierarchiestufe der Objekte kann, ausgehend vom Objekt eingeschränkt werden.<br>
[https://helper.ch/wiki/index.php?title=Verfügbare_Funktionen Siehe: Verfügbare Funktionen]
 
Pflicht: Metadatumsname, Hierarchieebene<br>
Optional: Metadatumsname2 (Ohne Metadatumsname2 werden allein die gefundenen Metadaten aus Metadatumsname verglichen, mit werden nur diejenigen Objekte welche den gleichen Wert in Metadatumsname2 haben verglichen).<br>
 
§istMax(Metadatumsname,Hierachieebene,Metadatumsname2)
§istMax(Metadatumsname,../-2/-1/0/1/2/..,Metadatumsname2)
§istMin(Metadatumsname,../-2/-1/0/1/2/..,Metadatumsname2)
Bsp.:
'''§istMax('AnzahlDok',1,'Büronummer')''' Gibt 1 zurück, wenn das Objekt den grössten Wert im Attribut 'AnzahlDok' hat, innerhalb der eigenen Tranche und der gleichen Büronummer.
 
'''Parameter'''
 
Metadatumsname: Der Name des Metadatums
Hierachieebene: (Einschränkung)
* 0 = Alle DO des Auftrages (=keine Einschränkung)
* 1 = Alle DO mit dem selben Vorfahren auf Ebene 1 (typischerweise alle Objekte einer Tranche, inklusive der Tranche)
* 2 = Alle DO mit dem selben Vorfahren auf Ebene 2
* 3 = Alle DO mit dem selben Vorfahren auf Ebene 3
* etc.
* -1 = Alle auf der gleichen Ebene wie das DO Objekt, inklusive des Vorfahren
* -2 = Alle 2 Ebenen höher als das DO Objekt
Metadatumsname2: Schränkt die betrachteten Dos ein. Es werden nur die DO angesehen, die den gleichen Wert im Attribut '''Metadatumsname2''' haben.
 
===§sortierung===
 
Gibt die Sortierreihenfolge des Objektes zurück. Analog zu verwenden wie $min/$max.
 
§sortierung(Metadatumsname,../-2/-1/0/1/2/.., Metadatumsname2,0/1)
 
Bsp:
§sortierung('Büronummer',-1,'Metadatumsname2',0)
 
'''Parameter'''
 
Metadatumsname: Der Name des Metadatums
Hierachieebene:
* 0 = Alle DO des Auftrages
* 1 = Alle aus der gleichen gesammthierarchie, bzw. mit den gleichen Vorfahren (z.B. alle Objekte einer Tranche, inklusive der Tranche)
* 2 = Alle mit und unter Ebene 2
* 3 = Alle mit und unter Ebene 3
* etc.
* -1 = Alle auf der gleichen Ebene wie das DO Objekt, inklusive des Vorfahren
* -2 = Alle 2 Ebenen höher als das DO Objekt
Formel: Beliebige Omnis Formel, z.B. für einen Vergleich weiterer Attribute oder nur von Teilen des Attributs.
 
Sortierreihenfolge: 0 = Aufwärts, 1 = Abwärts
 
===§istEindeutig===
 
Prüft ob für ein DO Objekt ein bestimmtes Metadatum im Vergleich zu weiteren DOs eindeutig ist. Vergleiche sind mit DOs auf wählbarer Hierarchieebene sowie mit gleichem oder abweichendem DO Typ möglich.
 
§istEindeutig(Metadatumsname, 0/1/2, 0/1/2[,DO Typen])
§istEindeutig(Metadatumsname, Hierarchieebene, Typ-Einschränkung[,'Typ1,Typ2,..'])
 
'''Parameter'''
Metadatumsname: Der Name des Metadatums
Bereich: 0 = Ganzer Auftrag, alle DO dieses Auftrages, 1 =  Alle DO auf Ebene 1, 2 = Alle DO auf Ebene 2
Typ-Einschränkung: 0 = Alle Typen mit dem gleichen Metadatumsname, 1 = Gleicher Typ wie das Vergleichsobjekt, 2 = Alle im zwingend folgenden Parameter angegebenen Typen
 
'''Anwendung'''
§istEindeutig('Verlag',0,0) Alle DO des Auftrages, welche bei einem beliebiegen DO Typ und dem Attribut 'Verlag' das selbe Metadatum besitzen
§istEindeutig('Verlag',1,1) Alle DO auf Ebene 1, welche zum gleichen Typ und dem Attribut 'Verlag' das selbe Metadatum besitzen
§istEindeutig('Verlag',2,0) Alle DO auf Ebene 2, welche bei einem beliebiegen Typ und dem Attribut 'Verlag' das selbe Metadatum besitzen
§istEindeutig('Verlag',2,1) Alle DO auf Ebene 2, welche zum gleichen Typ und dem Attribut 'Verlag' das selbe Metadatum besitzen
§istEindeutig('Verlag',2,2,'Buch, Magazin, Zeitung') Alle DO auf Ebene 2, welche zu den angegebenen Typen 'Buch, Magazin, Zeitung' und dem Attribut 'Verlag' das selbe Metadatum besitzen
 
Fehleingabe vermeiden:
§istEindeutig('Verlag',2,2) Es wird eine Typeinschränkung (Parameter drei = 2) verlangt, ohne nachfolgende die gesuchten Typen zu nennen.
 
==Weitere Beispiele==
§OCRMatchCount('Bericht')>0 ==> Falls das Wort Bericht mindestens 1 Mal gefunden wurde ist der Ausdruck wahr<br>
§OCRMatchCount('[0-9][0-9][.]')=0 ==> Falls KEINE 2 stellige Zahl mit einem Punkt gefunden wird ist der Ausdruck wahr<br>
§OCRMatchCount('[BelegName]')>2 ==> Falls der Wert des Attributes BelegName mehr als 2 mal gefunden wird ist der Ausdruck wahr<br>
§OCRMatchCount('[BelegName]',1)>0 ==> Falls der Wert des Attributes BelegName mindestens einmal im OCR der Kindern gefunden wurde.<br>


==Essentielle Felder==
==Essentielle Felder==

Aktuelle Version vom 13. August 2024, 17:44 Uhr

Mantiseinträge
 2045
Systemtyp
 22

Beschreibung

Besteht aus einem Serverjob OJOHZDOMetadatenVerzweigung. Trennt die Objekte anhand ihrer Metadaten.

- wenn Bedingung erfüllt ist – DO geht zu HZ_HZ_SEQ1
- wenn Bedingung nicht erfüllt ist – DO geht zu HZ_HZ_SEQ2

HZ Version ist=1

Metadatenfelder dürfen keine Anführungszeichen haben!

Bsp.:

- len([Sprache])<1


Es ist zudem Möglich die Funktion §OCRMatchCount('<Regex>',pEbene,pSpezialhändling) aufzurufen. Diese Methode gibt die Anzahl Vorkommnisse in allen Files des Objektes zurück. Der Parameter der Funktion ist ein Regex oder auch ein einfacher Text. Es können natürlich Attribute in Eckigen Klammern verwendet werden oder Omnis Befehle um eine Formel zu kreieren.

  • pEbene=0 macht eine Suche im OCR des Objektes, pEbene=1 sucht im OCR der Kinder
  • pSpezialhändling=1 ist eine selten verwendete Spezialfunktion (Grossbuchstaben, Umlaute zu AE,OU,UE, zweites Wort alleine suchen)


Zusätzlich unterstütze DO Felder

In der Formel können zudem die folgenden Felder von DO Objekten verwendet werden:

DO_SIGNATUR = [DOSignatur]
DO_SEQ = [DOSEQ]
DO_FEHLER = [DOFehler]

Funktionen

Siehe: Verfügbare Funktionen

Essentielle Felder

 HZ_TESTERGEBNIS Name des Metadatenfeldes in dem das Ergebnis gespeichert wird (0/1). Erlaubt sind auch Attribute des Vater usw. (^). Ohne Eckige Klammern.
 HZ_FORMEL Formel welche Ja (1) oder Nein (0) als Entscheidung zurück gibt.

Pane im Produktionsauftrag