So beheben Sie MANAGER_NOT_DEFINED bei Salesforce-Deployments
Ein Genehmigungsprozess oder eine hierarchieabhängige Automatisierung schlägt fehl, weil das Manager-Feld des Benutzers nicht ausgefüllt ist.
Tritt auf bei: Laufzeit-Genehmigungseinreichung, meist während der Ausführung von Apex-TestsWas das bedeutet
MANAGER_NOT_DEFINED tritt auf, wenn ein Vorgang, der von der Benutzerrolle oder der Managementhierarchie abhängt, meist ein Genehmigungsprozessschritt, der zum Manager eines Benutzers routet, auf einen User-Datensatz ohne Wert im Manager-Feld trifft. Salesforce kann die Genehmigung ohne diese Kette nicht weiterleiten oder die hierarchieabhängige Logik, die sie ausgelöst hat, nicht abschließen.
Scratch-Orgs und frische Sandboxes legen ihren Standard-Admin-Benutzer routinemäßig ohne gesetzten Manager an, weshalb dieser Fehler unverhältnismäßig oft in CI-Testläufen auftritt statt in einer ausgereiften Produktions-Org, in der die Hierarchie im Laufe der Zeit aufgefüllt wurde.
Häufige Ursachen
Die Lösung
- Manager-Feld für jeden relevanten Benutzer ausfüllenStellen Sie sicher, dass Test- und Seed-User-Datensätze, die in Genehmigungs- oder hierarchieabhängigen Abläufen verwendet werden, einen zugewiesenen Manager haben.
User approver = new User(/* ... */); insert approver; User submitter = new User(ManagerId = approver.Id, /* ... */); insert submitter; - Benutzereinrichtung vor hierarchieabhängiger Automatisierung einordnenWeisen Sie Manager als früheren Schritt zu, bevor ein Genehmigungsprozess oder Trigger, der von der Hierarchie abhängt, auslöst.
- Ausweichgenehmiger für Benutzer an der Hierarchiespitze hinzufügenKonfigurieren Sie den Genehmigungsprozess mit einem Standardgenehmiger, damit Benutzer ohne Manager trotzdem irgendwohin geroutet werden.
Wie Serpent das verhindert
Die Task-Einrichtung von Serpent kann Testbenutzer mit einer vollständigen Hierarchie vorbelegen, sodass Genehmigungsprozess-Tests, die von einer Manager-Kette abhängen, nicht aus einem Grund fehlschlagen, der nichts mit dem getesteten Code zu tun hat. Siehe die Bibliothek der Salesforce-Deployment-Fehler.

Prävention
Verwandte Fehler
MANAGER_NOT_DEFINED, beantwortet
Kostenlos starten. Keine Kreditkarte, keine Installation, keine Verpflichtung.
In unter 15 Minuten eingerichtet. Keine DevOps-Fachkraft nötig.
