dinsdag 24 december 2019

Advancing insight (Adding data from spreadsheet to custom fields in Google Contacts with GAS)

Advancing insight [voortschrijdend inzicht] made me change the script described in Adding data from spreadsheet to custom fields in Google Contacts with GAS.

More efficient.


function zaaknamenNaarContacten(){

  var ss = SpreadsheetApp.openById(ID_SS);
  var sheet = ss.getSheetByName("XXXX");
  var range = sheet.getRange(1,1,sheet.getMaxRows(),sheet.getMaxColumns());
  var data = range.getValues();
  var veldnamen = data[0];
  
  var contacten = ContactsApp.getContactGroup("Clienten").getContacts();
  
  for(var c=0;c<contacten.length;c++){
  
    var contact = contacten[c];
    var alfa = contact.getNickname();
    var zaaknamen = contact.getCustomFields("Zaaknaam").map(function(zaaknaam){return zaaknaam.getValue()});
    
    if(alfa !== ""){
    
     hlpZaaknamenNaarContacten(data,veldnamen,contact,alfa,zaaknamen);
    
    }
  }
}


function hlpZaaknamenNaarContacten(data,veldnamen,contact,alfa,zaaknamen){
  
  for(var d=0;d<data.length;d++){
  
  var row = data[d];
  var zaaknaam = row[veldnamen.indexOf("zaaknaam")];
  var contactidcl = row[veldnamen.indexOf("contactidcl")];
  var alfacl = row[veldnamen.indexOf("zaakalfacl")];
          
  if(contactidcl !== "" && alfacl == alfa && zaaknamen !== undefined && zaaknamen.indexOf(zaaknaam) == -1){  
    contact.addCustomField("Zaaknaam",zaaknaam);  
  }
  else if(contactidcl !== "" && alfacl == alfa && zaaknamen == undefined){  
    contact.addCustomField("Zaaknaam",zaaknaam);  
  }   
 }
}


Geen opmerkingen:

Een reactie posten