Ir al contenido principal

Esperar a que se genere el informe personalizado

Estructura

CreateCustomReportWait(sReportName, sEMailTo, sEMailSubject, sEMailBody, sSQL, sTableForUpdate, sFieldForUpdate, sWhereForUpdate, sPrintTo, sFileName: String)

Parámetros

| Parámetro | Tipo | Descripción
| sReportName | Cadena | el nombre del informe PERSONALIZADO que se debe crear, tal y como se ha creado en PrintBuilder...Informes personalizados sEMailTo | Cadena | direcciones que deben recibir el correo electrónico, delimitadas por punto y coma sEMailSubject | Cadena | asunto de los correos electrónicos sEMailBody | Cadena | cuerpo del correo electrónico; puede incluir retornos de carro utilizando los símbolos Chr(13) SQL | Cadena | este parámetro opcional hará que se utilice este SQL para el conjunto de datos maestro del informe EN LUGAR DEL SQL del diseñador de informes de IndySoft. Esto solo se aplica al conjunto de datos principal (no a los conjuntos de datos detallados). El informe no debe utilizar campos de búsqueda automática. Se recomienda localizar primero el código SQL exacto del diseñador de informes de IndySoft a través de DBLog.exe o AppServerLog.exe y, a continuación, utilizar ese código SQL exacto como plantilla para modificar esta variable.sTableForUpdate | Cadena | solo se utiliza si se actualizan bases de datosFieldForUpdate | Cadena | solo se utiliza si se actualiza la base de datos; el campo BLOB donde debe adjuntarse el informe resultante tras su creaciónWhereForUpdate | Cadena | la cláusula WHERE que debe utilizarse con la tabla/campo anterior, para guardar en el registro correcto. Comienza el texto con «WHERE »sPrintTo | String | el destino del informe. Los valores posibles son: PDF, XLS, JPG, RTF, TXT, PRINTER, SCREENsFileName | Cadena | puede ser el nombre completo del archivo que desees utilizar (si procede) o la palabra «PROMPT»; en este caso, aparecerá un cuadro de diálogo para que introduzcas el nombre del archivo o el directorio. Se ignora cualquier extensión de archivo al final de sFileName; así lo establece la variable sPrintTo mencionada anteriormente. sFileName puede ser tanto un directorio como un nombre de archivo completo con ruta. |

Descripción

Este procedimiento crea un informe personalizado de IndySoft, pero espera a que el informe se haya creado por completo antes de reanudar la ejecución del script. El informe se puede enviar por correo electrónico si se han configurado los ajustes de correo electrónico. El informe se puede generar en PANTALLA o en IMPRESORA si así se especifica en sPrintTo. También se puede especificar el código SQL completo utilizado para el canal de datos principal; esto anulará el código SQL predeterminado del informe. Además, el informe se puede guardar, si se desea, en un campo BLOB de la base de datos.

Ejemplo

sDocName = "TESTDOC"

' si se va a guardar en la base de datos más tarde, primero hay que indicar la ubicación del trabajo de impresión final; CreateCustomReport lo adjuntará basándose en los tres últimos parámetros

' ten en cuenta que es adecuado utilizar una acción de activador tardía, como «After Finish - Before Print», utilizando LookupFinalEventNum

if not tdDoSQLRecords(1, "SELECT DOC_NUM FROM EVENTDOCS WHERE EVENT_NUM = " & LookupFinalEventNum & " AND DOC_NUM = '" & sDocName & "'") then RunSQL("INSERT INTO EVENTDOCS (EVENT_NUM, DOC_NUM, DOC_DATE, FILE_NAME, DOC_TYPE, PRINTING_COMPLETE) VALUES (" & LookupFinalEventNum & ", '" &

sDocName & "', '" & FormatDateTimeForSQL(Date) & "', '" & sDocName & ".PDF', '4', '0')")

End If

CreateCustomReport("EXAMPLE", "eddie@notreal.com;suzie.office@notreal.com", "Aquí tienes tu informe, deja de darme la lata",

"Este es el cuerpo del correo electrónico" & Chr(13) & "Esta es la segunda línea del cuerpo del correo electrónico",

"SELECT GAGES.COMPANY, GAGES.GAGE_SN, GAGES.GAGE_ID, SCHEDGI.SCHED_TYPE, SCHEDGI.SCHED_FREQ, SCHEDGI.SCHED_INTERVAL, SCHEDGI.SCHED_LAST, SCHEDGI.SCHED_DUE_DATE FROM GAGES GAGES" &

"LEFT OUTER JOIN SCHEDGI SCHEDGI ON (SCHEDGI.COMPANY = GAGES.COMPANY) AND (SCHEDGI.GAGE_SN = GAGES.GAGE_SN) WHERE (GAGES.COMPANY = 'ABC COMPANY' AND SCHEDGI.SCHED_TYPE = 'CALIBRATION')",

"EVENTDOCS", "DOC_BLOB", "WHERE EVENT_NUM = " & LookupFinalEventNum & " AND DOC_NUM = '" & sDocName & "'", "PDF", "IndySoftEventReport")

Compatibilidad de aplicaciones

Gestión de calibraciones de IndySoft, Gestión de laboratorios comerciales de IndySoft, Gestión de herramientas de IndySoft

Véase también

No hay temas relacionados |