Dit document is vertaald door AI. Voor onnauwkeurigheden, raadpleeg de Engelse versie
Goedkeuring is een type workflow dat specifiek is ontworpen om handmatig te worden gestart en verwerkt, met als doel de status van gerelateerde gegevens te bepalen. Het wordt vaak gebruikt voor procesbeheer in kantoorautomatisering of andere handmatige besluitvormingsprocessen. Denk hierbij aan het creëren en beheren van handmatige workflows voor scenario's zoals 'verlofaanvragen', 'declaratiegoedkeuringen' en 'goedkeuringen voor inkoop van grondstoffen'.
De Goedkeuring plugin biedt een speciaal workflowtype (trigger) 'Goedkeuring (gebeurtenis)' en een specifieke 'Goedkeuring' node voor dit proces. In combinatie met de unieke aangepaste collecties en aangepaste blokken van NocoBase, kunt u snel en flexibel diverse goedkeuringsscenario's creëren en beheren.
Wanneer u een workflow aanmaakt, kiest u het type 'Goedkeuring' om een goedkeuringsworkflow te creëren:

Vervolgens klikt u in de workflow configuratie-interface op de trigger om een dialoogvenster te openen voor verdere configuratie.
De Goedkeuring plugin van NocoBase is ontworpen voor flexibiliteit en kan worden gebruikt met elke aangepaste collectie. Dit betekent dat u voor de goedkeuringsconfiguratie het datamodel niet opnieuw hoeft te configureren, maar direct een bestaande collectie kunt hergebruiken. Nadat u de trigger configuratie hebt geopend, moet u daarom eerst een collectie selecteren om te bepalen welke gegevens van die collectie de workflow zullen activeren bij aanmaak of update:

Koppel vervolgens in het formulier voor het aanmaken (of bewerken) van gegevens van de betreffende collectie deze workflow aan de verzendknop:

Nadat een gebruiker dit formulier heeft ingediend, wordt de bijbehorende goedkeuringsworkflow geactiveerd. De ingediende gegevens worden niet alleen opgeslagen in de betreffende collectie, maar worden ook als snapshot vastgelegd in de goedkeuringsstroom, zodat latere goedkeurders deze kunnen raadplegen en gebruiken.
Als een goedkeuringsworkflow toestaat dat de initiatiefnemer deze intrekt, moet u de knop 'Intrekken' inschakelen in de interface configuratie van de initiatiefnemer:

Na inschakeling kan een goedkeuring die via deze workflow is gestart, door de initiatiefnemer worden ingetrokken voordat een goedkeurder deze heeft verwerkt. Echter, nadat een goedkeurder in een volgende goedkeuringsnode de aanvraag heeft verwerkt, kan deze niet meer worden ingetrokken.
Nadat u de intrekknop hebt ingeschakeld of verwijderd, moet u in het dialoogvenster van de trigger configuratie op 'Opslaan' klikken en de wijzigingen indienen om ze van kracht te laten worden.
Tot slot moet u de formulierinterface van de initiatiefnemer configureren. Deze interface wordt gebruikt voor indieningsacties wanneer een goedkeuring wordt gestart vanuit het goedkeuringscentrum blok, en wanneer deze opnieuw wordt gestart na een intrekking. Klik op de configuratieknop om het dialoogvenster te openen:

U kunt aan de interface van de initiatiefnemer een invulformulier toevoegen, gebaseerd op de gekoppelde collectie, of beschrijvende tekst (Markdown) ter begeleiding en instructie. Het formulier is verplicht; anders kan de initiatiefnemer geen acties uitvoeren zodra deze de interface betreedt.
Nadat u een formulierblok hebt toegevoegd, kunt u, net als in een reguliere formulierconfiguratie-interface, veldcomponenten van de betreffende collectie toevoegen en deze naar wens rangschikken om de in te vullen inhoud van het formulier te organiseren:

Naast de directe verzendknop kunt u ook een actieknop 'Opslaan als concept' toevoegen om een tijdelijk opslagproces te ondersteunen:

Binnen een goedkeuringsworkflow moet u de speciale 'Goedkeuring' node gebruiken om de operationele logica te configureren voor goedkeurders om de gestarte goedkeuring te verwerken (goedkeuren, afwijzen of terugsturen). De 'Goedkeuring' node kan alleen worden gebruikt in goedkeuringsworkflows. Raadpleeg Goedkeuringsnode voor meer details.
Nadat u een goedkeuringsworkflow hebt geconfigureerd en ingeschakeld, kunt u deze koppelen aan de verzendknop van het formulier van de betreffende collectie, zodat gebruikers een goedkeuring kunnen starten bij het indienen:

Nadat de workflow is gekoppeld, wordt er een goedkeuring gestart wanneer een gebruiker het huidige formulier indient.
Momenteel ondersteunt de knop om een goedkeuring te starten alleen de knop 'Verzenden' (of 'Opslaan') in een aanmaak- of updateformulier. De knop 'Verzenden naar workflow' wordt niet ondersteund (deze knop kan alleen worden gekoppeld aan een 'Na actie gebeurtenis').
Het Takenoverzicht biedt een centraal toegangspunt voor gebruikers om hun openstaande taken te bekijken en te verwerken. Goedkeuringen die door de huidige gebruiker zijn gestart en diens openstaande taken zijn toegankelijk via het Takenoverzicht in de bovenste werkbalk, en verschillende typen openstaande taken kunnen worden bekeken via de categorienavigatie aan de linkerkant.





Om vanuit een datablok te starten, kunt u een aanroep doen zoals hieronder (met de aanmaakknop van de posts collectie als voorbeeld):
Hier is de URL-parameter triggerWorkflows de sleutel van de workflow; meerdere workflows worden gescheiden door komma's. Deze sleutel kunt u verkrijgen door met de muis over de workflownaam bovenaan het workflowcanvas te zweven:

Na een succesvolle aanroep wordt de goedkeuringsworkflow voor de betreffende posts collectie geactiveerd.
Aangezien externe aanroepen ook gebaseerd moeten zijn op de gebruikersidentiteit, moet bij het aanroepen via de HTTP API, net als bij verzoeken die vanuit de reguliere interface worden verzonden, authenticatie-informatie worden verstrekt. Dit omvat de Authorization header of de token parameter (de token verkregen bij het inloggen), en de X-Role header (de huidige rolnaam van de gebruiker).
Als u een gebeurtenis wilt activeren voor één-op-één gerelateerde gegevens binnen deze actie (één-op-veel wordt momenteel niet ondersteund), kunt u ! gebruiken in de parameter om de triggergegevens voor het relatieveld te specificeren:
Na een succesvolle aanroep wordt de goedkeuringsgebeurtenis voor de betreffende categories collectie geactiveerd.
Wanneer u een 'na-actie' gebeurtenis activeert via de HTTP API, moet u ook letten op de ingeschakelde status van de workflow en of de collectie configuratie overeenkomt; anders kan de aanroep mislukken of een fout veroorzaken.
Parameters
collectionName: De naam van de doelcollectie voor het starten van de goedkeuring. Verplicht.workflowId: De ID van de workflow die wordt gebruikt om de goedkeuring te starten. Verplicht.data: De velden van de collectie record die worden aangemaakt bij het starten van de goedkeuring. Verplicht.status: De status van de record die wordt aangemaakt bij het starten van de goedkeuring. Verplicht. Mogelijke waarden zijn:
0: Concept, geeft aan dat de record wordt opgeslagen zonder deze ter goedkeuring in te dienen.1: Indienen ter goedkeuring, geeft aan dat de initiatiefnemer de goedkeuringsaanvraag indient en het goedkeuringsproces ingaat.Wanneer een gestarte (of ingetrokken) goedkeuring de status 'concept' heeft, kunt u deze via de volgende API opnieuw opslaan of indienen:
De initiatiefnemer kan een record dat zich momenteel in het goedkeuringsproces bevindt, intrekken via de volgende API:
Parameters
<approval id>: De ID van de goedkeuringsrecord die moet worden ingetrokken. Verplicht.Nadat de goedkeuringsworkflow een goedkeuringsnode binnengaat, wordt er een openstaande taak aangemaakt voor de huidige goedkeurder. De goedkeurder kan de goedkeuringstaak voltooien via de interface of door een HTTP API aanroep te doen.
Openstaande taken zijn goedkeuringsrecords. U kunt alle goedkeuringsrecords van de huidige gebruiker ophalen via de volgende API:
Hier is approvalRecords een collectie resource, dus u kunt algemene zoekcondities gebruiken zoals filter, sort, pageSize en page.
Parameters
<record id>: De ID van de record die moet worden goedgekeurd. Verplicht.status: Het veld voor de status van het goedkeuringsproces. 2 staat voor 'Goedkeuren', -1 voor 'Afwijzen'. Verplicht.comment: Opmerkingen voor het goedkeuringsproces. Optioneel.data: Wijzigingen aan de collectie record bij de huidige goedkeuringsnode na goedkeuring. Optioneel (alleen van kracht bij goedkeuring).Vóór versie v1.9.0 werd voor het terugsturen dezelfde API gebruikt als voor 'Goedkeuren' en 'Afwijzen', waarbij "status": 1 stond voor terugsturen.
Vanaf versie v1.9.0 heeft het terugsturen een aparte API:
Parameters
<record id>: De ID van de record die moet worden goedgekeurd. Verplicht.returnToNodeKey: De sleutel van de doelnode waarnaar moet worden teruggestuurd. Optioneel. Wanneer een bereik van terugstuurbare nodes is geconfigureerd in de node, kan deze parameter worden gebruikt om te specificeren naar welke node moet worden teruggestuurd. Indien niet geconfigureerd, hoeft deze parameter niet te worden doorgegeven en zal deze standaard terugkeren naar het startpunt, zodat de initiatiefnemer opnieuw kan indienen.Parameters
<record id>: De ID van de record die moet worden goedgekeurd. Verplicht.assignee: De ID van de gebruiker waaraan moet worden overgedragen. Verplicht.Parameters
<record id>: De ID van de record die moet worden goedgekeurd. Verplicht.assignees: Een lijst met gebruikers-ID's die als extra ondertekenaars moeten worden toegevoegd. Verplicht.order: De volgorde van de toegevoegde ondertekenaar. -1 betekent vóór 'mij', 1 betekent ná 'mij'.