Zum Inhalt

Bereitgestellte Events in Document Dispatch

In diesem Artikel werden die von Document Dispatch bereitgestellten Events beschrieben.

Publisher

Codeunit 5487177 "SIM_EDS Event Publisher"

OnBeforeSaveReportDocumentAndSetDefaultDocumentLayout

AL
1
2
3
4
[IntegrationEvent(false, false)]
procedure OnBeforeSaveReportDocumentAndSetDefaultDocumentLayout(var ParamDocumentLayoutCode: Code[20]; ParamRecordRef: RecordRef; ParamReportNoInteger: Integer; var ParamLayoutChangedBoolean: Boolean; ParamRecordSIMEDSQueueLine: Record "SIM_EDS Queue Line"; ParamRecordSIMEDSRecordAttachment: Record "SIM_EDS Record Attachment")
begin
end;

Aufgerufen

Dieses Event wird ausgelöst, bevor der im Document Dispatch-Versandprofil konfigurierte Document Dispatch-Bericht im Document Dispatch-Queue-Eintrag gespeichert wird und ein Report Layout gesetzt wird.

Parameter

Bezeichnung: Typ Beschreibung
ParamDocumentLayoutCode Code[20] Der Code des Berichts-Layouts.
ParamRecordRef RecordRef Der Datensatz, von dem der Bericht gesendet wurde, z.B. eine gebuchte Verkaufsrechnung.
ParamReportNoInteger Integer Die Nummer des Berichts.
ParamLayoutChangedBoolean Boolean Boolean, der angibt, ob das Berichts-Layout geändert wurde.
ParamRecordSIMEDSQueueLine Record "SIM_EDS Queue Line" Der Document Dispatch-Warteschlangenzeileneintrag der Document Dispatch-Anhänge.
ParamRecordSIMEDSRecordAttachment Record "SIM_EDS Record Attachment" Die Anhänge des Document Dispatch-Versandprofils, aus denen die Einstellungen der Document Dispatch-Warteschlangenzeile hervorgehen.

Info

Das Berichtslayout kann einfach geändert werden, indem der Parameter ParamDocumentLayoutCode durch einen anderen gültigen Layoutcode ersetzt wird.

OnAfterSaveReportDocument

AL
1
2
3
4
[IntegrationEvent(false, false)]
procedure OnAfterSaveReportDocument(ParamRecordSIMEDSQueueLine: Record "SIM_EDS Queue Line"; ParamRecordSIMEDSRecordAttachment: Record "SIM_EDS Record Attachment")
begin
end;

Aufgerufen

Dieses Event wird ausgelöst, nachdem der Document Dispatch-Bericht, der in den Anhängen des Document Dispatch-Versandprofils konfiguriert ist, im Document Dispatch-Warteschlangeneintrag gespeichert wurde.

Info

Dieses Event wird ausgelöst, nachdem der Document Dispatch-Warteschlangeneintrag erstellt wurde, auch wenn der Bericht aufgrund eines Fehlers nicht gespeichert werden konnte.

Parameter

Bezeichnung: Typ Beschreibung
ParamRecordSIMEDSQueueLine Record "SIM_EDS Queue Line" Der Document Dispatch-Warteschlangenzeileneintrag, der hilfreiche Informationen enthält.
ParamRecordSIMEDSRecordAttachment Record "SIM_EDS Record Attachment" Die Anhänge des Document Dispatch-Versandprofils, aus denen die Einstellungen der Document Dispatch-Warteschlangenzeile vorhanden sind.

OnBeforeSaveReportEmailTemplate

AL
1
2
3
4
[IntegrationEvent(false, false)]
procedure OnBeforeSaveReportEmailTemplate(ParamRecordSIMEDSQueueEntry: Record "SIM_EDS Queue Entry"; ParamRecordSIMEDSRecord: Record "SIM_EDS Record")
begin
end;

Aufgerufen

Dieses Event wird ausgelöst, bevor der Document Dispatch-Bericht, der für die E-Mail des Document Dispatch-Versandprofils konfiguriert ist, im Document Dispatch-Warteschlangeneintrag gespeichert wird.

Parameter

Bezeichnung: Typ Beschreibung
ParamRecordSIMEDSQueueEntry Record "SIM_EDS Queue Entry" Der Document Dispatch-Warteschlangeneintrag mit hilfreichen Informationen.
ParamRecordSIMEDSRecord Record "SIM_EDS Record" Das Document Dispatch-Versandprofil, aus dem die Einstellungen der Document Dispatch-Warteschlange vorhanden sind.

OnAfterSaveReportEmailTemplate

AL
1
2
3
4
[IntegrationEvent(false, false)]
procedure OnAfterSaveReportEmailTemplate(ParamRecordSIMEDSQueueEntry: Record "SIM_EDS Queue Entry"; ParamRecordSIMEDSRecord: Record "SIM_EDS Record")
begin
end;

Aufgerufen

Dieses Event wird ausgelöst, nachdem der Document Dispatch-Bericht, der für die E-Mail des Document Dispatch-Versandprofils konfiguriert ist, im Document Dispatch-Warteschlangeneintrag gespeichert wurde.

Parameter

Bezeichnung: Typ Beschreibung
ParamRecordSIMEDSQueueEntry Record "SIM_EDS Queue Entry" Der Document Dispatch-Warteschlangeneintrag mit hilfreichen Informationen.
ParamRecordSIMEDSRecord Record "SIM_EDS Record" Das Document Dispatch-Versandprofil, aus dem die Einstellungen der Document Dispatch-Warteschlange vorhanden sind.

OnBeforeEDSDialogOpen

AL
1
2
3
4
[IntegrationEvent(false, false)]
procedure OnBeforeEDSDialogOpen(ParamEDSQueueEntryBigInteger: BigInteger; var ParamToAddressText: Text[250]; var ParamCcAddressText: Text[250]; var ParamBccAddressText: Text[250]; var ParamSubjectText: Text[250])
begin
end;

Aufgerufen

Dieses Event wird ausgelöst, bevor dem Benutzer die Sendseite des Document Dispatch-Dialogs angezeigt wird.

Parameter

Bezeichnung: Typ Beschreibung
ParamEDSQueueEntryBigInteger BigInteger Die Document Dispatch-Warteschlangen-Nr. kann verwendt werden, um den Document Dispatch-Warteschlangeneintragsdatensatz abzurufen und wichtige Informationen daraus zu extrahieren.
ParamToAddressText Text[250] Die ausgefüllte E-Mail-Adresse, die bearbeitet werden kann.
ParamCcAddressText Text[250] Die ausgefüllte E-Mail-Adresse cc, die bearbeitet werden kann.
ParamBccAddressText Text[250] Die ausgefüllte E-Mail-Bcc-Adresse, die bearbeitet werden kann.
ParamSubjectText Text[250] Der ausgefüllte E-Mail-Betreff, der bearbeitet werden kann.

OnBeforeSendDS

AL
1
2
3
4
[IntegrationEvent(false, false)]
procedure OnBeforeSendEDS(ParamRecordRef: RecordRef; ParamSendFromFactBoxBoolean: Boolean; ParamSendDialogBoolean: Boolean; ParamRecordCode: Code[50]; ParamIsDownloadBoolean: Boolean; ParamIsSingleDownloadBoolean: Boolean;GlobalIsMultimailBoolean: Boolean; GlobalMultiSelectionBoolean: Boolean)
begin
end;

Aufgerufen

Dieses Event wird ausgelöst, bevor der Document Dispatch-Eintrag gesendt wurde.

Parameter

Bezeichnung: Typ Beschreibung
ParamRecordRef RecordRef Die RecordRef, die mit dem Datensatz gefüllt ist, bei dem der Document Dispatch-Versand ausgelöst wurde
ParamSendFromFactBoxBoolean Boolean Enthält die Information, ob der Versand über die Infobox
ParamSendDialogBoolean Boolean Enthält die Information, ob der Versand als Dialogversand
ParamRecordCode Code[50] Enthält den Versandprofilcode
ParamIsDownloadBoolean Boolean Enthält die Information, ob ein Download ausgelöst wurde
GlobalIsMultimailBoolean Boolean Enthält die Information, ob eine Multimail ausgelöst wurde
GlobalMultiSelectionBoolean Boolean Enthält die Information, ob ein Multi-Versand ausgelöst wurde

OnAfterSendEDS

AL
1
2
3
4
[IntegrationEvent(false, false)]
procedure OnAfterSendEDS(ParamRecordRef: RecordRef; ParamSendFromFactBoxBoolean: Boolean; ParamSendDialogBoolean: Boolean; ParamRecordCode: Code[50]; ParamIsDownloadBoolean: Boolean; ParamIsSingleDownloadBoolean: Boolean;GlobalIsMultimailBoolean: Boolean; GlobalMultiSelectionBoolean: Boolean)
begin
end;

Aufgerufen

Dieses Event wird ausgelöst, nachdem der Document Dispatch-Eintrag gesendt wurde.

Parameter

Bezeichnung: Typ Beschreibung
ParamRecordRef RecordRef Die RecordRef, die mit dem Datensatz gefüllt ist, bei dem der Document Dispatch-Versand ausgelöst wurde
ParamSendFromFactBoxBoolean Boolean Enthält die Information, ob der Versand über die Infobox
ParamSendDialogBoolean Boolean Enthält die Information, ob der Versand als Dialogversand
ParamRecordCode Code[50] Enthält den Versandprofilcode
ParamIsDownloadBoolean Boolean Enthält die Information, ob ein Download ausgelöst wurde
GlobalIsMultimailBoolean Boolean Enthält die Information, ob eine Multimail ausgelöst wurde
GlobalMultiSelectionBoolean Boolean Enthält die Information, ob ein Multi-Versand ausgelöst wurde

OnBeforeGetBusinessPartner

AL
1
2
3
4
[IntegrationEvent(false, false)]
procedure OnBeforeGetBusinessPartner(ParamRecordRef: RecordRef; ParamSendFromFactBoxBoolean: Boolean; ParamRecordSIMEDSBPRecord: Record "SIM_EDS BP Record"; ParamRecordSIMEDSBusinessPartner: Record "SIM_EDS Business Partner")
begin
end;

Aufgerufen

Dieses Event wird ausgelöst, bevor der Geschäftspartner während des Sendprozesses ermittelt wird.

Parameter

Bezeichnung: Typ Beschreibung
ParamRecordRef RecordRef Die RecordRef, die mit dem Datensatz gefüllt ist, bei dem der Document Dispatch-Versand ausgelöst wurde
ParamSendFromFactBoxBoolean Boolean Enthält die Information, ob der Versand über die Infobox
ParamRecordSIMEDSBPRecord Record "SIM_EDS BP Record" Dieser Datensatz wird mit den Versandprofilen gefüllt, die dem Geschäftspartner
ParamRecordSIMEDSBusinessPartner Record "SIM_EDS Business Partner" Dieser Datensatz wird mit dem Geschäftspartner gefüllt, der für den Document Dispatch-Versand

OnAfterGetBusinessPartner

AL
1
2
3
4
[IntegrationEvent(false, false)]
procedure OnAfterGetBusinessPartner(ParamRecordRef: RecordRef; ParamSendFromFactBoxBoolean: Boolean; ParamRecordSIMEDSBPRecord: Record "SIM_EDS BP Record"; ParamRecordSIMEDSBusinessPartner: Record "SIM_EDS Business Partner")
begin
end;

Aufgerufen

Dieses Event wird ausgelöst, nachdem der Geschäftspartner während des Sendprozesses ermittelt wurde.

Parameter

Bezeichnung: Typ Beschreibung
ParamRecordRef RecordRef Die RecordRef, die mit dem Datensatz gefüllt ist, bei dem der Document Dispatch-Versand ausgelöst wurde
ParamSendFromFactBoxBoolean Boolean Enthält die Information, ob der Versand über die Infobox
ParamRecordSIMEDSBPRecord Record "SIM_EDS BP Record" Enthält das Versandprofil, das dem Geschäftspartner
ParamRecordSIMEDSBusinessPartner Record "SIM_EDS Business Partner" Enthält den Geschäftspartner, der für den Document Dispatch-Versand

OnBeforeInsertQueueEntry

AL
1
2
3
4
[IntegrationEvent(false, false)]
procedure OnBeforeInsertQueueEntry(ParamRecordRef: RecordRef; ParamSendFromFactBoxBoolean: Boolean; ParamRecordSIMEDSBPRecord: Record "SIM_EDS BP Record"; ParamRecordSIMEDSBusinessPartner: Record "SIM_EDS Business Partner")
begin
end;

Aufgerufen

Dieses Event wird ausgelöst, bevor der Document Dispatch-Warteschlangeneintrag im Sendprozess erstellt wird.

Parameter

Bezeichnung: Typ Beschreibung
ParamRecordRef RecordRef Die RecordRef, die mit dem Datensatz gefüllt ist, bei dem der Document Dispatch-Versand ausgelöst wurde
ParamSendFromFactBoxBoolean Boolean Enthält die Information, ob der Versand über die Infobox
ParamSendDialogBoolean Boolean Enthält die Information, ob der Versand als Dialogversand
ParamRecordSIMEDSRecord Record "SIM_EDS Record" Enthält das Versandprofil, das für das Document Dispatch-Versand
ParamRecordSIMEDSQueueEntry Record "SIM_EDS Queue Entry" Enthält den Datensatz des Document Dispatch-Warteschlangeneintrags, der während des Document Dispatch-Versands erstellt wird

OnAfterInsertQueueEntry

AL
1
2
3
4
[IntegrationEvent(false, false)]
procedure OnAfterInsertQueueEntry(ParamRecordRef: RecordRef; ParamSendFromFactBoxBoolean: Boolean; ParamRecordSIMEDSBPRecord: Record "SIM_EDS BP Record"; ParamRecordSIMEDSBusinessPartner: Record "SIM_EDS Business Partner")
begin
end;

Aufgerufen

Dieses Event wird ausgelöst, nachdem der Document Dispatch-Warteschlangeneintrag im Sendprozess erstellt wurde.

Parameter

Bezeichnung: Typ Beschreibung
ParamRecordRef RecordRef Die RecordRef, die mit dem Datensatz gefüllt ist, bei dem der Document Dispatch-Versand ausgelöst wurde
ParamSendFromFactBoxBoolean Boolean Enthält die Information, ob der Versand über die Infobox
ParamSendDialogBoolean Boolean Enthält die Information, ob der Versand als Dialogversand
ParamRecordSIMEDSRecord Record "SIM_EDS Record" Enthält das Versandprofil, das für das Document Dispatch-Versand
ParamRecordSIMEDSQueueEntry Record "SIM_EDS Queue Entry" Enthält den Datensatz des Document Dispatch-Warteschlangeneintrags, der während des Document Dispatch-Versands erstellt wird

OnAfterPlaceholderActionVisible

AL
1
2
3
4
[IntegrationEvent(false, false)]
procedure OnAfterPlaceholderActionVisible(ParamPlaceholderActionVisibleBoolean: Boolean)
begin
end;

Aufgerufen

Dieses Event wird auf der Seite Anhänge des Document Dispatch-Versandprofils ausgelöst, nachdem eine Anhang ausgewählt wurde.

Parameter

Bezeichnung: Typ Beschreibung
ParamPlaceholderActionVisibleBoolean Boolean Enthält die Information, ob die Platzhalter-Aktion angezeigt wird

OnBeforeSendChangeRecipientEmail

[IntegrationEvent(false, false)]
procedure OnBeforeSendChangeRecipientEmail(
    var ParamRecordSIMEDSQueueEntry: Record "SIM_EDS Queue Entry")
begin
end;

Aufgerufen

Wenn es in der Module Einrichtung aktiviert ist, wird dieses Ereignis wird unmittelbar vor dem Senden einer E-Mail durch Document Dispatch ausgelöst. Es ermöglicht Entwicklern, den E-Mail-Empfänger durch benutzerdefinierten Code anzupassen.

Parameter

Bezeichnung Typ Beschreibung
ParamRecordSIMEDSQueueEntry Record "SIM_EDS Queue Entry" Der aktuelle Warteschlangeneintrag, der Informationen über den zu sendenden Beleg enthält. Über das Feld Source ID kann auf den Quelldatensatz zugegriffen werden, um beispielsweise Daten für Berechnungen zu erhalten.

Verwendung

Dieses Ereignis ermöglicht es Entwicklern, die Empfänger-E-Mail-Adresse vor dem Versand anzupassen. Durch Zugriff auf den SIM_EDS Queue Entry können relevante Informationen wie die Source ID abgerufen werden, um beispielsweise die E-Mail-Adresse eines anderen Kunden zu verwenden.

Beispiel:

[EventSubscriber(ObjectType::Codeunit, Codeunit::"SIM_EDS Event Publisher", 'OnBeforeSendChangeRecipientEmail', '', false, false)]
procedure HandleOnBeforeSendChangeRecipientEmail(
    var ParamRecordSIMEDSQueueEntry: Record "SIM_EDS Queue Entry")
var
    LocalRecordSalesInvoiceHeader: Record "Sales Invoice Header";
    LocalRecordCustomer: Record Customer;
begin
    // Überprüfen, ob die Quelle eine Verkaufsrechnung ist
    if ParamRecordSIMEDSQueueEntry."Source Table No." = 112 then begin
        // Abrufen der Verkaufsrechnung basierend auf der Source ID
        if LocalRecordSalesInvoiceHeader.Get(ParamRecordSIMEDSQueueEntry."Source ID") then begin
            // Abrufen des Kunden basierend auf der LocalRecordCustomerNo. der Verkaufsrechnung
            if LocalRecordCustomer.Get(LocalRecordSalesInvoiceHeader."Sell-to Customer No.") then 
                if LocalRecordSalesInvoiceHeader."Sell-to Customer No." = Format(40000) then
                if LocalRecordCustomer.Get(20000) then
                    ParamRecordSIMEDSQueueEntry."To Address" := LocalRecordCustomer."E-Mail";            
        end;
    end;
end;

In diesem Beispiel wird die Empfänger-E-Mail-Adresse basierend auf der Source ID des Warteschlangeneintrags angepasst. Wenn die Verkaufsrechnung die "Sell-to Customer No." 40000 hat, wird die E-Mail-Adresse des Kunden mit der Kundennummer 20000 als Empfängeradresse verwendet.

OnAfterEmailSendSuccessfully

AL
1
2
3
4
[IntegrationEvent(false, false)]
internal procedure OnAfterEmailSendSuccessfully(ParamRecordSIMEDSQueueEntry: Record "SIM_EDS Queue Entry"; ParamRecordRef: RecordRef)
begin
end;

Aufgerufen

Dieses Ereignis wird ausgelöst, nachdem der Belegversand die Rückmeldung von Business Central erhält, dass die E-Mail erfolgreich gesendet wurde.

Parameter

Bezeichnung: Typ Beschreibung
ParamRecordSIMEDSQueueEntry Record "SIM_EDS Queue Entry" Enthält den Eintrag für die Warteschlange zum Entfernen von Dokumenten, der gesendet wurde
ParamRecordRef RecordRef Enthält die Quelle RecordRef
### OnAfterEmailSendFailed
AL
1
2
3
4
[IntegrationEvent(false, false)]
procedure OnAfterEmailSendFailed(ParamRecordSIMEDSQueueEntry: Record "SIM_EDS Queue Entry"; ParamRecordRef: RecordRef)
begin
end;
#### Aufgerufen
Dieses Ereignis wird ausgelöst, nachdem der Belegversand die Rückmeldung von Business Central erhält, dass die gesendete E-Mail fehlgeschlagen ist.

Parameter

Bezeichnung: Typ Beschreibung
ParamRecordSIMEDSQueueEntry Record "SIM_EDS Queue Entry" Enthält den Eintrag für die Warteschlange zum Entfernen von Dokumenten, der gesendet wurde
ParamRecordRef RecordRef Enthält die Quelle RecordRef