En Ragic, puedes configurar valores predeterminados para autorellenar un campo de fecha con la última fecha y hora de modificación. Sin embargo, si necesitas autorellenar estos campos, deberás agregar un script para lograrlo.
Por favor sigue esta guía para agregar tu script:
Haz clic derecho en cualquiera de las pestañas y selecciona Workflow Javascript o Workflow Javascript Global, el cual te llevará al módulo de workflow.
Campos independientes :
function setLastModifiedOnField(pathSheet, observeField, recordField) { if (param.getOldValue(observeField) !== param.getNewValue(observeField) || param.isCreateNew()) { var today = new Date(new Date().getTime() + account.getTimeZoneOffset()); function pad2(n) { return n < 10 ? '0' + n : n } var fmtValue = today.getFullYear() + "/" + pad2(today.getMonth() + 1) + "/" + pad2(today.getDate()) + " " + pad2(today.getHours()) + ":" + pad2(today.getMinutes()) + ":" + pad2(today.getSeconds()); var query = db.getAPIQuery(pathSheet); query.addFetchDomains(recordField); var entry = query.getAPIEntry(response.getRootNodeId()); entry.setFieldValue(recordField, fmtValue); entry.save(); } }
Campos de subtabla :
function setLastModifiedOnSubtableField(pathSheet,observeSubtableKeyField, observeSubtableField, recordField) { var list = param.getSubtableEntry(observeSubtableKeyField); var entry = param.getUpdatedEntry(); var today = new Date(new Date().getTime() + account.getTimeZoneOffset()); function pad2(n) { return n < 10 ? '0' + n : n } var fmtValue = today.getFullYear() + "/" + pad2(today.getMonth() + 1) + "/" + pad2(today.getDate()) + " " + pad2(today.getHours()) + ":" + pad2(today.getMinutes()) + ":" + pad2(today.getSeconds()); for (var i = 0; i < list.length; i++) { if(list[i].getOldValue(observeSubtableField) != list[i].getNewValue(observeSubtableField) && (list[i].getOldValue(observeSubtableField) !== null || list[i].getNewValue(observeSubtableField) !== "" )){ var subRootNodeId = list[i].getSubRootNodeId(); entry.setSubtableFieldValue(recordField, subRootNodeId, fmtValue); entry.save(); } } }
Si tu URL de hoja es https://www.ragic.com/accountname/tabname/1
Y el campo cuya fecha y hora de modificación deseas generar es “Estado Activo” (ID de campo 1003114), y el campo donde deseas registrar la fecha y hora de modificación es “Última edición” es (ID de campo 1003115).
Agrega esto al Post-workflow:
Campos independientes :
setLastModifiedOnField("/tabname/1", 1003114, 1003115);
Para saber más sobre cómo buscar un ID de campo has clic aquí.
*Por favor nótese que al crear un nuevo registro, la fecha y hora de la última notificación será autogenerada después de guardar incluso si el campo específico no está rellenado. Si deseas conservar la fecha y hora de la última notificación, hora vacía en este caso, puedes reemplazar con el siguiente código en tu Post-workflow:
if(param.getOldValue(1003114) !== null || param.getNewValue(1003114) !== "" ){ setLastModifiedOnField("/tabname/1", 1003114, 1003115); }
Campos de subtabla :
setLastModifiedOnSubtableField("/tabname/1", subtablekeyField, 1003114, 1003115);
Puedes encontrar el campo clave de subtabla en el Diccionario de Datos
No olvides guardar tus cambios.
(El valor de hora y fecha generado está basado en la zona horaria configurada en el Perfil de la empresa.)