Ereignis - Arbeitsmappe

Aus ArcFlow Wiki
Zur Navigation springen Zur Suche springen
Diese Seite enthält Bearbeitungen, die nicht zum Übersetzen freigegeben sind.
 Ereignis - Arbeitsmappe
Aufruf eines Skripts vor dem Anlegen, Ändern oder Löschen einer Arbeitsmappe
Variablen gAfEvtAction int Aktion, die durchgeführt werden soll (siehe unten)
gAfAbm* variable Feldpuffer der Arbeitsmappe
Resultat true Aktion wird durchgeführt
false Aktion wird abgebrochen
Siehe

Liste aller Ereignisse, Ereignis - Archiv, Ereignis - Anhangdatei

Ist in den Einstellungen ein Skript eingetragen, wird es immer vor einer Aktion mit einer Arbeitsmappe aufgerufen.

Das eingetragene Skript wird auch dann ausgeführt, wenn keine Benutzerinteraktion möglich ist (zum Beispiel, wenn eine Arbeitsmappe durch ein Skript vom ArcFlow Jobserver erstellt wird). Innerhalb des Skriptes dürfen daher keine Benutzerabfragen verwendet werden.

Die Aktion, die durchgeführt werden soll, wird in der globalen Variablen gAfEvtAction übergeben und kann mit folgenden Konstanten verglichen werden:

Konstante Wert Beschreibung
sAfEvtAbmCreate 1 Arbeitsmappe soll angelegt werden
sAfEvtAbmEdit 2 Arbeitsmappe soll geändert werden
sAfEvtAbmDelete 3 Arbeitsmappe soll gelöscht werden
sAfEvtAbmMove 4 Arbeitsmappe soll verschoben werden
sAfEvtAbmRetrieve 5 Arbeitsmappe soll aus dem Papierkorb wieder hergestellt werden

Bei dem Ereignis sAfEvtAbmCreate stehen in den Variablen gAFAbmId und gAFAbmName zwar die Id und der Name der Arbeitsmappe zur Verfügung, diese können sich aber beim Speichern noch ändern.

Die Informationen zu der Arbeitsmappe werden in folgenden Variablen übergeben:

gAFAbmId int Id der Arbeitsmappe
gAFAbmParentId int Id der Elternarbeitsmappe
gAFAbmName alpha(250) Name der Arbeitsmappe
gAFAbmDescr alpha(250) Beschreibung der Arbeitsmappe
gAFAbmCloseDate date Abschlussdatum der Arbeitsmappe
gAFAbmPartitioning int Unterteilung der Arbeitsmappe
gAFAbmType int Typ der Arbeitsmappe

Über den Rückgabewert des Skripts kann entschieden werden, ob die Aktion durchgeführt (true) oder nicht durchgeführt (false) werden soll.

Beispiel:

main() : logic;

local
{
}

{
  switch (gAfEvtAction)
  {
    case sAfEvtAbmCreate :
    {
      // create folder
      ...
    }
    case sAfEvtAbmEdit :
    {
      // edit folder
      ...
    }
    case sAfEvtAbmDelete :
    {
      // delete folder
      ...
    }
    case sAfEvtAbmMove :
    {
      // move folder to new parent
      ...
    }
    case sAfEvtAbmRetrieve :
    {
      // restore folder from bin
      ...
    }
    default :
    {
      // error: unknown action
      ...
    }
  }
  return(true);
}