DocFile prototype
Die DocFile Klasse wurde um einige spezifische Funktionen erweitert.
/** Fügt einen Kommentar zum Historienfeld "Comment" hinzu.
* Bei einer Split-Mappe wird der Kommentar auch zur Haupt-Mappe hinzugefügt.
* @param {string} comment Kommentar-Angabe
* @returns {string} Leerer String oder Fehlermeldung
**/
DocFile.addComment( comment )
/** Prüft ob für den Benutzer eine Wiedervorlage zur Mappe definiert wurde.
* @param {string} optUserLogin Optional kann ein Benutzer-Login mitgegeben werden. Andernfalls wird der aktuell sperrende Benutzer geprüft.
* @returns {boolean} true (Wiedervorlage ist definiert) / false
* @since 1.1.015
**/
DocFile.checkResubmission( optUserLogin )
/** Prüft ob der aktuelle Workflow-Schritt für den aktuellen Benutzer automatisch im Bearbeitungs-Modus startet.
* @param {SystemUser} systemUser SystemUser Objekt
* @returns {boolean} true (StartEditMode) / false
**/
DocFile.checkStartEditMode( systemUser )
/** Prüft alle Kopf-Pflichtfelder der Mappe, wenn der Parameter "CheckMandatoryHeadFieldsOnActionEnd" auf 'true' steht.
* Setzt context.errorMessage
* @returns {boolean} true (Pflichtfelder gesetzt) / false (Pflichtangaben fehlen)
**/
DocFile.checkMandatoryHeadFields()
/** Vergleicht einen Feldwert mit einem String-Wert.
* Diese Funktion wird zum Beispiel bei der Auswertung der Workflow-Regeln oder bei der Parameter-Ermittlung verwendet.
* @param {string} techFieldName Technischer Feldname
* @param {string} stringValue Vergleichs-Angabe
* @param {string} optCompareType Optionale Angabe eines Vergleichstyps. Als Default-Wert wird "=" verwendet.
* Erlaubte Typen sind: '=', '<', '<=', '>', '>=', '..', '|~', '!=', 'expr'
* @returns {string} true (Vergleichswert passt zum Feldwert) / false (Vergleichswert passt nicht zum Feldwert)
**/
DocFile.compareFieldValueWithString( techFieldName, stringValue, optCompareType )
/** Löscht alle Sub-Mappen zu einer Haupt-Mappe
* @returns {string} Leerer String oder Fehlermeldung
**/
DocFile.deleteSubFiles()
/** Liefert die ID eines ausgehenden Kontrollflusses zum Abschluss einer Aktion passend zur angegebenen Navigation.
* Bei einer Weiterleitung über eine benutzerdefinierte Aktion muss die anschließende Navigation
* über die Skript-Rückgabe gesteuert werden!
* @param {string} paramNavigation Navigation("keepfile", "next", "overview", "inbox", "folder").
* @returns {string} Leerer String oder Kontrollfluss ID
**/
DocFile.getActionEndControlFlowIdByNavigation( paramNavigation)
/** Ermittelt die in den Workflow-Aktionen konfigurierte Navigation nach Abschluss der Aktion.
* @returns {string} Leerer String oder Navigation("keepfile", "next", "overview", "inbox", "folder")
**/
DocFile.getActionEndNavigation()
/** Liefert die ID zu einem ausgehenden Workflow-Kontrollfluss-Namen.
* @param {string} paramCfName Kontrollfluss-Name
* @param {boolean} paramCfStartsWith Optionale Angabe, wenn der Kontrollfluss-Name nur mit dem 'paramCfName' beginnt.
* @returns {string} Leerer String oder Kontrollfluss ID
**/
DocFile.getControlFlowIdByName( paramCfName, paramCfStartsWith )
/** Wenn zu einem Beleg Split-Mappen erstellt werden, dann wartet die Haupt-Mappe auf die vollständige Abarbeitung
* aller Split-Mappen.
* Der Workflow-Verlauf der Split-Mappen ist nur im Monitor der einzelnen Split-Mappen nachzuvollziehen.
* Die Split-Mappen werden allerdings nach der Verarbeitung gelöscht.
* Über diese Funktion können Monitor-Einträge zur Hauptmappe hinzugefügt werden.
* @param {string} comment Optionale Angabe für den Kommentar beim Monitor-Eintrag.
* @returns {boolean} true / false
**/
DocFile.forwardMainFile( comment )
/** Wenn eine Mappe in einer technischen Aktion durch einen Job verarbeitet werden soll,
* dann kann der Job die Mappe mit dieser Funktion weiterleiten.
* Das Skript wechselt hierfür in den Kontext eines sperrenden Benutzers.
* @param {string} controlFlow OKontrollfluss-Name ('TechActionEnd' oder Default: 'TechActionEndManually').
* @param {string} comment Optionale Angabe für den Kommentar beim Monitor-Eintrag.
* @returns {boolean} true / false
**/
DocFile.forwardTechActionJob( controlFlow, comment )
/** Ermittelt die Anzahl der Nachkommastellen aus der Gentable-Feldkonfiguration für die Gentable-Spalte.
* @param {string} colName Technischer Gentable-Spalten-Name.
* @param {number} expValue Standardwert für die Anzahl der Nachkommastellen.
* @returns {number} Anzahl Dezimalstellen
* @since 1.1.015
**/
DocFile.getGentableColumnDecimal( colName, expValue )
/** Ermittelt das Wiedervorlagedatum für einen Benutzer.
* @param {string} userLogin SystemUser-Login
* @returns {string} Wiedervorlagedatum als String
* @since 1.1.015
**/
DocFile.getResubmissionDate( userLogin )
/** Gibt eine Liste aller sperrenden Benutzer und Gruppen im Workflow aus.
* Die Funktion iteriert über alle sperrenden Workflow-Schritte.
* @param {string} pListSeparator Trennzeichen zwischen den Angaben.
* @returns {string} true / false
**/
DocFile.listLockingUser( pListSeparator )
/** Setzt die Eigenschaft "ReadOnly" bei allen Feldern der Mappe auf 'true'.
* @returns {string} true (sync() erfolgreich) / false
**/
DocFile.setAllFieldsReadOnly()
/** Berechnet ein "DeadlineDate"-Datumsfeld anhand eines Ausgangs-Datums und den Angaben vom Parameter "DeadlineDate".
* Ebenfalls werden die Felder "DeadlineDays" und "DeadlineSign" gesetzt.
* @param {boolean} syncFile Über den Parameter kann optional direkt ein sync() ausgeführt werden.
* @param {string} optUseDateField Optional kann ein alternatives Datumsfeld verwendet werden (Default: 'WorkflowStart').
* @param {boolean} optSetEmptyDate Optional wird ein leeres Datumsfeld auf das aktuelle Tagesdatum gesetzt.
* @returns {boolean} true / false
**/
DocFile.setDeadlineDate( syncFile, optUseDateField, optSetEmptyDate )
/** Liest die Feldkonfiguration und die Alternativen und setzt die Feldeigenschaften.
* @returns {boolean} true / false
**/
DocFile.setFieldAttributesByConfig()
/** Wendet die unter "Feldkonfigurationen" -> "Suchfelder" eingestellte Konfiguration an.
* Die Funktion holt sich die Einträge aus definierten Positions-Spalten und schreibt die Angaben in ein Kopf-Feld.
* @returns {string} Leerstring oder Fehlermeldung
**/
DocFile.setGentableSearchFields()
/** Wechselt den ausführenden Benutzer an der aktuellen Workflow-Aktion.
* @param {string} optLogin Optionale Angabe eines gültigen Benutzer-Logins (Default: aktueller Benutzer).
* @returns {*} true / Fehlermeldung
**/
DocFile.takeOver( optLogin )
/** Entsperrt eine Mappe.
* @returns {string} true / false
**/
DocFile.unlockDocFile()
Zudem können Parameter-Angaben zum DocFile-Objekt ermittelt werden.
/** Ermittelt das Parameter-Objekt zum angegebenen Parameter.
* @param {string} paramName Technischer Parameter-Name.
* @param {string} optValue Optionale Angabe, ob direkt der 1., 2. oder 3. Wert zum Parameter zurückgegeben werden soll.
* @returns {*} Gibt entweder ein Parameter-Objekt zurück oder den spezifischen 1., 2. oder 3. Wert oder null bei Fehlern
**/
DocFile.getParamObject( paramName, optValue )
/* Beispiel */
var docFile = context.file;
var value1String = docFile.getParamObject("MeinParameter", 1);
/** Liefert einen spezifischen Wert zu einem Parameter-Objekt (siehe DocFile.getParamObject()).
* @param {string} paramObj Optionale Angabe eines gültigen Benutzer-Logins (Default: aktueller Benutzer).
* @param {string} valueNo Angabe, ob der 1., 2. oder 3. Parameter-Wert zurückgegeben werden soll.
* @param {*} standardValue Standardwert im passenden Datentypen.
* @param {string} optParamType Optionale Angabe für den Datentyp des Parameters (Standard: 'string').
* Die angaben werden in der Datenbank immer als String gespeichert, werden aber in den Datentypen gewandelt.
* Gültige Angaben: 'boolean'/'bool', 'percent'/'numeric'/'decimal', 'select'/'string'
* @returns {*} In passenden Datentypen umgewandelter Parameter-Wert / Standardwert
**/
DocFile.getParamValue( paramObj, valueNo, standardValue, optParamType)
/* Beispiel */
var docFile = context.file;
var paramObj = docFile.getParamObject("MeinParameter");
var value1Bool = docFile.getParamValue( paramObj, 1, true, "boolean" );
var value2String = docFile.getParamValue( paramObj, 2, "Test", "string" );
var value3Numeric = docFile.getParamValue( paramObj, 3, 1.5, "numeric" );
No Comments