Tengo una hoja que se actualiza a través de ImportRange. Hay una columna en esa hoja que representa el desempeño del cliente. Puede tener un rendimiento inferior o inferior según un conjunto de datos que existe en nuestro CRM.
| Nombre del cliente | Estado de rendimiento |
|---|---|
| Cliente1 | ejecutando |
| Cliente2 | bajo rendimiento |
Estos estados cambian a lo largo de la semana. Estoy tratando de ejecutar un script que registra todos estos cambios por cliente e, idealmente, me notifica cuando el estado cambia a bajo rendimiento.
Esto es lo que tengo hasta ahora:
function performance(e) { Logger.log (e.changeType); // if (e.changeType =="OTHER") return; let props = PropertiesService.getScriptProperties().getProperties(); const sh = SpreadsheetApp.getActive(); const ss = sh.getSheetByName("sheetname"); for (let p in props) { let r = ss.getRange(p); let val = r.getValue(); // if(val != props[p]){ // r.offset(1,0).setValue(props[p]); Logger.log(PropertiesService.getScriptProperties().setProperty("data",ss.getRange("A7:N").getValues())); // } }En cuanto a set_properties, devuelve este formato . No estoy seguro de cómo acceder a esos valores y cómo compararlos con los valores anteriores.
function set_properties(){ const sh = SpreadsheetApp.getActive(); const ss = sh.getSheetByName("sheetname"); var range = ss.getRange("A7:N"); var values = range.getValues(); // This logs the spreadsheet in CSV format with a trailing comma for (var i = 0; i < values.length; i++) { var row = ""; for (var j = 0; j < values[i].length; j++) { if (values[i][j]) { row = row + values[i][j]; } row = row + ","; } Logger.log(row); } PropertiesService.getScriptProperties().setProperty('data',row); }