Aller directement au contenu principal

Créer un rapport personnalisé

Structure

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

Paramètres

| Paramètre | Type | Description
| sReportName | Chaîne | Nom du rapport PERSONNALISÉ à créer – tel qu'il a été créé dans PrintBuilder...Custom ReportssEMailTo | Chaîne | adresses auxquelles l'e-mail doit être envoyé, séparées par des points-virgulessEMailSubject | Chaîne | objet des e-mailsEMailBody | Chaîne | corps de l'e-mail, pouvant inclure des retours chariot à l'aide des symboles Chr(13)SQL | Chaîne | ce paramètre facultatif entraînera l'utilisation de ce SQL pour le jeu de données principal du rapport À LA PLACE du SQL du concepteur de rapports IndySoft. Cela ne s'applique qu'à l'ensemble de données principal (et non aux ensembles de données détaillés). Le rapport ne doit pas utiliser les champs de recherche automatique. Il est recommandé de rechercher d'abord la requête SQL exacte générée par le concepteur de rapports IndySoft dans les fichiers DBLog.exe ou AppServerLog.exe, puis d'utiliser cette requête comme modèle pour la modifier dans cette variable.sTableForUpdate | Chaîne | utilisé uniquement en cas de mise à jour des bases de donnéesFieldForUpdate | Chaîne | utilisé uniquement en cas de mise à jour de la base de données, champ BLOB auquel le rapport résultant doit être joint après sa créationWhereForUpdate | Chaîne | clause WHERE à utiliser avec la table/le champ ci-dessus, afin d'enregistrer dans l'enregistrement correct. Commencez le texte par « WHERE » suivi de « sPrintTo | String | », qui correspond à la destination du rapport. Les valeurs possibles sont : PDF, XLS, JPG, RTF, TXT, PRINTER, SCREENsFileName | Chaîne | peut correspondre soit au nom complet du fichier que vous souhaitez utiliser (le cas échéant), soit au mot « PROMPT » – auquel cas une boîte de dialogue s'affiche pour vous demander le nom du fichier ou le répertoire. Toute extension de fichier à la fin de sFileName est ignorée ; cela est imposé par la variable sPrintTo ci-dessus. sFileName peut être soit un répertoire, soit un nom de fichier complet avec son chemin d'accès. |

Description

Cette procédure permet de créer un rapport personnalisé IndySoft. Le rapport peut être envoyé par e-mail si les paramètres de messagerie ont été configurés. Le rapport peut être généré à l'écran ou sur une imprimante si cela est spécifié dans sPrintTo. Il est également possible de spécifier le code SQL complet utilisé pour le pipeline de données principal ; cela remplacera le code SQL par défaut du rapport. De plus, le rapport peut, si vous le souhaitez, être enregistré dans un champ blob de la base de données.

Exemple

sDocName = "TESTDOC"

' si l'enregistrement dans la base de données se fait ultérieurement, il faut d'abord indiquer l'emplacement du travail d'impression final - CreateCustomReport l'y joindra, en fonction des 3 derniers paramètres

' notez qu'une action de déclenchement tardive telle que After Finish - Before Print est appropriée, en utilisant 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", "Voici votre rapport - arrêtez de m'embêter",

"Voici le corps de l'e-mail" & Chr(13) & "Voici une deuxième ligne du corps de l'e-mail",

"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")

Compatibilité des applications

Gestion de l'étalonnage IndySoft, Gestion des laboratoires commerciaux IndySoft, Gestion des outils IndySoft

Voir aussi

Aucun sujet connexe |