Update Yes/No field for all documents in a service

From SMTX Wiki
Jump to navigation Jump to search

Updaten van een yes / no veld bij een document, hiervoor kun je de webservice “Services: update document template part numeric value” gebruiken, yes = 1 en no = 0. Ik heb die webservice toegevoegd aan jullie test omgeving. Je kunt dit script gebruiken om alle documenten van een onderzoek die DOC_delete op yes hebben staan aan te passen naar no:

var serviceguid = "12345"; var externalprovidername = "the name"; var externalproviderkey = "the key";

var servicedetail = JSON.parse(ServiceCatalogInterface.getServiceDetail(serviceguid, {PartsAsFlatList: true, PartsUseValue: true, LoadRelations: false})); var toreturn = []; for (var d = 0; d < servicedetail.documents.length; d++) {

   var document = servicedetail.documents[d];
   var docdeleteparts = document.parts.filter(function (part) { return part.internalname === "DOC_delete"; }).map(function (part) { return part.value; });

   if (docdeleteparts.length > 0 && docdeleteparts[0] === true) {
       //DOC_delete staat op yes, het moet op no gezet worden
       CommonInterface.callWebservice('Services: update document template part numeric value', { ServiceGuid: serviceguid, DocumentGuid: document.guid, InternalName: "DOC_delete", ActorPerson: "", Numeric: 0, ProviderName: externalprovidername, SecurityCheck: externalproviderkey });
       toreturn.push(document.guid);
   }

} return toreturn.length > 0 ? "Nr of documents updated: " + toreturn.length : "";

Je moet enkel nog de serviceguid, externalprovidername en externalproviderkey aanpassen in het script.