Procurar em todo o Office.com
 
Suporte / InfoPath / Ajuda e Procedimentos do InfoPath 2007 / Programabilidade
 
 

Criar um processador de eventos

Aplica-se a: Microsoft InfoPath 2007

 

Ao escrever um script para um modelo de formulário do Microsoft Office InfoPath, normalmente escreve código num dos modelos de formulário ou processadores de eventos de validação. Um processador de eventos é o código de função num modelo de formulário do InfoPath que responde a uma acção de utilizador ou a uma alteração aos dados XML num formulário. A forma de criar um processador de eventos depende do tipo de evento que pretende utilizar. É importante criar o processador de eventos no modo de estrutura uma vez que o InfoPath cria automaticamente as declarações dos processadores de eventos no ficheiro de scripts e coloca entradas no ficheiro de definição do formulário (.xsf) (ficheiro de definições de formulário: ficheiro XML com uma extensão .xsf que contém informações sobre todos os outros ficheiros e componentes utilizados num formulário, incluindo personalizações de interface de utilizador, esquemas XML, vistas, lógica empresarial, eventos e definições de implementação.) que permite que um modelo de formulário utilize esses processadores de eventos.

 Nota   Apesar de ser possível criar os processadores de eventos manualmente no ficheiro de scripts e, em seguida, activá-los manualmente adicionando os elementos apropriados ao ficheiro .xsf, tal não é recomendado. Se uma alteração inválida for efectuada ao ficheiro .xsf, o modelo de formulário poderá não ser utilizável.

A seguinte tabela lista cada um dos processadores de eventos do InfoPath e os passos para os criar. Quando cria um processador de eventos para um modelo de formulário, o InfoPath inicia o Microsoft Script Editor (MSE) (Microsoft Script Editor: utilizado para adicionar texto, editar tags de HTML e editar códigos do Microsoft Visual Basic Scripting Edition (VBScript) numa página de acesso a dados. Também é possível visualizar a página no editor de scripts tal como esta iria aparecer num browser.) e coloca o cursor no código relativo a esse processador de eventos. Em seguida, pode escrever o script para o processador de eventos. Para obter informações detalhadas sobre eventos e processadores de eventos do InfoPath, consulte o InfoPath Developer's Reference, disponível na Ajuda do MSE.

Processador de eventos Descrição Passos de criação
OnAfterChange Este evento é executado depois de um utilizador alterar o valor do controlo especificado associado a um campo. Por exemplo, pode apresentar um painel de tarefas HTML personalizado depois de um utilizador seleccionar um item num controlo de caixa de listagem. Este evento é executado após o evento OnValidate. Clique com o botão direito do rato no modelo de formulário ou num campo do painel de tarefas Origem de Dados, aponte para Programação no menu de atalho e, em seguida, clique em Evento OnAfterChange.
OnAfterImport Este evento é executado depois de o utilizador intercalar com êxito vários formulários num único. Adicione manualmente a declaração de processador de eventos OnAfterImport directamente no ficheiro de script utilizando MSE. Este processador de eventos não pode ser criado em modo de estrutura.
OnBeforeChange Este evento é executado depois de um utilizador alterar o valor de um controlo e antes desse valor ser adicionado ao campo específico associado a esse controlo. Por exemplo, pode impedir um utilizador de adicionar outra linha antes de preencher a última linha de uma tabela de repetição. Clique com o botão direito do rato no modelo de formulário ou num campo do painel de tarefas Origem de Dados, aponte para Programação no menu de atalho e, em seguida, clique em Evento OnBeforeChange.
OnClick Este evento é executado quando um utilizador clica num botão associado a este evento. Este evento está disponível depois de adicionar um botão ao modelo de formulário. Por exemplo, pode efectuar um cálculo complexo utilizando os valores de campos da origem de dados principal quando um utilizador clica no botão. Faça duplo clique no controlo de botão e, em seguida, no separador Geral da caixa de diálogo Propriedades do Botão, clique em Editar Código de Formulário.
OnContextChange Este evento é executado quando o foco é alterado no formulário. Por exemplo, este evento é executado quando um utilizador navega de uma caixa de texto para um seleccionador de data, ou quando um utilizador muda de vistas. Este evento ocorre depois de todos os outros eventos terem ocorrido. No menu Ferramentas, aponte para Programação e, em seguida, clique em Evento OnContextChange.
OnLoad Este evento é executado sempre que um utilizador cria um novo formulário ou abre um existente com base no modelo de formulário criado. Por exemplo, pode copiar uma lista de itens de uma origem de dados secundária quando um utilizador abre o formulário. No menu Ferramentas, aponte para Programação e, em seguida, clique em Evento OnLoad.
OnMergeRequest Este evento é executado quando são intercalados formulários baseados no modelo de formulário criado. Por exemplo, pode apresentar o número de formulários intercalados para fornecer a um utilizador um estado durante a operação de intercalação. No menu Ferramentas, clique em Opções de Formulário. Na lista Categoria, clique em Avançadas. Em Intercalar formulários, seleccione a caixa de verificação Intercalar utilizando código personalizado e, em seguida, clique em Editar.
OnSaveRequest Este evento é executado quando um utilizador guarda um formulário com base no modelo de formulário criado. Por exemplo, pode guardar o formulário com base neste modelo de formulário em mais do que um local quando um utilizador guarda o formulário. O InfoPath adiciona mais duas linhas de código a este evento: uma linha que guarda o formulário e outra linha que indica ao utilizador se o InfoPath guardou o formulário com êxito. No menu Ferramentas, clique em Opções de Formulário. Na lista Categoria, clique em Abrir e Guardar. Em Comportamento ao guardar, seleccione a caixa de verificação Guardar utilizando o código personalizado e, em seguida, clique em Editar.
OnSign Este evento é executado quando um utilizador aplica uma assinatura digital a um formulário. Por exemplo, pode adicionar mais dados à assinatura digital de um relatório de despesas quando um utilizador o assina. No menu Ferramentas, aponte para Programação e, em seguida, clique em Evento OnSign.
OnSubmitRequest Este evento é executado quando um utilizador submete os dados do formulário. Por exemplo, pode submeter os dados do formulário num serviço Web seguro quando o utilizador clica em Submeter no menu Ficheiro. Como o InfoPath não suporta uma ligação de dados a um serviço Web seguro, terá de adicionar uma ligação de dados personalizada que funcione com o serviço Web seguro. No menu Ferramentas, clique em Opções de Submeter. Seleccione a caixa de verificação Permitir que os utilizadores submetam este formulário, clique em Executar acção personalizada com Código e, em seguida, clique em Editar Código.
OnSwitchView Este evento é executado quando um utilizador abre um formulário baseado no modelo de formulário criado ou muda para outra vista do formulário. Por exemplo, quando um utilizador muda para uma vista específica, pode criar uma mensagem de correio electrónico que contém dados dos campos da origem de dados principal do formulário. No menu Ferramentas, clique em Programação e, em seguida, clique em Evento OnSwitchView.
OnValidate Este evento é executado quando um utilizador altera o valor num controlo associado a um campo. Por exemplo, quando um utilizador altera o valor de um controlo específico, pode calcular um novo valor para outro controlo utilizando o número introduzido pelo utilizador e um número que se encontre no script. Este evento ocorre após a execução do processador de eventos OnBeforeChange. Clique com o botão direito do rato num controlo do modelo de formulário ou num campo do painel de tarefas Origem de Dados, aponte para Programação no menu de atalho e, em seguida, clique em Evento OnAfterValidate.
OnVersionUpgrade Este evento é executado quando um utilizador abre um formulário existente e o número da versão do modelo de formulário utilizado pelo formulário existente é anterior ao número de versão do modelo de formulário do local de publicação. Quando um utilizador abre um formulário existente, o InfoPath verifica o número da versão do modelo de formulário associado ao formulário existente. Se o modelo de formulário tiver um número de versão mais recente, o InfoPath executará o processador de eventos OnVersion quando o utilizador abrir o formulário existente. Por exemplo, imagine que adiciona um novo campo a um modelo de formulário existente e que o volta a publicar, pretendendo que o novo campo seja adicionado à origem de dados principal se um utilizador abrir um formulário existente. Este evento adiciona o novo campo à origem de dados principal quando um utilizador abre um formulário existente. No menu Ferramentas, clique em Opções de Formulário. Na lista Categoria, clique em Controlo de Versão. Na lista Actualização da versão, clique em Utilizar evento personalizado e, em seguida, clique em Editar.