Aller directement au contenu principal

Créer un aperçu du rapport personnalisé par e-mail

Structure

CreateCustomReportEMailPreview(sReportName, sEMailTo, sEMailSubject, sEMailBody, sSQL, sTableForUpdate, sFieldForUpdate, sWhereForUpdate, sPrintTo, sFileName : String ; bShowErrors, bShowConfirmation : Boolean)

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 fera en sorte que ce code SQL soit utilisé pour le jeu de données principal du rapport À LA PLACE du code 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.bShowErrors | Booléen | Valeur booléenne True ou False. Si cette valeur est définie sur « True », les erreurs détectées lors de l'exécution de l'e-mail sont affichées à l'utilisateur via une boîte de dialogue contextuelle. bShowConfirmation | Booléen | Valeur booléenne (True ou False). Si c'est le cas, une boîte de dialogue de confirmation s'affiche à l'écran une fois l'e-mail envoyé. |

Description

Cette procédure crée un rapport personnalisé IndySoft, tout comme la fonction CreateCustomReport. La seule différence réside dans le fait que cette procédure prend en charge deux paramètres supplémentaires, bShowErrors et bShowConfirmation, qui s'avèrent utiles lorsqu'on souhaite prévisualiser un e-mail. 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 est prévu ultérieurement, définissez d'abord 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 & "'") alors

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

L'e-mail sera prévisualisé avant d'être envoyé :

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 dans le 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", True, True)

Compatibilité des applications

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

Voir aussi

Aucun sujet connexe |