Herramientas de usuario

Herramientas del sitio


usu:smartpdf:smartpdf_guia_de_iniciacion

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
usu:smartpdf:smartpdf_guia_de_iniciacion [2018/09/04 15:26] stefanusu:smartpdf:smartpdf_guia_de_iniciacion [2022/08/03 18:49] (actual) stefan
Línea 5: Línea 5:
  
 ===== Instalación ===== ===== Instalación =====
-La instalación se hace con el programa ''SmartPdfSetup.exe'', que se puede bajar de la página web de Smart.+La instalación se realiza con el programa instalador //SmartPdfSetup.exe//, que se puede bajar desde la web de Smart [[http://www.smartastur.es]], menú //Descargas//.
  
-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. +La clave de instalación a poner en el primer dialogo la podemos sacar de SmartOffice, menú //Configuración/Datos empresa//, pestaña //General//, campo //Clave de instalación//.
-{{ :usu:smartpdf:spdfsetupclaveinst.png?400 |Setup clave instalación}}+
  
-Luegoen el paso de las tareas adicionales, hay que marcar que se quiere generar un ícono en el escritorio: +Salvo casos especialessolo tenemos que poner dicha clave y luego podemos confirmar todos los dialogos del instalador.  
-{{ :usu:smartpdf:spdfsetuptareasad.png?400 |Setup tareas adicionales}}+ 
 +Los pasos del instalador se explican detalladamente [[usu:instalador_comun#instalacion_aplicaciones_icono_unico|aquí]].
  
 ===== Primeros pasos ===== ===== Primeros pasos =====
Línea 21: Línea 21:
  
 ===== Conceptos ===== ===== Conceptos =====
 +El sistema de envío de emails automatizados se compone de dos programas principales:
 +  - SmartPdf: Es el programa para definir los envíos, o sea, la interfaz al usuario.
 +  - 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 ===== ===== Lista de destinatarios =====
Línea 46: Línea 74:
 Aquí unos ejemplos para una fecha de ejecución 31/07/2009: Aquí unos ejemplos para una fecha de ejecución 31/07/2009:
 ^Parámetro ^fecha resultante ^ ^Parámetro ^fecha resultante ^
-|FE(1) |'2009-07-01'+|_FE(1) |'2009-07-01'
-|FE(1/1) |'2009-01-01'+|_FE(1/1) |'2009-01-01'
-|FE(1/-1) |'2009-06-01'+|_FE(1/-1) |'2009-06-01'
-|FE(/-1) |'2009-06-31' (¡ERROR!) | +|_FE(/-1) |'2009-06-31' (¡ERROR!) | 
-|FE(-40) |'2009-06-21'+|_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(/ /-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' |+|_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: Una vez que salimos del campo //Selección//, el formulario nos muestra el resutlado del //select// en la rejilla correspondiente:
Línea 77: Línea 105:
 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''. 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''.
 {{ :usu:smartpdf:spdflotegeneral.png?600 |Lote general}} {{ :usu:smartpdf:spdflotegeneral.png?600 |Lote general}}
 +Los campos de la pestaña //General// son los siguientes:
 +^Campo ^Descripción ^
 +|Código |El código del lote, que se genera automáticamente si damos en ''Intro'' después de añadir un lote nuevo con ''F3''. También podemos poner un código manualmente después de insertar un lote nuevo con ''F3''. |
 +|Nombre |Un nombre descriptivo para el lote. |
 +|Suspendido |Si esta casilla está marcada, algún error ha ocurrido en la última ejecución del lote.\\ Lo podemos comprobar desde el menú //Registro/Resultados//.\\ **Mientras un lote esté en estado //suspendido// no se ejecutará.** Lo podemos desbloquear desconfirmando y confirmando de nuevo el lote con F11. |
 +|Cód. planificación |En la planificación se puede definir la agenda de ejecución del lote. Se accede a la lanificación desde este campo con ''Mayús.+F6''.\\ Cada lote recibe una planificación por defecto que tiene el mismo código como el lote. También es posible crear una planificación generalizada, con utilidad para varios lotes, desde la ventana principal, menú //Formularios/Planificaciones//.|
 +|Remitente email error |El servicio que ejecuta los lotes, //SmartServicesPdf//, ofrece la posibilidad de notificar por email a alguien en caso de un fallo en la ejecución del lote, que suele resultar en un lote suspendido (ver arriba). En este campo se puede meter el remitente del email que se va a enviar, y en el siguiente campo, //Destinatario email error//, el o los destinatarios separados por coma. |
 +|Destinatario email error |Se puede poner un destinatario o varios separados por coma. Ver explicación en el campo anterior. |
 +|Fecha última ejec. |Fecha de la última ejecución del lote. Para lotes que se ejecutan varas veces al día incluye la hora también. |
  
-En la pestaña //Planificación// podemos definir el horario:+Desde el campo //Cód. planificación// podemos acceder con ''Mayús.+F6'' a la planificación del lote:
 {{ :usu:smartpdf:spdfloteplanif.png?600 |Lote planificación}} {{ :usu:smartpdf:spdfloteplanif.png?600 |Lote planificación}}
 +En la cabecera tenemos estos campos:
 +^Campo ^Descripción ^
 +|Código |El código de la planificación, autogenerado al crear un lote nuevo, o creado manualmente desde la ventana principal, menú //Formularios/Planificaciones//. |
 +|Nombre |Un nombre descriptivo. |
 +|Cód. calendario |El calendario a usar cuando se quiere ejecutar un lote en días festivos o laborales. |
 +|Permitir saltar ejec. |Si se desmarca esta opción, el servicio que ejecuta los lotes, //SmartServicesPdf//, va a //recuperar// ejecuciones de un lote cuando por ejemplo se ha apagado el servidor por un fallo de electricidad. **OJO, también se van a recuperar todas las veces que faltan desde la última fecha de ejecución (ver campo correspondiente en los campos del lote arriba) si hemos desconfirmado un lote y lo confirmamos de nuevo un mes más tarde, por ejemplo.** |
 +|Ejecutar siempre |Marcando esta opción se ejecuta el lote cada vez que se arranca el servicio //SmartServicesPdf//, que normalmente es cada 5 minutos.\\ Se suele usar por ejemplo para tareas que tienen que leer unos emails entrantes, o para probar un lote. |
 +|Autogenerado |Esta marcado si la planificación ha sido autogenerado al crear un lote nuevo. |
 +
 +En la pestaña //General// en la parte de las líneas de la planificación podemos detallar la agenda de ejecución del lote.
 +
 ^Campo ^Descripció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. | |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''. | |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. |+|Días de mes |Igual que el campo anteriorcon la diferencia que se puede introducir una lista de días separadas por coma. |
 |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 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 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. | |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 quesi el lote termina con un error, el día siguiente se vuelve intentar hasta que termine con éxito. | +|Ejeccada x minutos |Si se pone un número de minutos en este campo, el lote se va a ejecutar varias veces en los días especificados en los campos anterioresEl periodo a esperar entre cada ejecución son los minutos de este campo. | 
-|Planificación |Cód. calendario |El código del calendario a usar para calcular los días laborales. |+|Ejec. desde |Si se pone una hora en este campo y en el siguiente//Ejec. hasta//, se ejecutará el lote solamente dentro de esta franja horaria. Para lotes que se ejecutan una sola vez en un día esto significa normalmente que se ejecutará la hora puesta en //Ejec. desde//. Cuando se pone un periodo en //Ejec. cada x minutos// se ejecutará el lote dentro del periodo cada //x// minutos.\\ Siempre hay que rellenar los dos campos, //Ejec. desde// y //Ejec. hasta//.\\ También se puede poner //Ejec. desde// en ''22:00:00'' y //Ejec. hasta// en ''05:00:00'', que significaría ejecutar el lote durante de la noche, pero no durante el día. |  
 +|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. |
  
 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//. 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//.
Línea 162: Línea 210:
 {{ :usu:smartpdf:spdfdocgeneral.png?600 |Documento general}} {{ :usu:smartpdf:spdfdocgeneral.png?600 |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//.+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**.+Si pinchamos en la pestaña //Datos//, el programa nos 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**. Podemos guardar un ejemplo con los datos actuales de la pestaña //Datos// con el menú //Registro/Exportar a PDF//.
  
 El diseñador es parecido al de SmartOffice, pero no es posible utilizar los diseños que ya existen en SmartOffice. El diseñador es parecido al de SmartOffice, pero no es posible utilizar los diseños que ya existen en SmartOffice.
 {{ :usu:smartpdf:spdflazreportdisenador.png?600 |LazReport Diseñador}} {{ :usu:smartpdf:spdflazreportdisenador.png?600 |LazReport Diseñador}}
 +En el siguiente párrafo se explican algunas peculiaridades del diseñador de informes.
  
 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//. 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//.
Línea 175: Línea 224:
  
 **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. **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.
 +
 +===== Diseñador =====
 +==== Enlaces URL ====
 +Es posible añadir enlaces URI a cualquier cuadro de texto que se posiciona en el diseño. Para que aparezca el enlace en el PDF solamente hay que rellenar la propiedad ''URLInfo'' del cuadro de texto.
 +
 +{{:usu:smartpdf:spdfdisenoenlace1.png?400  |Diseñador con enlace}}{{  :usu:smartpdf:spdfdisenoenlace2.png?400|PDF con enlace}}
 +
 +Hay que destacar que es posible usar una variable de la base de datos para determinar la propiedad ''URLInfo'', por ejemplo ''[LinDatos."S_URL_DOC"]''.
 +
 +==== Imagenes externos ====
 +Se puede añadir imagenes al diseño que se llenan desde ficheros guardados en carpetas locales o compartidas.
 +
 +Para que esto funcione tenemos que añadir un comando a la propiedad Memo:
 +  load(LinDatos.ENLACE)
 +El campo ENLACE de la fuente de datos LinDatos tiene que contener el nombre del fichero a cargar en la imagen. Esto funciona seguro con imagenes de tipo .jpg y .png. Para otros tipos hay que probar.
 +
 +{{ :usu:smartpdf:spdfimagenesexternos.png?600 |Imagenes externos}}
 +
 +Hay que tomar en cuenta que los ficheros sean accesibles desde el servidor donde funciona //SmartServicesPdf//, el servicio de Smart para generar y enviar los pdf.
 +
 +==== Fuentes ====
 +Si se instala //smartservicespdf// en Linux se debería tener cuidado con la selección de las fuentes.
 +
 +Cuando se crea un diseño en Windows hay que restringirse a fuentes que también existen en Linux, como por ejemplo **Arial** y **Times New Roman**.
 +
 +Con un tamaño pequeño puede haber problemas en Linux. Estos son las medidas probadas:
 +  * Arial: mayor o igual a 7px.
 +  * Times New Roman: mayor o igual a 6px.
usu/smartpdf/smartpdf_guia_de_iniciacion.1536067580.txt.gz · Última modificación: 2018/09/04 15:26 por stefan

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki