KEPLIN Docs

Programar y enviar

Marcar la generación de un informe y el envío por correo — frecuencia, destinatarios, formato y parámetros — y qué hacer cuando la programación no basta.

Un informe diseñado es un informe que alguien tiene que ir a buscar. Las programaciones resuelven el caso más común sin escribir una línea de código: «el pipeline comercial va a la dirección todos los lunes a las 8h».

«Enviar este informe por correo, solo, a la hora marcada.» Es eso, y nada más — lo que necesite más se hace con un script, y esta página explica cuándo.

Seguimos en el informe Oportunidades por conta de la app Gestión de Clientes, con la programación Pipeline de segunda-feira.

Las programaciones de un informe

Las programaciones viven en el propio informe: abre el informe y mira al final de la columna izquierda, en la sección Programaciones. Cada fila es un envío marcado, con el resumen bajo el nombre — la hora, la zona horaria, el formato y para quién va.

La lista de programaciones del informe
La lista de programaciones del informe

Una programación apagada aparece marcada como desactivada. Los iconos a la derecha de cada fila editan y borran.

En un informe que aún no tiene ninguna, la lista muestra «Sin programaciones.» y solo queda crear la primera:

Un informe sin envíos marcados
Un informe sin envíos marcados

Crear una programación

  1. Abre el informe y haz clic en el + de la sección Programaciones (o en el botón Añadir programación, al final de la lista).
  2. Rellena la ficha.
  3. Haz clic en Guardar.

El editor de una programación
El editor de una programación

Cuándo

Campo Notas
Nombre Identifica la programación. Con él aparece en el historial.
Frecuencia Diaria, semanal o mensual.
A la hora La hora del envío.
Días (frecuencia diaria) Todos, Laborables o Fin de semana.
Día de la semana (frecuencia semanal) De Lun a Dom.
Día del mes (frecuencia mensual) De 1 a 31.
Zona horaria Por omisión, la del navegador de quien crea la programación. La hora se lee en esta zona horaria, y en ella se escriben las fechas con hora del informe.

Nota

En una frecuencia mensual, «en los meses sin ese día no corre» — el día 31 salta febrero, abril, junio, septiembre y noviembre. Para «el último día del mes», usa un script.

Qué

Campo Notas
Formato PDF o Excel.
Parámetros Un campo por cada parámetro que el informe declara. Con estos valores es con los que corre.
Activo Desactivado, la programación queda registrada pero no se dispara.

En el ejemplo, el parámetro Fase va relleno con Proposta y Cierre a partir de queda vacío — el mismo informe sirve a varias programaciones, cada una con su recorte.

Para quién

Hay tres formas de decir el destino, y pueden usarse las tres al mismo tiempo:

Campo Notas
Para «Direcciones de correo separadas por coma.» Para quien no tiene cuenta en la app.
Usuarios «Usuarios de la app. Va al correo de su registro; quien no tenga correo queda fuera.»
Roles «Todos los usuarios con este role. Elegir el role en vez de la dirección mantiene la programación correcta cuando alguien entra o sale.»

Consejo

Prefiere Roles. Una programación que dice «va para quien tiene el role direcao» sigue siendo correcta cuando la dirección cambie de personas; una lista de direcciones escrita a mano queda desactualizada al día siguiente y nadie se da cuenta.

El correo

Asunto es la línea del correo; vacío, usa el nombre del informe. Mensaje abre un editor propio para el cuerpo:

El cuerpo del correo de la programación
El cuerpo del correo de la programación

El informe va adjunto, en el formato elegido, con el nombre del documento. El cuerpo es solo el mensaje que lo acompaña.

Qué ocurre a la hora marcada

  1. El informe se genera en el servidor, con los parámetros de la programación.
  2. El archivo se adjunta a un correo y se envía por el canal de correo de la app.
  3. Queda registrado lo que pasó: el archivo generado y cuántos destinatarios lo aceptaron.

Si algo va mal — el informe falla, el canal de correo no está configurado, un destinatario no tiene dirección — queda registrado y el programador sigue. Un envío que falla no frena a los demás.

Atención

El envío necesita el canal de correo activo y con SMTP completo en Ajustes de la app → Notificaciones. Sin él, el informe se genera y el envío falla en silencio en el historial. Manda un Enviar prueba desde esos ajustes antes de confiar en una programación.

Una programación sin destinatarios tampoco envía — queda registrado «sin destinatarios» y no pasa nada.

A la hora programada no hay nadie con sesión: los datos se leen como la propia app, con todas las API activas y sin el ámbito de ningún usuario. Quien recibe el informe recibe lo que dejan pasar los filtros y los parámetros de la programación, así que elige los destinatarios teniéndolo en cuenta.

Cuando una programación no basta

El atajo sirve para el caso común. Necesitas un script Python cuando quieres:

  • enviar solo si hay filas («no mandes el mapa de los atrasos si no hay atrasos»);
  • un correo por cliente, cada uno con su recorte;
  • guardar el archivo en otro sitio en vez de enviarlo;
  • generar el documento a mitad de un proceso mayor.

El SDK de los scripts hace exactamente eso:

from api_manager import reports, notify

r = reports.render("Oportunidades por conta", {"fase": "Proposta"})
notify.email(
    "Pipeline de la semana",
    to=["direccion@ejemplo.es"],
    attachments=[{"filename": r["filename"], "content": r["base64"]}],
)

reports.render(...) recibe el nombre o el identificador del informe, los parámetros que declara y el formato ("pdf", por defecto, o "xlsx"), y devuelve el archivo listo para grabar o adjuntar. A partir de ahí, la programación es la del script — con todas las opciones que tienen las Programaciones de los scripts, incluida la recuperación de lo que quedó sin correr.

Generar un informe en otros sitios

Además de las programaciones y los scripts, un informe puede generarse:

Desde dónde Cómo
Una pantalla de la app En un evento TypeScript, con el SDK de las pantallas — abre el PDF al usuario o devuelve los bytes para darles otro destino.
Un workflow El paso Email adjunta un informe, generado en el momento del envío para el registro de esa ejecución. Ver Pasos, decisiones y esperas.
El diseño Los botones Vista previa y Excel, para comprobar mientras se diseña.

En todos, el informe corre con los permisos de quien lo pide: un usuario solo ve en el documento los registros que vería en las pantallas. El ámbito de los datos se aplica en el servidor, también en los informes.

Preguntas frecuentes

La programación está activa y no recibí nada. Comprueba, por este orden: el canal de correo de la app está activo y probado; la programación tiene destinatarios; los destinatarios tienen correo en el registro; el informe corre sin error (usa Vista previa con los mismos parámetros).

La hora está bien pero llegó una hora después. La Zona horaria de la programación es la que manda, no la del servidor ni la de quien lee. Confirma que está en Europe/Lisbon (o en la zona que quieres).

¿Puedo mandar el mismo informe a dos horas distintas? Sí — crea dos programaciones en el mismo informe, cada una con su nombre, hora, destinatarios y parámetros.

Borré una programación sin querer. No hay vuelta atrás. Vuelve a crearla: una programación es solo una ficha con hora y destinatarios, y lleva un minuto.