DEXPRO Invoice: Archivierung für unterschiedliche Mandanten
/* ================================================================================== */
/** Archiving is always custom designed!
* This function is called for all technical archiving actions ("Archiving", "ArchivingDirect", ...)
* and for user defined action "Disqualify". You should call this function with archiving rights.
* Use "context.changeScriptuser()" to change script user context and do not forget to switch back context before "return" statement!
* @param {string} type Archiving type you can use to address different archives ("Job" / "Direct" / "Disqualify").
* @param {DocFile} docFile DocFile object.
* @returns {boolean} true (archived) / false (error).
**/
function ue_Archiving(type, docFile){
/* Switch user context */
var currentUser = context.currentUser;
context.changeScriptUser("job");
var template = docFile.getAttribute("FromTemplate");
switch(template){
case "Mailroom":
case "Invoice":
if (docFile.Principal === "00 FWH Konzern") {
var view = "Unit=Default/Instance=Default/View=00_FWH_Konzern";
} else if (docFile.Principal === "01 Frank Wagner Holding") {
var view = "Unit=Default/Instance=Default/View=01_Frank_Wagner_Holding";
} else if (docFile.Principal === "02 Kronen-Service") {
var view = "Unit=Default/Instance=Default/View=02_Kronen_Service";
} else if (docFile.Principal === "03 Haus Alstertal") {
var view = "Unit=Default/Instance=Default/View=03_Haus_Alstertal";
} else if (docFile.Principal === "04 Stadtdomizil") {
var view = "Unit=Default/Instance=Default/View=04_Stadtdomizil";
} else if (docFile.Principal === "05 Alsterdomizil") {
var view = "Unit=Default/Instance=Default/View=05_Alsterdomizil";
} else if (docFile.Principal === "06 Haus Birkengrund Alte GmbH") {
var view = "Unit=Default/Instance=Default/View=06_Haus_Birkengrund_Alte_GmbH";
} else if (docFile.Principal === "07 Parkdomizil") {
var view = "Unit=Default/Instance=Default/View=07_Parkdomizil";
} else if (docFile.Principal === "08 Haus Fröhlich") {
var view = "Unit=Default/Instance=Default/View=08_Haus_Fröhlich";
} else if (docFile.Principal === "09 Haus Volksdorf") {
var view = "Unit=Default/Instance=Default/View=09_Haus_Volksdorf";
} else if (docFile.Principal === "10 Haus Birkengrund") {
var view = "Unit=Default/Instance=Default/View=10_Haus_Birkengrund";
} else if (docFile.Principal === "11 Rosendomizil") {
var view = "Unit=Default/Instance=Default/View=11_Rosendomizil";
} else if (docFile.Principal === "12 Fahrenkroen") {
var view = "Unit=Default/Instance=Default/View=12_Fahrenkroen";
} else if (docFile.Principal === "13 pflege-in.hamburg") {
var view = "Unit=Default/Instance=Default/View=13_pflege_in_hamburg";
} else if (docFile.Principal === "B1 Stresemannstr 63 GmbH&Co.KG") {
var view = "Unit=Default/Instance=Default/View=B1_Stresemannstr_63_GmbH_Co_KG";
} else if (docFile.Principal === "B2 Stresemannstr 63 Verw.GmbH") {
var view = "Unit=Default/Instance=Default/View=B2_Stresemannstr_63_Verw_GmbH";
} else if (docFile.Principal === "B3 Fahrenkrön Imm GmbH & Co.KG") {
var view = "Unit=Default/Instance=Default/View=B3_Fahrenkrön_Imm_GmbH___Co_KG";
} else if (docFile.Principal === "B4 Fahrenkrön Verw. GmbH") {
var view = "Unit=Default/Instance=Default/View=B4_Fahrenkrön_Verw__GmbH";
} else if (docFile.Principal === "B5 Genos Wagner Ver GmbH&Co.KG") {
var view = "Unit=Default/Instance=Default/View=B5_Genos_Wagner_Ver_GmbH_Co_KG";
} else if (docFile.Principal === "B6 Genos Wagner Kompl GmbH") {
var view = "Unit=Default/Instance=Default/View=B6_Genos_Wagner_Kompl_GmbH";
} else {
docFile.insertStatusEntry("ErrArchiving", "Can't find Principal");
docFile.sync();
return false;
}
var schema = "Unit=Default/Instance=Default/DocumentSchema=Invoice";
var ad = new ArchivingDescription();
ad.targetView = view;
ad.targetSchema = schema;
ad.archiveServer = "EEx"; // since Documents 4.0 using multi archive server
ad.archiveMonitor = true;
ad.archiveStatus = true;
ad.addRegister("Documents");
if( docFile.archive(ad) ){
context.changeScriptUser(currentUser);
var archiveKey = docFile.getArchiveKey();
if( archiveKey==="" || archiveKey===false ){
docFile.insertStatusEntry("ErrArchiving", "Missing archive key");
docFile.sync();
return false;
}
return true;
}
else{
docFile.insertStatusEntry("ErrArchiving", docFile.getLastError());
docFile.sync();
}
break;
default:
docFile.insertStatusEntry("UndefinedFileTemplate", template);
docFile.sync();
break;
}
context.changeScriptUser(currentUser);
return false;
}