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.)