Ga naar inhoud

Automatische Dispatch voor eigen Processen Inschakelen

Inleiding

Document Dispatch maakt de automatische verzending van alle Dispatch-profielen mogelijk wanneer specifieke processen worden uitgevoerd (bijv. het omzetten van een contract in een bestelling). De meest relevante processen in de Business Central Standaard zijn al gedekt. Het kan echter zijn dat wat de verzending zou moeten triggeren nog niet is gedekt of buiten de Business Central standaard valt.

Om een integratie binnen een gewenst proces te bereiken, moet je:

  1. Een aangepast evenement definiëren dat op het gewenste moment in je processen wordt getriggerd (bijv. na het boeken van een bestelling of het bijwerken van een specifieke tabel).

  2. Zorgen dat er een connector bestaat die jouw applicatie(s) met Document Dispatch verbindt. Maak er een als dat nodig is om integratie te vergemakkelijken.

  3. Een Evenement Abonnee voor dit evenement binnen jouw eigen connector maken.

Dit artikel legt uit hoe je deze stappen kunt implementeren en biedt voorbeeldcode voor het creëren van een evenement, het abonneren erop en het koppelen aan onze dispatchfunctionaliteit.

Een Aangepast Evenement Maken en Abonneren

Stap 1: Definieer het Aangepaste Evenement

De eerste stap is om een aangepast evenement in de AL-code te definiëren. Dit evenement moet op het juiste moment in het proces worden getriggerd om de juiste timing voor verzending te waarborgen. Bijvoorbeeld:

[IntegrationEvent(false, false)]
local procedure OnAfterCustomProcess(ParamCustomRecord: Record "Custom Table"; ParamAdditionalInfo: Text)
begin
    // Dit evenement wordt getriggerd na een aangepast proces, zoals boeken of bijwerken.
end;

In dit voorbeeld is het OnAfterCustomProcess-evenement gedefinieerd voor een aangepaste tabel. Het neemt het record van de tabel en eventuele aanvullende relevante informatie als parameters.

Stap 2: Implementeer de Evenement Trigger

Dit aangepaste evenement moet worden aangeroepen op het punt in het proces waar de verzending moet worden geïnitieerd. Bijvoorbeeld, als het moet worden verzonden nadat een record is geboekt:

procedure PostCustomRecord(var ParamCustomRecord: Record "Custom Table")
begin
    // Boekingslogica hier...
    Commit();

    // Trigger het aangepaste evenement
    OnAfterCustomProcess(ParamCustomRecord, 'Aangepaste boeking voltooid');
end;

Stap 3: Maak de Evenement Abonnee

Zodra het aangepaste evenement is ingesteld, is de volgende stap om een Evenement Abonnee in de connector te maken die naar het evenement luistert en het verbindt met Document Dispatch:

[EventSubscriber(ObjectType::Codeunit, CodeunitId, 'OnAfterCustomProcess', '', false, false)]
local procedure HandleCustomProcess(ParamCustomRecord: Record "Custom Table"; ParamAdditionalInfo: Text)
var
    LocalCodeunitSIMEDSSI: Codeunit "SIM_EDS SI";
    LocalCodeunitSIMEDSQueueMgt: Codeunit "SIM_EDS Queue Mgt";
    LocalRecordRef: RecordRef;
begin
    // Verkrijg de recordreferentie voor de aangepaste tabel
    LocalRecordRef.GetTable(ParamCustomRecord);
    LocalRecordRef.SetRecFilter();

    // Roep de verzendfunctionaliteit aan
    LocalCodeunitSIMEDSSI.SetIsCustomProcess(true);
    LocalCodeunitSIMEDSQueueMgt.SendEDS(LocalRecordRef, false, false, '');
    LocalCodeunitSIMEDSSI.ClearIsCustomProcess();
end;

Uitleg

Aangepast Evenement:
- Je moet eigen evenementen definiëren, zoals OnAfterCustomProcess, die op het juiste moment in je processen moeten worden getriggerd (bijv. na het boeken van een record).
- Dit zorgt voor volledige flexibiliteit om Document Dispatch te integreren met jouw aangepaste workflows.

Evenement Abonnee:
- De abonnee luistert naar het aangepaste evenement en verbindt het met onze verzendprocedure.
- Dit moet binnen jouw connector worden geïmplementeerd.

Connector:
- Als er geen connector bestaat, moet je er een maken om jouw aangepaste tabellen/procedures met Document Dispatch te koppelen.

Logs en Probleemoplossing

Als de integratie niet werkt zoals verwacht:
- Controleer Aangepaste Evenement Triggering: Zorg ervoor dat het aangepaste evenement op het juiste moment in het proces wordt aangeroepen.
- Controleer Logs: Logs geven aan waar problemen zijn, zoals misconfiguraties of ontbrekende verbindingen tussen het evenement en de verzendprocedure.
- Verifieer Connector Setup: Als de Evenement Abonnee niet werkt, zorg er dan voor dat deze correct is geïmplementeerd in een functionerende connector.

Samenvatting

Door een aangepast evenement en een Evenement Abonnee binnen jouw connector te creëren, kun je de Document Dispatch-functionaliteit uitbreiden naar aangepaste tabellen en processen. De flexibiliteit om te definiëren waar en hoe het evenement wordt getriggerd, maakt naadloze integratie met unieke workflows mogelijk.

Als er geen connector bestaat, moet deze worden gemaakt als basis voor deze integratie. Voor aanvullende hulp, raadpleeg onze ondersteuningsdocumentatie of neem contact op met de technische ondersteuning.