Übung – Eine Benachrichtigung erstellen

Abgeschlossen

Szenario

Sie möchten grundlegende Unternehmensinformationen mithilfe der Funktion „Unterstützte Einrichtung“ anfordern, wenn in Microsoft Dynamics 365 Business Central Informationen fehlen.

Aufgaben

  • Erstellen Sie eine Codeunit.

  • Fügen Sie eine Funktion hinzu, um den Assistenten für Unternehmensinformationen zu öffnen.

  • Erstellen Sie einen Abonnenten für OnOpenPageEvent der Seite Verkaufsauftrag.

  • Senden Sie eine Benachrichtigung, wenn die Unternehmensinformationen keinen Namen oder E-Mail-Wert haben.

Schritte

  1. Wählen Sie Datei > Neue Datei aus, und speichern Sie dann diese Datei durch Auswahl von Datei > Speichern. Verwenden Sie den Dateinamen NotificationCompanyInfo.CodeUnit.al.

  2. Erstellen Sie eine neue Codeunit in dieser Datei, indem Sie Codeausschnitte verwenden. Geben Sie tcodeunit ein, und drücken Sie dann die TAB-Taste.

  3. Ändern Sie die ID in 50131 und den Namen in Benachrichtigung Unternehmensinformationen.

  4. Erstellen Sie eine öffentliche Prozedur mit dem Namen ShowCompanyWizard.

  5. Fügen Sie einen Parameter mit dem Namen TheNotification vom Typ Notification hinzu.

  6. Fügen Sie der Prozedur zum Öffnen der Seite Assistent für Unternehmensinformationen einen Code hinzu.

    procedure ShowCompanyInfoWizard(TheNotification: Notification)
    begin
    	Page.Run(Page::"Assisted Company Setup Wizard"); 
    end;
    
  7. Erstellen Sie eventsubscriber für die Funktion OnOpenPageEvent auf Seite 42, Verkaufsauftrag.

  8. Fügen Sie Code hinzu, der überprüft, ob das Feld Name oder E-Mail in der Tabelle „Unternehmensinformationen“ leer ist. Wenn es leer ist, müssen Sie eine Benachrichtigung senden.

  9. Fügen Sie der Benachrichtigung, die ShowCompanyInfoWizard aufruft, eine Aktion hinzu.

    [EventSubscriber(ObjectType::Page, Page::"Sales Order", 'OnOpenPageEvent', 
                     '', false, false)]
    local procedure CheckInfoOnOpenSalesOrder(var Rec: Record "Sales Header")
    var
        CompanyInformation: Record "Company Information";
        CompanyNotification: Notification;
    begin
        if CompanyInformation.Get() then
            if (CompanyInformation.Name <> '') and 
               (CompanyInformation."E-mail" <> '') then
                exit;
    
        CompanyNotification.Id := CreateGuid();
        CompanyNotification.Message := 'Company Information is missing.';
        CompanyNotification.AddAction('Open Company Information', 
                                      Codeunit::"Notification Company Info",  
                                      'ShowCompanyInfoWizard');
        CompanyNotification.Send();
    end;
    
  10. Öffnen Sie die Datei launch.json im Ordner .vscode. Legen Sie die Einstellung startupObjectId auf 42 und startupObjectType auf Seite fest.

  11. Veröffentlichen Sie Ihre Erweiterung in der Sandbox. Wählen Sie Anzeigen > Befehlspalette ... (STRG+UMSCHALT+P) aus.

  12. Geben Sie AL: Publish in das Suchfeld ein (oder drücken Sie die F5-Taste), und wählen Sie den Befehl aus der Liste aus.

  13. Überprüfen Sie, ob die Microsoft Dynamics 365 Business Central-Anwendung gestartet und die Seite Verkaufsauftrag angezeigt wird.

  14. Sie können Ihre Erweiterung testen, indem Sie den E-Mail-Wert von der Unternehmensinformationsseite entfernen. Suchen Sie nach Unternehmensinformationen, entfernen Sie den E-Mail-Wert und öffnen Sie erneut einen Verkaufsauftrag. Eine Benachrichtigung sollte angezeigt werden.