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