Utilizar documentos 4D Write Pro como formulários de entrada

Tradução automática de Deepl

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.

Roland Lannuzel
- Proprietário do produto & Especialista 4D - Depois de estudar electrónica, a Roland entrou nas TI industriais como desenvolvedor e consultor, construindo soluções para clientes com uma variedade de bases de dados e tecnologias. No final dos anos 80, apaixonou-se pela 4D e utilizou-a para escrever aplicações comerciais que incluem sistemas de contabilidade, facturação e correio electrónico. Juntando-se à empresa em 1997, as valiosas contribuições de Roland incluem a concepção de especificações, ferramentas de teste, demonstrações, bem como formação e palestras para a comunidade 4D em muitas conferências. Ele continua a moldar activamente o futuro da 4D, definindo novas características e ferramentas de desenvolvimento de bases de dados.