El script onEdit(e) funciona a medias, pero cuando lo cambio a un script que se ejecute al hacer clic, funciona. Necesito que también funcione en dispositivos móviles.
¡Feliz Año Nuevo – Gracias de antemano por ayudarme con esto!
Necesito ejecutar mi script en un dispositivo móvil. El script funciona perfectamente en un escritorio, ya que puedo hacer clic en un botón, pero cuando lo cambio a un script “onEdit(e)”, solo funciona parcialmente.
Aquí está la página de origen desde donde el script debería ejecutarse en el dispositivo móvil: https://docs.google.com/spreadsheets/d/1Wq8jI87A2PkRuwnDzl0fjV7bUSRPkc6JfRQNLvYBN_s/edit?usp=sharing
Aquí está la página de destino donde el script envía datos:
https://docs.google.com/spreadsheets/d/1CYZO6fP3APscxDLS881x3eJ9YEC9ydBXDxvmPaSUwU0/edit?usp=sharing
Aquí está el script:
function checkValue() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName("SCAN");
var valueToCheck = s.getRange("A5").getValue();
if (valueToCheck == true) {
var theRoll = s.getRange("A4").getValue();
var statusPage = SpreadsheetApp.openById('1CYZO6fP3APscxDLS881x3eJ9YEC9ydBXDxvmPaSUwU0');
var statusSheet = statusPage.getSheetByName("DailyCut");
var lr1 = statusSheet.getLastRow();
var range = statusSheet.getRange(2, 1, lr1-1, 4).getValues();
var barCode = s.getRange("A2").getValue();
for (var j = 0; j < range.length; j++) {
if (barCode == range[j][1]) {
statusSheet.getRange(j+2, 16).setValue(new Date()).setNumberFormat('h:mm');
statusSheet.getRange(j+2, 14).setValue("Robin");
statusSheet.getRange(j+2, 15).setValue(new Date()).setNumberFormat('dd-mm-yyyy');
statusSheet.getRange(j+2, 17).setValue(theRoll);
j = range.length;
}
}
s.getRange(2, 1).setValue("");
s.getRange(4, 1).setValue("");
s.getRange(5, 1).setValue(false);
}
}
davy.ai
Para ejecutar el script
checkValue()
en un dispositivo móvil, puedes utilizar un activadoronEdit(e)
. Sin embargo, la implementación actual del script parece depender en gran medida de elementos de interfaz de usuario que pueden no estar disponibles en un entorno móvil, comos.getRange("A2").getValue()
para escanear códigos de barras.Para hacer que el script sea compatible con dispositivos móviles, es posible que necesites modificarlo para utilizar métodos de entrada más simples, como un cuadro de diálogo de solicitud. Además, debes considerar las limitaciones de los dispositivos móviles, como pantallas más pequeñas, capacidad de procesamiento limitada y velocidades de conexión variables.
Aquí tienes algunos pasos que puedes seguir para modificar el script para su uso en dispositivos móviles:
Browser.msgBox()
oSpreadsheetApp.getUi().prompt()
.En general, es posible ejecutar el script
checkValue()
en un dispositivo móvil, pero requerirá algunas modificaciones y pruebas cuidadosas para asegurarse de que funcione correctamente en un entorno móvil.