Zum Inhalt

Integration Rechnungsversand

Anforderung

Rechnungen sollen beim Buchen automatisch versendet werden. Für diese Anforderung gibt es mehrere Lösungswege. Im Folgenden wird ein Beispiel beschrieben:


1. Integration in die Buchung Codeunit „Sales Post“

In einem Event Subscriber für „OnAfterPostSalesDoc“ wird die Funktion CreateEntry von Multinav Mail aufgerufen und damit eine neue E-Mail erstellt. Es werden immer alle gebuchten Rechnungen versendet. Möglich wäre hier auch eine Abfrage vor der Funktion CreateEntry, die prüft, ob ein Empfänger für die Rechnung vorhanden ist.

codeunit 50000 OnSalesOrderPostingIntegration
{
    [EventSubscriber(ObjectType::Codeunit, Codeunit::"Sales-Post", 'OnAfterPostSalesDoc', '', true, true)]
    local procedure OnAfterPostSalesDoc(var SalesHeader: Record "Sales Header"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; SalesShptHdrNo: Code[20]; RetRcpHdrNo: Code[20]; SalesInvHdrNo: Code[20]; SalesCrMemoHdrNo: Code[20]; CommitIsSuppressed: Boolean; InvtPickPutaway: Boolean)
    var
        SalesInvHeader: Record "Sales Invoice Header";
        CMNMIntegrationInterface: Codeunit "CMNM Integration Interface";
    begin
        if SalesInvHdrNo <> '' then begin
            SalesInvHeader.get(SalesInvHdrNo);
            CMNMIntegrationInterface.CMNMManagement_CreateEntry('INVOICE', SalesInvHeader.RecordId, Enum "CMNM Dispatch Type"::Smtp, false);
        end;
    end;
}