$object.canWriteAttribute($attribute)
canWriteAttribute($object, $attribute)
Prüft, ob der aktuell angemeldete Nutzer das angegebene Attribut des angegebenen Objekts ändern darf, und liefert einen Wahrheitswert.
Dies ist das attributbezogene Gegenstück zu canWrite und der natürliche Schutz vor einem set: anstatt in den Berechtigungsfehler zu laufen, den set für ein nicht schreibbares Attribut auslöst, kann ein Skript zuerst prüfen und verzweigen. Die Funktion schlägt nie fehl und filtert nicht.
Die Prüfung erfolgt für den aktuell angemeldeten Nutzer und folgt denselben Regeln wie die implizite Berechtigungsprüfung: standardmäßige Verweigerung, Rollenvererbung entlang der Sicherheitshierarchie sowie Vollzugriff für Administratoren oder Ausführungen im Systemkontext.
| Name | Typ | Typbeschreibung | Pflicht | Standardwert |
|---|---|---|---|---|
| object | Fachobjekt | Das zu prüfende Objekt. | ja | |
| attribute | Attribut | Das Attribut (TLStructuredTypePart), dessen Schreibzugriff geprüft wird. | ja |
Typ: Wahrheitswert
true, wenn der aktuelle Nutzer das Attribut am Objekt ändern darf, sonst false.
if($contract.canWriteAttribute(`my.module:Contract#status`), $contract.set(`my.module:Contract#status`, "done"), null)
Ausgabe: Setzt den Status nur, wenn der angemeldete Nutzer dieses Attribut schreiben darf – andernfalls geschieht nichts, ohne Berechtigungsfehler.