Möchten Sie verhindern, dass Benutzer versehentlich ein bestimmtes 4D Write Pro Dokument (ganz oder teilweise) ändern? Sind Sie daran interessiert, einige Teile eines Dokuments unberührt zu lassen(z. B. den Benutzern die Möglichkeit zu geben, Felder in einer Geheimhaltungsvereinbarung auszufüllen und gleichzeitig sicherzustellen, dass keine der Informationen im Dokument in irgendeiner Weise verändert werden)? Wenn Sie mit dem Kopf nicken, dann lesen Sie weiter! Mit 4D v18 R3 können Sie Teile Ihrer Dokumente schützen, oder anders ausgedrückt:„nicht editierbar„.
Im folgenden Beispiel haben wir ein Formular mit einem 4D Pro Dokument erstellt, bei dem die geschützten und ungeschützten Bereiche klar erkennbar sind (eingabebereite Bereiche in weiß, nicht veränderbare Bereiche in grau):
Um den Schutz in einem Dokument zu definieren, werden zwei Schritte verwendet:
- Erster Schritt – Definieren Sie, welcher Teil des Dokuments geschützt werden soll oder nicht (standardmäßig werden alle Teile geschützt).
- Zweiter Schritt – Aktivieren Sie das Dokumentschutzkennzeichen, damit die ersten Einstellungen berücksichtigt werden.
Neue Attribute
Wie kann man vorgehen? Ein neuer Befehl ist nicht erforderlich, denn es wurden zwei neue Attribute geschaffen, die mit dem bekannten Befehl WP SET ATTRIBUTES verwendet werden können: wk protected und wk protection enabled. Das erste Attribut (wk protected) kann auf fast jede Art von Ziel gesetzt werden, das zu einem Dokument gehört(z. B. Absatz, Tabelle, Abschnitt, Zeilen in einer Tabelle, verankerte Bilder usw.). Die Vererbung wird verwaltet, d. h. wenn Sie einen Abschnitt schützen, brauchen Sie die Absätze dieses Abschnitts nicht zu schützen, da sie standardmäßig geschützt sind. Allerdings können Sie den Schutz eines einzelnen Absatzes innerhalb eines geschützten Abschnitts auch wieder aufheben.
Behalten Sie im Hinterkopf
Das Einzige, worauf Sie achten müssen, ist die Reihenfolge der Ziele … was durchaus sinnvoll ist. Wenn Sie z. B. einen Abschnitt schützen, können Sie den Schutz eines Absatzes innerhalb dieses Abschnitts jederzeit aufheben. Das Gegenteil ist jedoch nicht der Fall. Wenn Sie einen Absatz schützen und dann den Schutz des Abschnitts, zu dem er gehört, aufheben, geht der Schutz des Absatzes verloren.
Code-Beispiel
Sie haben ein Dokument, das bis auf einige Bereiche, die vom Endbenutzer ausgefüllt werden müssen, vollständig geschützt werden muss. So richten Sie dieses Dokument ein:
// set full parts of document protected
WP SET ATTRIBUTESWP SET ATTRIBUTESWPareawk protection enabledwk true(WParea;wk protected;wk true)
// then remove protection on three ranges based on bookmarks
$range :=WP Bookmark range(WParea; "Name")
WP SET ATTRIBUTES ($range;wk protected;wk false)
$range :=WP Bookmark range(WParea; "Vorname")
WP SET ATTRIBUTES ($range;wk protected;wk false)
$range :=WP Bookmark range(WParea; "Stadt")
WP SET ATTRIBUTES (
$range;wk protected;wk false)
// Finally activate the document protection
Eine Demonstration dieser Funktion finden Sie in der obigen HDI und in der Dokumentation.