Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core JavaScript-API


JavaScript-Bibliothek filingassistant/service

Diese Bibliothek bietet Funktionen zum Verwenden von anderen Funktionen im agorum core smart assistant.

Verwendung


Binden Sie die Bibliothek stets am Anfang eines Skripts ein:

let service = require('filingassistant/service');

// oder mit anderem SessionController
let service = require('filingassistant/service')(sca);

Funktionen


create

Legt eine Ordnerstruktur an, die im agorum core smart assistant konfigurator unter Anlage definiert ist.

service.create(name_intern, folder, parameter);


Parameter

Parameter Beschreibung Beispiel
name_intern Definiert den Namen der Definition aus dem agorum core smart assistant konfigurator.
folder Definiert den Ordner, ab dem die Anlage beginnen soll.
  • Ist in der Anlage innerhalb der Konfiguration ein Zielordner hinterlegt, hat dieser Vorrang.
  • Der Ordner wird als ID oder Objekt übergeben.
parameter Definiert die Metadaten, die für die Anlage notwendig sind.

Wenn die Anlage im agorum core smart assistant aufgerufen wird, wären es die Metadaten, die per Dialog vor der Anlage abgefragt werden.
{
  acmf_lieferantenName: 'Testlieferant',
  acmf_lieferantenNummer: '0',
  acmf_lieferantenStatus: 'Aktiv'
}


Beispiel

/* global folder, object, parameters */

let service = require('filingassistant/service');

service.create('Testakte', objects.find('/agorum/roi/Files/Akten'), {
  acmf_lieferantenName: 'Testlieferant',
  acmf_lieferantenNummer: '0',
  acmf_lieferantenStatus: 'Aktiv'
});


Rückgabewerte

Hinweis: Um einen Rückgabewert zu erhalten, müssen Sie zwingend ein Sprungziel in der smart assistant-Konfiguration setzen. Ansonsten erhalten Sie null zurück.

Sie erhalten ein Array mit folgendem Aufbau:

Wert Beschreibung
result[0] Definiert den Rückgabewert des JavaScript (zuvor).
  • Wenn Sie einen definierten Rückgabewert erwarten, tragen Sie diesen im JavaScript (zuvor) ein.
  • Wenn Sie keinen eintragen, kann dort etwas Beliebiges stehen.
result[1] Definiert den Rückgabewert des JavaScript (danach) an.
  • Wenn Sie einen definierten Rückgabewert erwarten, tragen Sie diesen im JavaScript (danach) ein.
  • Wenn Sie keinen eintragen, kann dort etwas Beliebiges stehen.
result[2...n] Definiert interne Informationen.

Verwenden Sie diese Werte nicht, da sich diese mit der Zeit ändern können.

Hinweis: Ist das JavaScript (zuvor) leer oder besteht nur aus Kommentaren und Whitespace, fehlt der zugehörige Array-Eintrag und result[0] entspricht dem Rückgabewert des JavaScript (danach), wie folgendes Beispiel zeigt.

let x = service.create('Partnerakte', partneraktenFolder, {
      acso_partnerName: 'Ticket GmbH',
      acso_partnerNumber: '4711',
      acso_partnerType: 'Kunde',
      acso_partnerStatus: 'aktiv',
      acso_partnerPartnerLevel: null, //'Gold',
      acso_partnerPartnerStage: null, //'Premium',
      acso_partnerPartnerDiscount: null, //'0',
      acso_partnerMaintenance: true,
      acso_partnerSLA: true,
      description: 'Kunde seit 1970',
      acso_belongsToPartner: null
    });
    //x[0] = Returnwert vom "JavaScript (zuvor)"
    //x[1] = Returnwert vom "JavaScript (danach)"
    pa = objects.find(x[1]);  // Hier wurde die ID des angelegten Ordners zurückgegeben

tryCreate

Legt eine Ordnerstruktur an, die im smart assistant konfigurator unter Anlage definiert ist.

service.tryCreate(name_intern, folder, parameter);

Die Funktion besitzt dieselbe Syntax und Parameter wie die Funktion create.


Rückgabewerte

siehe Funktion create


Beispiel

  let kundenAkte = service.tryCreate('Kundenakte', kunden, {
                acmf_kundenName: data.acmf_kundenName,
                acmf_kundenNummer: '0'
  });

info

Liefert für ein gegebenes Objekt unter anderem zurück, welche Aktionen / Anlagen laut Selektoren passen, und ist primär für die interne Verwendung vorgesehen.

Als Parameter wird die ID oder das Objekt erwartet, für das die Informationen abgerufen werden sollen.


Beispiel

service.info(object);

Sie können etwa für einen Ordner die Liste der Anlage-Konfigurationen abrufen. Diese können daraufhin ausgeführt werden, um im nächsten Schritt service.create() auf eine der Konfigurationen anzuwenden.

action

Ruft aus aguila heraus eine Aktion des agorum core smart assistants auf.

Folgende Einschränkung existieren:


Beispiel

let service = require('filingassistant/service');

service.action('ActionName', [ object1, object2 ]);


Parameter

Parameter Beschreibung
actionName Definiert den Namen der Action, die aufgerufen werden soll.

Es muss der interne Name verwendet werden.
objArray (optional) Definiert ein Array von Objekten oder IDs, die übergeben werden, mit denen die Aktion ausgeführt wird.
parent (optional) Definiert das Ordnerobjekt (oder dessen ID), das übergeben wird, in dem sich die Objekte befinden.


Beispiel in aguila

let service = require('filingassistant/service');

widget.down('action').on('clicked', () => {
  service.action('DocFormDemoVerifyErpCsvAnzeigen', [  ]);  
});

open

Ruft aus aguila heraus eine Öffnen-Aktion des agorum core smart assistants auf.

Es gelten die Einschränkungen der Funktion action.


Beispiel

service.open(object [ , parent ]);


Parameter

Parameter Beschreibung
object Definiert das Objekt (oder dessen ID), das geöffnet werden soll.
parent (optional) Definiert das Ordnerobjekt (oder dessen ID), das übergeben wird, in dem sich die Objekte befinden.

structure

Diese Funktion liefert für eine Anlagen-Definition die Strukturinformationen zurück und ist primär für die interne Verwendung vorgesehen.


Beispiel

service.structure('Testakte');


Ergebnis

{
  "targetFolder": null,
  "handler": {
    "class": "agorum.filingassistant.v2.handlers.CreateFolderStructureHandler"
  },
  "asAdmin": false,
  "name": "Testakte",
  "text": "Testakte",
  "placeholder": {},
  "iconCls": "create",
  "type": "create",
  "selectors": {},
  "fields": [],
  "structure": [
    {
      "nodeName": "Neuer Ordner",
      "data": {
        "metadata": [
          {
            "defaultValue": "",
            "displayName": "Area",
            "descriptionLong": "",
            "format": "",
            "description": "",
            "inheritance": "inherited",
            "readOnly": false,
            "optional": false,
            "type": "string",
            "multi": false,
            "queryType": "",
            "displayType": "default",
            "restricted": false,
            "placeholderType": "",
            "fixedValue": "Testakte",
            "name": "area",
            "verificationRegex": "",
            "verificationType": "none",
            "verificationFailText": "",
            "dataSource": ""
          },
          {
            "defaultValue": "",
            "displayName": "Identifier",
            "descriptionLong": "",
            "format": "",
            "description": "",
            "inheritance": "notInherited",
            "readOnly": false,
            "optional": false,
            "type": "string",
            "multi": false,
            "queryType": "",
            "displayType": "default",
            "restricted": false,
            "placeholderType": "",
            "fixedValue": "Testakte",
            "name": "identifier",
            "verificationRegex": "",
            "verificationType": "none",
            "verificationFailText": "",
            "dataSource": ""
          }
        ],
        "name": "Neuer Ordner"
      },
      "children": [],
      "type": "folder"
    }
  ]
}

baseFolder

Liest die Einsprungspunkte der aktiven Konfiguration aus.


Rückgabewerte

Sie erhalten die Einsprungspunkte als Struktur.


Beispiel

let service = require('filingassistant/service');
service.baseFolder();


Ergebnis

[ 
  {
    "displayName" : "Dateien", // Übersetzter Name des Ordners (Mit der Sprache der aktiven Session)
    "name" : "Files", // Name des Ordners
    "id" : "1004446" // ID des Ordners
  }, {
    "displayName" : "Eigene Dateien",
    "name" : "MyFiles",
    "id" : "1002330"
  }, {
    "displayName" : "E-Mail",
    "name" : "Mail",
    "id" : "1002336"
  } 
]

baseFolderFromObject

Liefert die erstbeste baseFolder-Konfiguration für das angegebene Objekt.


Beispiel

let service = require('filingassistant/service');
service.baseFolderFromObject(objects.find('/agorum/roi/Files/Demo');

Ergebnis
{
  "displayName" : "Dateien",
  "name" : "Files",
  "id" : "1004446"
}

baseFolderFromDisplayName

Liefert die erstbeste baseFolder-Konfiguration für den angegebenen Übersetzungsnamen zurück.


Beispiel

let service = require('filingassistant/service');
service.baseFolderFromObject('Dateien');


Ergebnis

{
  "displayName" : "Dateien",
  "name" : "Files",
  "id" : "1004446"
}

baseFolderFromName

Liefert die erstbeste baseFolder-Konfiguration für den angegebenen Namen zurück.


Beispiel

let service = require('filingassistant/service');
service.baseFolderFromObject('Files');


Ergebnis

{
  "displayName" : "Dateien",
  "name" : "Files",
  "id" : "1004446"
}

baseFolderFromId

Liefert die erstbeste baseFolder-Konfiguration für die angegebene ID zurück.


Beispiel

let service = require('filingassistant/service');
service.baseFolderFromObject('1004446');


Ergebnis

{
  "displayName" : "Dateien",
  "name" : "Files",
  "id" : "1004446"
}

url

Ruft direkt eine URL auf.


Beispiel

Das folgende Beispiel zeigt, wie Sie ein agorum-Objekt aufrufen, ohne über die Standardaktion _download gehen zu müssen.

let url = 'https://agorumdocproxy.agorum.com/api/rest/object/download/' + object;
service.url(url);

list

Liefert die Listen-Konfiguration zu einem Ordner oder Namen zurück.

Wenn Sie ein Ordner Objekt angeben, wird die Liste verwendet, die auch bei Ansicht des Ordners geladen wird.


Beispiele

// Liste anhand des Namens
service.list('StandardSuche');
// Liste anhand eines Ordners
service.list(objects.find('/agorum/roi/Files'));


Ergebnis

{
  "columns": [ // Alle definierten Felder mit weiteren Details
    {
      "defaultValue": "",
      "displayName": "Name",
      "descriptionLong": "",
      "format": "",
      "description": "",
      "inheritance": "builtIn",
      "readOnly": false,
      "optional": false,
      "type": "string",
      "mappedName": "name",
      "multi": false,
      "queryType": "keyValueAuto",
      "displayType": "default",
      "restricted": false,
      "placeholderType": "",
      "name": "name",
      "fixedValue": "",
      "verificationRegex": "",
      "verificationType": "none",
      "verificationFailText": "",
      "dataSource": null
    },
    {
      "defaultValue": "",
      "displayName": "Beschreibung",
      "descriptionLong": "",
      "format": "",
      "description": "",
      "inheritance": "builtIn",
      "readOnly": false,
      "optional": false,
      "type": "string",
      "mappedName": "description",
      "multi": false,
      "queryType": "keyValueAuto",
      "displayType": "textArea",
      "restricted": false,
      "placeholderType": "",
      "name": "description",
      "fixedValue": "",
      "verificationRegex": "",
      "verificationType": "none",
      "verificationFailText": "",
      "dataSource": null
    },
    {
      "defaultValue": "",
      "displayName": "Letzte Änderung",
      "descriptionLong": "",
      "format": "d.m.Y H:i:s",
      "description": "",
      "inheritance": "builtIn",
      "readOnly": true,
      "optional": false,
      "type": "date",
      "mappedName": "lastmodifydate",
      "multi": false,
      "queryType": "keyValueAuto",
      "displayType": "default",
      "restricted": false,
      "placeholderType": "",
      "name": "lastmodifydate",
      "fixedValue": "",
      "verificationRegex": "",
      "verificationType": "none",
      "verificationFailText": "",
      "dataSource": null
    },
    {
      "defaultValue": "",
      "displayName": "Erstelldatum",
      "descriptionLong": "",
      "format": "d.m.Y H:i:s",
      "description": "",
      "inheritance": "builtIn",
      "readOnly": true,
      "optional": false,
      "type": "date",
      "mappedName": "createdate",
      "multi": false,
      "queryType": "keyValueAuto",
      "displayType": "default",
      "restricted": false,
      "placeholderType": "",
      "name": "createdate",
      "fixedValue": "",
      "verificationRegex": "",
      "verificationType": "none",
      "verificationFailText": "",
      "dataSource": null
    },
    {
      "defaultValue": "",
      "displayName": "Dokumenttyp",
      "descriptionLong": "",
      "format": "",
      "description": "",
      "inheritance": "notInherited",
      "readOnly": true,
      "optional": false,
      "type": "string",
      "mappedName": "~ac_standardDokumentTyp:string",
      "multi": false,
      "queryType": "keyValueAuto",
      "displayType": "dataSource",
      "restricted": true,
      "placeholderType": "",
      "name": "ac_standardDokumentTyp",
      "fixedValue": "",
      "verificationRegex": "",
      "verificationType": "none",
      "verificationFailText": "",
      "dataSource": "MAIN_MODULE_MANAGEMENT/customers/Standard/Data/ac_standardDokumentTyp"
    }
  ],
  "name": "StandardSuche", // Der Name der Konfiguration
  "selectors": {} // Selektoren ausgeben, falls vorhanden
}