import com.dvelop.d3.server.Condition
import com.dvelop.d3.server.Document
import com.dvelop.d3.server.DocumentType
import com.dvelop.d3.server.Entrypoint
import com.dvelop.d3.server.User
import com.dvelop.d3.server.core.D3
public class D3FolderTest{
   @Entrypoint( entrypoint = "hook_insert_exit_20" ) //------------------------
   @Condition( doctype = "DMIG" )
   public int testCreateFolder( D3 d3, Document doc, def fileDest, def importOK, User user, DocumentType docTypeShort ){
    // Step 1: Create Document-Object ---------------------
    // Für den Aufruf von "folder_create" wird ein Dokument-Objekt benötigt. Wenn keines als Parameter zur Verfügung steht,
    // so kann über die "Archive" Schnittstelle ein Dokument-Objekt für ein existierendes Dokument erzeugt werden.
       // Dieses wird als Vorlage benutzt und dessen Attribute werden wie gewünscht angepasst.
  
    def newDocObj = d3.archive.getDocument( "P000000001", "dvelop" ); // Das hier definierte Basis-Dokument legt den Typ fest!
      
    newDocObj.type = "APERS"; // Leider scheint die Änderung des Dokumenttyps nicht möglich, dieser Eintrag wird ignoriert.
    newDocObj.status = Document.DocStatus.DOC_STAT_RELEASE;
    newDocObj.editor = "dvelop";
    newDocObj.setText(1, "Bemerkungstext Zeile 1");
   
    newDocObj.field[1]  = "7896645";
    newDocObj.field[80] = 0;
    //newDocObj.field[60][1] = "Akte per folder_create - Attrib 60-1";
    // ...
   
    def error = d3.call.folder_create( newDocObj );
    if( error ){
     println "Fehler $error bei der Aktenanlage"
    }
    else {
     println "Aktenanlage erfolgreich"
    }
     
    return 0;
   } // end of testCreateFolder
} // end of D3FolderTest