Quer evitar que os utilizadores modifiquem acidentalmente um determinado documento 4D Write Pro (total ou parcialmente)? Está interessado em manter algumas partes de um documento intocadas(por exemplo , dando aos utilizadores a possibilidade de preencher os campos num acordo de não divulgação ao mesmo tempo que assegura que nenhuma das informações do documento é alterada ou alterada de alguma forma)? Se estiver a acenar com a cabeça, então continue a ler! 4D v18 R3 permite-lhe manter partes dos seus documentos protegidas, ou por outras palavras:“não editável“.
HDI: protecção de documentos 4DWP
No exemplo abaixo, criámos um formulário utilizando um documento 4D Pro onde as áreas protegidas e não protegidas são claramente identificáveis (áreas enteráveis mostradas em branco, áreas imutáveis mostradas em cinza):
São utilizadas duas etapas para definir a protecção num documento:
- Primeira etapa – Definir que parte do documento será ou não protegida (por defeito todas as partes serão protegidas).
- Segundo passo – Activar a bandeira de protecção do documento para que as primeiras definições sejam tidas em conta.
Novos atributos
Como proceder? Não é necessário um novo comando, porque foram criados dois novos atributos para serem utilizados com o conhecido comando, WP SET ATTRIBUTES: wk protected e wk protection enabled. O primeiro atributo (wk protected) pode ser definido para quase qualquer tipo de alvo pertencente a um documento(por exemplo, parágrafo, tabela, secção, linhas numa tabela, imagens ancoradas, etc.). A herança será gerida, portanto, se proteger uma secção, não há necessidade de proteger parágrafos desta secção, porque serão protegidos por defeito. No entanto, vale a pena notar que também se pode desproteger um único parágrafo dentro de uma secção protegida.
Tenha em mente que
A única coisa a que se deve prestar atenção é à ordem dos alvos … o que faz todo o sentido. Por exemplo, se proteger uma secção, pode sempre desproteger um parágrafo dentro dessa secção. Mas o oposto não é verdade. Se proteger um parágrafo e depois desproteger a secção a que pertence, a protecção do parágrafo será perdida.
Amostra de código
Tem um documento que deve ser totalmente protegido, excepto para algumas áreas que devem ser preenchidas pelo utilizador final. Veja aqui como criar este documento:
// 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; "Nome")
WP SET ATTRIBUTES ($range;wk protected;wk false)
$range :=WP Bookmark range(WParea; "Nome")
WP SET ATTRIBUTES ($range;wk protected;wk false)
$range :=WP Bookmark range(WParea; "Cidade")
WP SET ATTRIBUTES (
$range;wk protected;wk false)
// Finally activate the document protection
Para ver uma demonstração desta característica, consulte o IDH acima e a documentação.