Herramientas de usuario

Herramientas del sitio


usu:smartpdf:smartpdf_guia_de_iniciacion

SmartPdf - guía de iniciación

SmartPdf es un programa de Smart Software Solutions, que sirve para definir tareas recurrentes:

  • Envíos de emails a clientes/proveedores/empleados etc. con información actual, por ejemplo el resumen de facturación del último mes. La información se puede enviar en formato Pdf, hoja de cálculo o en texto formateado.
  • Tareas de mantenimiento en la base de datos. Aquí también es posible enviar el resultado de la tarea por ejemplo a un empleado.

Instalación

La instalación se hace con el programa SmartPdfSetup.exe, que se puede bajar de la página web de Smart.

Los pasos de instalación son los ya habituales para los programas de Smart. Al principio se pone la clave de instalación para la empresa del cliente. Setup clave instalación

Luego, en el paso de las tareas adicionales, hay que marcar que se quiere generar un ícono en el escritorio: Setup tareas adicionales

Primeros pasos

Cuando se abre el programa por primera vez, hay que poner los credenciales del usuario. Recuerde que cada licencia de SmartPdf corresponde a un usuario. Si su licencia es para el usuario PEPE, debería utilizar este usuario en los credenciales. Conectar

Los credenciales se guardan en un fichero .xml en la carpeta de los datos de programa local, que se puede abrir en Windows 10 con la tecla de Windows + R, y en el dialogo que se abre se pone %localappdata%\smartpdf. Config

Conceptos

El sistema de envío de emails automatizados se compone de dos programas principales:

  1. SmartPdf: Es el programa para definir los envíos, o sea, la interfaz al usuario.
  2. SmartServices: Este programa corre continuamente en un servidor para realizar un envío previamente definido en SmartPdf en el momento adecuado.

El concepto principal del envío automatizado de documentos son las listas de destinatarios. Por ejemplo así:

Razón social Correo el. Nº factura
Pepe pepe@gmail.com P0001
Goyo goyo@gmail.com G0001

Una lista de esta forma puede servir para enviar una factura a cada uno de los destinatarios en un email personalizado (Estimado Pepe…).

También es posible enviar varios documentos (facturas) al mismo destinatario, por ejemplo con la siguiente lista:

Razón social Correo el. Nº factura
Pepe pepe@gmail.com P0001
Pepe pepe@gmail.com P0002
Goyo goyo@gmail.com G0001
Goyo goyo@gmail.com G0002
Goyo goyo@gmail.com G0003

En este caso Pepe recibiría dos facturas en un solo email, y Goyo 3.

El formato del email a enviar se define en las tareas, donde también se anota en que lista de destinatarios se basa el envío.

Los adjuntos del envío de una tarea se definen en los documentos. Normalmente es lo que en SmartOffice son los informes, que se envían en formato PDF a base de un diseño de informe. También pueden ser consultas de cualquier tipo, que se ejecutan y el resultado se adjunta al email en formato de hoja de cálculo o de texto.

Los lotes agrupan una o varias tareas y las ejecutan en un órden definido por el usuario.

Lista de destinatarios

Menú Formularios\Listas de destinatarios

Las listas de destinatarios son la base para cualquier lote de tareas. Estas listas definen los destinatarios de los emails, y también pueden definir los documentos a enviar.

Después de crear una nueva lista con F3 podemos darle un código manualmente o automáticamente dando en la tecla Intro.

Las listas se definen con una instrucción sql de tipo select, que se mete en el campo Selección, por ejemplo:

SELECT A.RAZON_SOCIAL, A.CIF_NIF, A.CORREO_E,
       B.NRO_FACTURA
FROM TERCERO A
JOIN CAB_FACTURA_VENTA B ON A.TIPO = B.TIPO_TERCERO AND A.CODIGO = B.COD_TERCERO
                         AND A.TIPO = 'CL' AND A.CORREO_E IS NOT NULL
                         AND B.FECHA_EMISION >= :_FE(1)
ORDER BY A.CODIGO

El parámetro :_FE se sustituye por la fecha de ejecución de la tarea. Es posible desplazar esta fecha en días, meses o años, que se puede conseguir añadiendo unos parámetros rodeados por paréntesis: :_FE(d/m/a).

Cada componente 'd', 'm' o 'a' puede definir un dato fijo o una diferencia a la fecha actual. En ese último caso (diferencia) hay que ponerle delante un '-' o un '+'.

Aquí unos ejemplos para una fecha de ejecución 31/07/2009:

Parámetro fecha resultante
_FE(1) '2009-07-01'
_FE(1/1) '2009-01-01'
_FE(1/-1) '2009-06-01'
_FE(/-1) '2009-06-31' (¡ERROR!)
_FE(-40) '2009-06-21'
_FE(/ /-1) '2008-07-31' (Entre las dos barras no hace falta ningún espacio, solo lo tenía que meter por un problema con el wiki)
_FE(+10) '2009-08-10'

Una vez que salimos del campo Selección, el formulario nos muestra el resutlado del select en la rejilla correspondiente: Lista destinatarios

También es posible partir desde todos los clientes, proveedores o terceros en general, pinchando en el botón correspondiente.

Esto nos va a mostrar la lista de las personas seleccionadas, y nos pone el select adecuado en el campo Selección. Luego podemos filtrar sobre la rejilla con F7 de la manera habitual, lo que automáticamente modifica también el select: Lista dest. clientes

Finalmente también podemos definir una lista estática de destinatarios, marcando la casilla correspondiente en el formulario: List dest. estat. Ahora podemos añadir manualmente cualquier tercero de Smart, u otra persona cualquiera con su nombre y dirección de correo electrónico.

En cuanto confirmemos una lista de destinatarios con F11, podemos ver en la rejilla Campos los campos que devuelve esta lista: Lista dest. campos En la columna Nombre campo dataset vemos los nombres de las variables que podemos utilizar en el diseño de los emails, como se explica más abajo.

Si desconfirmamos una lista de destinatarios, también se desconfirmarán los lotes cuyos tareas hacen referencia a la lista. Se muestra un mensaje al usuario con todos los lotes desconfirmados, para que los pueda confirmar otra vez al terminar el trabajo sobre la lista.

Lotes de tareas

Menú Formularios\Lotes

Los lotes sirven para agrupar una serie de tareas y ejecutarlas en un orden específico. Además son los lotes que definen el momento (horario) de ejecutar las tareas. Añadimos un nuevo lote con código predefinido con F3 e Intro. Lote general

En la pestaña Planificación podemos definir el horario: Lote planificación

Campo Descripción
Cada 2 minutos Se ejecuta el lote cada 2 minutos. Este es el intervalo de ejecución del programa SmartServices, que es el programa que realiza las tareas. Con otras palabras, si marcamos Cada 2 minutos, el lote se ejecuta cada vez que se ejecuta el programa SmartServices.
Fecha fija Una fecha fija en la que se quiere ejecutar el lote.
Cada día de mes Se puede definir el día del mes en que se quiere ejecutar el lote. Si al mismo tiempo se marca el campo Cada día laboral entonces se calcula el x día laboral del mes, si x es el número introducido en ese campo. En ese caso hace falta definir un calendario en el campo Cód. calendario.
Desplazar días Se puede desplazar la fecha de ejecución definida en los demás campos por los días introducidos en ese campo. Para ejecutar una tarea el último día de cada mes, se pone 1 en Cada día de mes y -1 en este campo.
Cada lunes/martes… Con esas casillas se puede definir uno o varios días de la semana en que se quiere ejecutar el lote.
Cada día laboral Marcando este campo se ejecuta el lote todos los días laborales. Hace falta definir un calendario en Cód. calendario. Por defecto se coge el calendario estándar de la empresa.
Cada día festivo Ejecutar el lote cada día festivo. Hace falta definir un calendario en Cód. calendario. Por defecto se coge el calendario estándar de la empresa.
Permitir saltar ejec. En general se debería poner 'S' en esa casilla. Si se deja en 'N' significa que, si el lote termina con un error, el día siguiente se vuelve a intentar hasta que termine con éxito.
Planificación Cód. calendario El código del calendario a usar para calcular los días laborales.

Una vez definida la planificación, podemos añadir una o varias tareas al lote. Seleccionamos la rejilla y damos en F3 o Flecha abajo. Lote tareas

Flecha arriba abajoLe damos un nombre a cada tarea y las reordenamos con las dos flechas como lo necesitemos.

La edición detallada de cada tarea se debería hacer pinchando en el botón correspondiente Editar tarea.

Con F11 podemos confirmar el lote. Una vez confirmado ya no serán posible cambios ni en el mismo lote ni en cualquier componente del lote (tareas y documentos). Solo lotes confirmados serán ejecutados. Si un lote está suspendido, lo podemos arrancar otra vez si lo desconfirmamos y confirmamos con F11.

Tareas

Las tareas definen el envío por email de los documentos. Los documentos a enviar se añaden en la rejilla de Documentos, lo que se explica más adelante.

Tarea general

Campo Descripción
Ejecutar siempre Hay que marcar este campo si queremos que se ejecute la tarea incluso si alguna tarea anterior en el lote había terminado con un error.
Útil por ejemplo para el envío de un resultado de la tarea.
Fallo de envío es error Si lo marcamos, un error en el envío (por ejemplo por un fallo en la red) se trata igual que un error al ejecutar la tarea.
Parar lote al error Si está marcada esta opción (valor por defecto), en caso de un error no se ejecutan las tareas restantes del lote, con la excepción de las tareas marcadas con Ejecutar siempre.
Suspender lote al error Si la tarea da un error, se marca el lote como suspendido y no se vuelve a ejecutar hasta que se desconfirme el lote y se vuelve a confirmar.
Cód. lista destinatarios La lista de destinatarios para esta tarea.
Usuario conexión Por defecto, la tarea se ejecuta bajo con un usuario del sistema. En este campo se puede definir otro usuario a utilizar en la conexión a la base de datos.
Grupo conexión El grupo para la conexión. Solo se toma en cuenta si se ha definido también el Usuario conexión.
Clave conexión La contraseña para el Usuario conexión.

E-Mail

En la pestaña E-Mail se define el formato y los destinatarios del email a enviar.

Email cuerpo

Un email consiste de los tres partes prefijo, cuerpo y firma, que se pueden definir en las pestañas correspondientes. En cualquier de estos campos, y también en el campo Asunto email, está permitido el uso de parámetros.

Un parámetro se define por las llaves, por ejemplo {Nombre}.

Cualquier parámetro usado en estos campos aparece automáticamente en la pestaña Parámetros, donde le podemos asignar un campo de la lista de destinatarios con F6 desde el campo Nombre campo dataset. Email parámetros

Cuando se crean los emails y se recorre la lista de los destinatarios, se sustituyen los parámetros por los campos de la lista para personalizar cada email.

Los partes prefijo y firma permiten el uso de html, para por ejemplo incluir imagenes en la firma o cambiar el tamaño de la letra. Email firma

Cualquier imagen utilizado en estos dos campos se sube inmediatamente a la base de datos y se puede ver en la pestaña Imagenes. Email imagenes

La definición de los destinatarios se hace desde la pestaña correspondiente. Email destinatarios

Al igual que con los parámetros, podemos escoger un campo de la lista de destinatarios que contiene la dirección de email del destinatario, con F6 desde el campo Nombre campo dataset.
También es posible definir una dirección de email fija en el campo Destinatario.
En cualquier caso hay que escoger el Tipo dest. para cada línea añadida.

Plantillas

Es posible guardar los campos Asunto email, Email prefijo, Email cuerpo, Email firma e Imagenes en una plantilla, para reutilizar el formato en otra tarea. Se consigue con los dos botones Cargar desde plantilla y Guardar como plantilla.

Documentos de tareas

Los documentos a enviar se definen en la rejilla de la pestaña General de las tareas. Tarea documentos

Añadimos una línea para cada adjunto y le ponemos un nombre. Luego usamos el botón Editar documento para editar el detalle de cada documento.

Los documentos no están ordenados, no se puede saber el órden de su generación.

Documentos

En el formulario de Documento, al que llegamos pinchando en el botón Editar documento desde la rejilla de las tareas, podemos definir los adjuntos que deben acompañar cada email.

El caso más fácil es añadir un archivo fijo, como puede ser un folleto de promoción o un manual de una máquina. Estos adjuntos fijos se añaden con el botón Sel. fichero. Documento fijo

Si por lo contrario queremos crear un adjunto basándonos en datos de Smart, podemos escoger el botón Sel. informe y escoger un procedimiento para sacar la información de la base de datos. Al escoger un procedimiento se crea automáticamente una instrucción select en el campo Comando, que la podemos modificar según necesidad.
También se añaden automáticamente en la rejilla correspondiente los parámetros del comando (si los tiene). Documento general

Podemos poner para cada parámetro un valor fijo en la columna Valor, o una referencia a la lista de destinatarios, escogiendo el campo de la lista con F6 desde la columna Nombre campo dataset. Un parámetro sin valor ni referenia se deja en blanco (nulo).

Si pinchamos en la pestaña Datos, el programa no deja poner unos parámetros temporales para abrir la consulta. Esto es necesario si queremos crear el diseño del informe, desde el menú Registro/Diseño. El diseño del informe es imprescindible si queremos enviar el adjunto en formato PDF.

El diseñador es parecido al de SmartOffice, pero no es posible utilizar los diseños que ya existen en SmartOffice. LazReport Diseñador

También es posible enviar los datos en formato de hoja de cálculo o de texto estructurado. En este caso no definimos ningún diseño, pero en su lugar escogemos el formato a exportar en el campo Cód. formato export. El formato SYLK es para la exportación en hoja de cálculo, mientras los otros formatos son para la exportación de texto.

Si queremos quitar temporalmente un adjunto de un envío sin tener que borrar el documento por completo, podemos desmarcar el campo Activo.

Una vez que hayamos definido todos los adjuntos, podemos volver al formulario del lote y confirmar el lote con F11. A partir de este momento ya no se puede cambiar ningún componente del lote, ni las tareas, ni los documentos.

usu/smartpdf/smartpdf_guia_de_iniciacion.txt · Última modificación: 2019/07/29 15:11 por stefan