Ich weiß nicht ob ich deinen Gedankengang genau verstehe. Was hast du denn gewonnen, wenn dein Feld im Maskendesign auftaucht? Das Feld muss im Anschluss ja sowieso durch einen Agenten oder manuell von den Dokumenten gelöscht werden. Oder wie willst du das über das Maskendesign machen?
Zu Programmieren:
2 Agenten "Setze Flag" & "Entferne Flag" erstellen.
1 Funktion "X" auslagern um in bestehenden Agenten zu prüfen was zu tun ist (If/Else existiert Feld & If/Else stehe mein Agentenname in dem Feld). Die Funktion in alle Agenten an den Anfang setzen.
Der Ablauf würde wie folgt aussehen:
1. Agent "SetzeFlag" läuft über alle Dokumente und setz ein Flag das in etwa so aussieht:
Feldname: "AgentenDieDieseDokumenteNichtBearbeitenSollen"
Werte: Agent1, Agent2, Agent3
2. Bestehende Agenten laufen los. Jeder Agent dieser Agenten, prüft ob das Feld auf dem Dokument existiert (Dadurch wird zwischen neu erstellten Dokumenten und alten Dokumenten unterschieden).
Existiert das Feld prüft der Agent ob er in diesem Feld steht, falls ja wird das Dokument über "UpdateProcessedDoc" für diesen Agent als bereits bearbeitet markiert.
Steht der Agent nicht in dem Feld läuft er ganz normal und bearbeitet das Dokument wie im Code vorgesehen.
3. Agent "EntferneFlag" läuft über alle Dokumente und entfernt das Flag "AgentenDieDieseDokumenteNichtBearbeitenSollen".
Ergebnis:
- Alle Dokumente sind für alle Agenten als "processed" markiert, ob sie tatsächlich bearbeitet wurden oder nicht, spielt keine Rolle. Und das für einen echt geringen Aufwand
Lg Tobi
PS. Die Namen (Falg, Agenten etc.) bitte nicht ernst nehmen