Chcete zabránit tomu, aby uživatelé omylem upravili určitý dokument 4D Write Pro (úplně nebo částečně)? Máte zájem na tom, aby některé části dokumentu zůstaly nedotčeny(např. aby uživatelé mohli vyplnit pole ve smlouvě o mlčenlivosti a zároveň bylo zajištěno, že žádná z informací v dokumentu nebude nijak upravena nebo změněna)? Pokud přikyvujete hlavou, pak čtěte dál! Aplikace 4D v18 R3 vám umožňuje zachovat chráněné části dokumentů, nebo jinými slovy:„neupravitelné„.
V následujícím příkladu jsme vytvořili formulář pomocí dokumentu 4D Pro, kde jsou chráněné a nechráněné oblasti jasně identifikovatelné (zadatelné oblasti jsou zobrazeny bíle, neměnné oblasti šedě):
K definování ochrany v dokumentu se používají dva kroky:
- První krok – Definujte, která část dokumentu bude chráněna a která ne (ve výchozím nastavení budou chráněny všechny části).
- Druhý krok – Aktivujte příznak ochrany dokumentu tak, aby bylo zohledněno první nastavení.
Nové atributy
Jak postupovat? Nový příkaz není potřeba, protože byly vytvořeny dva nové atributy, které se používají se známým příkazem, WP SET ATTRIBUTES: wk protected a wk protection enabled. První atribut (wk protected) lze nastavit na téměř jakýkoli druh cíle patřícího do dokumentu(např. , odstavec, tabulka, oddíl, řádky v tabulce, ukotvené obrázky atd.). Dědičnost bude řízena, takže pokud chráníte oddíl, není třeba chránit odstavce tohoto oddílu, protože budou chráněny ve výchozím nastavení. Stojí však za zmínku, že uvnitř chráněného oddílu můžete také zrušit ochranu jednoho odstavce.
Mějte na paměti
Jediné, čemu musíte věnovat pozornost, je pořadí cílů … což dává smysl. Pokud například chráníte oddíl, můžete vždy zrušit ochranu odstavce uvnitř tohoto oddílu. Opačně to však neplatí. Pokud ochráníte odstavec a poté zrušíte ochranu oddílu, do kterého patří, ochrana odstavce se ztratí.
Ukázka kódu
Máte dokument, který musí být plně chráněn s výjimkou několika oblastí, které musí vyplnit koncový uživatel. Zde je návod, jak tento dokument nastavit:
// 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; "Jméno")
WP SET ATTRIBUTES ($range;wk protected;wk false)
$range :=WP Bookmark range(WParea; "Jméno")
WP SET ATTRIBUTES ($range;wk protected;wk false)
$range :=WP Bookmark range(WParea; "Město")
WP SET ATTRIBUTES (
$range;wk protected;wk false)
// Finally activate the document protection
Chcete-li vidět ukázku této funkce, podívejte se na výše uvedený HDI a dokumentaci.