Para recalcular todas las fórmulas o la fórmula asignada a un campo en todos los registros sin acceder al Modo Diseño, puedes agregar un botón de acción para ejecutar la recalculación de fórmula para todos los registros al agregar un script simple:
Por favor sigue esta guía para agregar tu script:
Paso 1: Abre el editor de workflow de Ragic.
Haz clic derecho en el nombre de la hoja y selecciona Workflow Javascript, el cual te llevará al módulo workflow.
Paso 2: Cambia la página a “Scope instalado en hoja”.
Paso 3: Modifica y agrega el siguiente código en tu scope instalado en hoja y guarda tus cambios.
Recuerda cambiar '/sales/3' en el código ejemplo a continuación con la ruta de tu propia hoja.
Ejemplo: si el URL de tu hoja es 'www.ragic.com/sample/sales/3', el código se escribiría así:
function recalc(){
var pageSize = 1000; //read 1000 entries at a time
var qMain = db.getAPIQuery('/sales/3');
qMain.setUpdateMode();
var mainAr = null, mainOffset = 0;
while(mainAr==null || mainAr.hasMore()){
qMain.resetData();
qMain.setLimitSize(pageSize);
qMain.setLimitFrom(mainOffset);
mainAr = qMain.getAPIResults();
var iterator = mainAr.iterator();
while(iterator.hasNext()){
var entry = iterator.next();
entry.recalculateAllFormulas();
entry.save();
}
mainOffset += mainAr.getData().size();
}
}
Si deseas sólo hacer la recalculación para un campo individual, supongamos el campo con ID 1000001. Puedes usar este script:
function recalc(){
var pageSize = 1000; //read 1000 entries at a time
var qMain = db.getAPIQuery('/sales/3');
qMain.setUpdateMode();
var mainAr = null, mainOffset = 0;
while(mainAr==null || mainAr.hasMore()){
qMain.resetData();
qMain.setLimitSize(pageSize);
qMain.setLimitFrom(mainOffset);
mainAr = qMain.getAPIResults();
var iterator = mainAr.iterator();
while(iterator.hasNext()){
var entry = iterator.next();
entry.recalculateFormula(1000001);//recalculate formula for only field id 1000001
entry.save();
}
mainOffset += mainAr.getData().size();
}
}
Paso 4: Agregar el botón de acción a tu hoja.
Bajo el Modo Diseño de la página de formulario, navega a Formulario > Acciones. Agrega una nueva acción como la siguiente:
Nombre del botón de acción: nombre del botón de acción.
Tipo de Acción: JS workflow
Acción: recalc({id});
Recuerda hacer clic en “Agregar Acción” y guardar tus cambios en el diseño.