FAQ
¿Tienes dudas? No te preocupes, aquí encontrarás las soluciones.
Búsqueda Completa en el Sitio

Generar fecha y hora de última modificación de un campo específico en un registro

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:

Paso 1: Abre el Editor de Workflow de Ragic

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.

Paso 2: Cambia a la página “Workflow Global”

Paso 3: Pega el siguiente código y guárdalo

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();

}

}

}

Paso 4: Selecciona Post-workflow de la hoja en la deseas agregar el script

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

Volver arriba

    Iniciar Ragic Gratis

    Registrarse con Google