Zum Hauptinhalt springen

CreateCustomReportWait

Aufbau

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

Parameter

| Parameter | Typ | Beschreibung
| sReportName | Zeichenkette | Name des benutzerdefinierten Berichts, der erstellt werden soll – wie in PrintBuilder angelegt...Custom ReportssEMailTo | Zeichenfolge | Adressen, an die die E-Mail gesendet werden soll, durch Semikolons getrenntsEMailSubject | Zeichenfolge | Betreff für E-MailsEMailBody | Zeichenfolge | E-Mail-Text, kann Zeilenumbrüche durch Verwendung von Chr(13)-Zeichen enthaltenSQL | Zeichenfolge | Dieser optionale Parameter bewirkt, dass diese SQL-Anweisung für den Master-Datensatz im Bericht verwendet wird, ANSTELLE der SQL-Anweisung im IndySoft-Berichtsdesigner. Dies gilt nur für den Master-Datensatz (nicht für Detail-Datensätze). Der Bericht darf keine Felder mit automatischer Suche enthalten. Es wird empfohlen, zunächst die genaue SQL-Anweisung aus dem IndySoft-Berichtsdesigner über DBLog.exe oder AppServerLog.exe zu ermitteln und diese dann als Vorlage für die mögliche Anpassung in dieser Variablen zu verwenden.sTableForUpdate | String | wird nur bei der Aktualisierung von Datenbanken verwendetFieldForUpdate | String | wird nur bei der Aktualisierung von Datenbanken verwendet; das BLOB-Feld, an das der resultierende Bericht nach der Erstellung angehängt werden sollWhereForUpdate | String | die WHERE-Klausel, die für die oben genannte Tabelle/das oben genannte Feld verwendet werden soll, um den richtigen Datensatz zu speichern. Beginnen Sie den Text mit „WHERE “sPrintTo | String | das Ziel für den Bericht. Mögliche Werte sind: PDF, XLS, JPG, RTF, TXT, PRINTER, SCREENsFileName | Zeichenfolge | kann entweder der vollständige Dateiname sein, den Sie verwenden möchten (falls zutreffend), oder das Wort „PROMPT“ – in diesem Fall werden Sie in einem Dialogfeld zur Eingabe des Dateinamens bzw. des Verzeichnisses aufgefordert. Jede Dateiendung am Ende von sFileName wird ignoriert – dies wird durch die oben genannte Variable sPrintTo vorgegeben. sFileName kann entweder ein Verzeichnis oder ein vollständiger Dateiname mit Pfad sein. |

Beschreibung

Dieser Vorgang erstellt einen benutzerdefinierten IndySoft-Bericht, wartet jedoch, bis der Bericht vollständig erstellt ist, bevor die Skriptausführung fortgesetzt wird. Der Bericht kann per E-Mail versendet werden, sofern E-Mail-Einstellungen festgelegt wurden. Der Bericht kann auf dem Bildschirm oder auf dem Drucker ausgegeben werden, sofern dies in sPrintTo festgelegt ist. Es kann auch die vollständige SQL-Anweisung für die Hauptdatenpipeline angegeben werden – diese überschreibt dann die Standard-SQL im Bericht. Außerdem kann der Bericht optional in einem Blob-Feld in der Datenbank gespeichert werden.

Beispiel

sDocName = "TESTDOC"

' Wenn später in der Datenbank gespeichert wird, muss zunächst der Speicherort des endgültigen Druckauftrags festgelegt werden – CreateCustomReport fügt ihn anhand der letzten drei Parameter hinzu:

' Beachten Sie, dass eine spätere Trigger-Aktion wie „After Finish – Before Print“ geeignet ist, wobei LookupFinalEventNum verwendet wird:

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", "Hier ist dein Bericht – hör auf, mich zu nerven",

"Dies ist der E-Mail-Text" & Chr(13) & "Dies ist eine zweite Zeile im E-Mail-Text",

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

Anwendungskompatibilität

IndySoft Kalibrierungsmanagement, IndySoft Laborverwaltung für gewerbliche Einrichtungen, IndySoft Werkzeugverwaltung

Siehe auch

Keine verwandten Themen |