Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Estimados,
Tengo un problema al momento de ejecutar una trabajo en el servidor de NPrinting
Versión NPrinting: 15.4.0.2 (Feature Track)
Versión QlikView: 11.0.11440.0
Al modelo QlikView lo llamaré Modelo A
El trabajo consiste en distintas tareas:
1.- Recargar el modelo A.
2.- Crear reportes de manera cíclica usando un dato definido (nombre persona) en el modelo y almacenarlos en un directorio especifico (generalmente crea 6 reportes).
3.- Ejecutar una macro que se encuentra en el modelo A.
La macro consiste en realizar un ciclo mediante comando For en donde busca los reportes creados y los envía a los correos correspondientes a las personas.
A nivel local, el trabajo cumple con todas las tareas, genera los reportes y envía los correos.
El problema es en el servidor de NPrinting.
Al momento de ejecutar el trabajo, la tarea de recarga (1) y generación de reportes (2) funciona correctamente, pero al ejecutar la macro (3), envía sólo 1 correo y no hace nada mas.
Como detalle al revisar el administrador de tareas encuentro que el proceso QlikView se queda pegado ocupando 929 Mb
La macro que ocupo para enviar los correos es la siguiente
sub Ciclo
set dimPersona = ActiveDocument.fields("Persona_ssf").GetPossibleValues
for i=0 to dimPersona.Count - 1
On Error Resume Next
Dim FieldValue
FieldValue = dimPersona.Item(i).text
ActiveDocument.Fields("Persona_ssf").Select FieldValue
Set var = ActiveDocument.Variables("vCorreo")
Set nombre = ActiveDocument.Variables("vNombrePersona")
'*******************************************************************************************************************
'Enviar correo por Persona
'Verificar si existe el reporte
Dim Archivo
Archivo = "\\Ruta\Informe por Persona " & dimPersona.Item(i).Text & "_" & Date() & ".xlsx"
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(Archivo) Then
'Si existe el reporte
Set objMsg = CreateObject("CDO.Message")
Set msgConf = CreateObject("CDO.Configuration")
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.security.cl" 'smtp do email
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 0
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
msgConf.Fields.Update
objMsg.To = var.GetContent.String
objMsg.From = "Correo@Correo.com"
objMsg.Subject = "Reporte por Persona"
objMsg.HTMLBody = "Hola " & nombre.GetContent.String & ",<br/> Adjunto al correo reporte por Persona"
objMsg.AddAttachment Archivo
objMsg.Sender = "Correo"
Set objMsg.Configuration = msgConf
objMsg.Send
Set objMsg = nothing
Set msgConf = nothing
Else
'No existe el reporte
End If
Next
ActiveDocument.ClearAll
End Sub
Agradeciendo de antemano toda su ayuda me despido
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Dear,
I have a problem when running a job on the server of NPrinting
NPrinting Version: 15.4.0.2 (Feature Track)
QlikView Version: 11.0.11440.0
The QlikView model will call it Model A
The work consists of different tasks:
1.- Recharge the model A.
2.- Create reports in a cyclical way using a defined data (person name) in the model and store them in a specific directory (usually creates 6 reports).
3.- Execute a macro that is in model A.
The macro consists of cycling through the For command, where it looks for the created reports and sends them to the emails corresponding to the people.
At the local level, the work fulfills all the tasks, generates the reports and sends the mails.
The problem is in the server of NPrinting.
When executing the job, the task of reloading (1) and report generation (2) works correctly, but when executing macro (3), it sends only 1 mail and does nothing else.
As a detail when reviewing the task manager I find that the QlikView process is stuck occupying 929 Mb
The macro I used to send the emails is the following
sub Ciclo
set dimPersona = ActiveDocument.fields("Persona_ssf").GetPossibleValues
for i=0 to dimPersona.Count - 1
On Error Resume Next
Dim FieldValue
FieldValue = dimPersona.Item(i).text
ActiveDocument.Fields("Persona_ssf").Select FieldValue
Set var = ActiveDocument.Variables("vCorreo")
Set nombre = ActiveDocument.Variables("vNombrePersona")
'*******************************************************************************************************************
'Enviar correo por Persona
'Verificar si existe el reporte
Dim Archivo
Archivo = "\\Ruta\Informe por Persona " & dimPersona.Item(i).Text & "_" & Date() & ".xlsx"
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(Archivo) Then
'Si existe el reporte
Set objMsg = CreateObject("CDO.Message")
Set msgConf = CreateObject("CDO.Configuration")
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.security.cl" 'smtp do email
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 0
msgConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
msgConf.Fields.Update
objMsg.To = var.GetContent.String
objMsg.From = "Correo@Correo.com"
objMsg.Subject = "Reporte por Persona"
objMsg.HTMLBody = "Hola " & nombre.GetContent.String & ",<br/> Adjunto al correo reporte por Persona"
objMsg.AddAttachment Archivo
objMsg.Sender = "Correo"
Set objMsg.Configuration = msgConf
objMsg.Send
Set objMsg = nothing
Set msgConf = nothing
Else
'No existe el reporte
End If
Next
ActiveDocument.ClearAll
End Sub
Thanking in advance all your help I say goodbye
Estimados,
Al final si pude realizar el proceso de envío de correos con mi versión de NPrinting.
Todo era causa de desconocimiento.
Para hacerlo posible use la herramienta de Nprinting para obtener los destinatarios desde un objeto (tabla) QlikView, usando la opción QlikView Entity.
La tabla debe tener como mínimo esta información y debe ser establecida en el asistente de NPrinting de la siguiente manera:
Email -> correo de la persona
Filter1 -> dato de la persona que se usa en el ciclo de creación del informe.
Group1 -> Agrupación al cual pertenece esa persona (vendedores, ejecutivos, gerentes, etc.)
FullName -> Nombre de la persona
El importar destinatarios debe ser establecido como una tarea previa a la creación de los informes.
Para enlazar estos destinatarios con los informes, en la opción de tarea, pestaña destinatarios, se debe colocar el grupo al cual pertenecen los destinatarios,
NPrinting se encarga de enviar el correo a quien corresponda.
Recuerden activar la opción enviar correo electrónico.
Espero que les sirva este ultra resumido tutorial.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Dear,
In the end if I could perform the process of sending emails with my version of NPrinting.
Everything was cause of ignorance.
To make this possible, use the Nprinting tool to obtain the recipients from a QlikView object (table), using the QlikView Entity option.
The table must have at least this information and must be established in the NPrinting wizard as follows:
Email -> person's email
Filter1 -> data of the person used in the report creation cycle.
Group1 -> Group to which that person belongs (salespersons, executives, managers, etc.)
FullName -> Name of the person
Importing recipients must be established as a task prior to the creation of the reports.
To link these recipients with the reports, in the task option, recipients tab, the group to which the recipients belong must be placed,
NPrinting is responsible for sending the mail to whom it may concern.
Remember to activate the option to send email.
I hope you can use this ultra-short tutorial.
Hi,
You are using a very old version, so I suggest you to update your installation.
Remember that Qlik NPrinting 16.* supports Office macros in the meaning that the VBA code is copied from the report template to the generated reports but NEVER executed for security reasons. Qlik NPrinting 17, at the moment, doesn't support Office macros.
Qlik NPrinting is designed to deliver reports via email without the needs to create Office macros. So please evalute to develop a full Qlik NPrinting solution to send your reports without using macros.
Qlik NPrinting 16 tutorials are available at the page QlikView Resource Library, then click on Qlik NPrinting on the left column.
Best Regards,
Ruggero
---------------------------------------------
When applicable please mark the appropriate replies as CORRECT. This will help community members and Qlik Employees know which discussions have already been addressed and have a possible known solution. Please mark threads as HELPFUL if the provided solution is helpful to the problem, but does not necessarily solve the indicated problem. You can mark multiple threads as HELPFUL if you feel additional info is useful to others.
I suggets you make a Windows session 0 visible (google how to do it) and see where is your NPrinting process stopped in executing QlikVIew macro..
As an alternative yo umay want to login to QlikView server as a NPrinting Server accont and run manual NPrinting task as this user and see if it hass all required privilages to run macros.
cheers
Lech
Gracias por sus respuestas,
La version de NPrinting utilizada es la que tenemos como empresa, está fuera de mi manos actualizar la version.
En cuanto al uso de macros, es la opción que tenía en el momento.
La solución que encontré al problema es ejecutar un .exe que realice el envío de correos una vez finalizado el proceso de creación de reportes.
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Thank you for your answers,
The version of NPrinting used is the one we have as a company, it is out of my hands to update the version.
As for the use of macros, it is the option that I had at the time.
The solution that I found to the problem is to execute an .exe that performs the sending of emails once the process of creating reports has finished.
Estimados,
Al final si pude realizar el proceso de envío de correos con mi versión de NPrinting.
Todo era causa de desconocimiento.
Para hacerlo posible use la herramienta de Nprinting para obtener los destinatarios desde un objeto (tabla) QlikView, usando la opción QlikView Entity.
La tabla debe tener como mínimo esta información y debe ser establecida en el asistente de NPrinting de la siguiente manera:
Email -> correo de la persona
Filter1 -> dato de la persona que se usa en el ciclo de creación del informe.
Group1 -> Agrupación al cual pertenece esa persona (vendedores, ejecutivos, gerentes, etc.)
FullName -> Nombre de la persona
El importar destinatarios debe ser establecido como una tarea previa a la creación de los informes.
Para enlazar estos destinatarios con los informes, en la opción de tarea, pestaña destinatarios, se debe colocar el grupo al cual pertenecen los destinatarios,
NPrinting se encarga de enviar el correo a quien corresponda.
Recuerden activar la opción enviar correo electrónico.
Espero que les sirva este ultra resumido tutorial.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Dear,
In the end if I could perform the process of sending emails with my version of NPrinting.
Everything was cause of ignorance.
To make this possible, use the Nprinting tool to obtain the recipients from a QlikView object (table), using the QlikView Entity option.
The table must have at least this information and must be established in the NPrinting wizard as follows:
Email -> person's email
Filter1 -> data of the person used in the report creation cycle.
Group1 -> Group to which that person belongs (salespersons, executives, managers, etc.)
FullName -> Name of the person
Importing recipients must be established as a task prior to the creation of the reports.
To link these recipients with the reports, in the task option, recipients tab, the group to which the recipients belong must be placed,
NPrinting is responsible for sending the mail to whom it may concern.
Remember to activate the option to send email.
I hope you can use this ultra-short tutorial.
buen dia, espero estes bien.
Te comento que estoy iniciandome en este mundo y no tengo demasiadas herramientas para solucionar algunos problemas.
En concreto estoy necesitando enviar via mail reportes desde una versión gratuita de qlikview y entiendo que con la macro que desarrollaste funcionaria, pero hay cosas que no entiendo del todo. como por ejemplo si Persona_ssf es un archivo con los datos de la gente a la que le quieres enviar el mail?? .
En conclusión, me podrías ayudar a entender un poco el código?
Desde ya muchas gracias