Para recalcular todas las fórmulas o la fórmula asignada en un campo para un registro individual, en lugar de todos los registros, puedes agregar un botón de acción para ejecutar la recalculación de fórmula para el registro individual 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 pestaña y selecciona Workflow Javascript, el cual te llevará al módulo workflow.
Paso 2: Cambia la página de edición a “Scope instalado en hoja”.
Paso 3: Modifica y agrega el siguiente código a tu scope instalado en hoja y guarda tus cambios.
Recuerda cambiar '/sales/3' en el código ejemplo bajo tu propia ruta de hoja.
Ejemplo, si el url de tu hoja es 'www.ragic.com/sample/sales/3', el código sería escrito de la siguiente manera:
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 recalcular un campo individual, supongamos el campo con número de 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: Agrega un botón de acción a tu hoja.
En el Modo Diseño de la página de formulario, navega hacia el panel izquierdo Formulario Acciones. Agrega una nueva acción de 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.