Introdução ao envio de dados de formulário
Aplica-se a
Neste artigo
- Visão geral
- Enviar dados de formulário para um banco de dados access ou SQL Server
- Enviar dados de formulário para um serviço Web
- Enviar dados de formulário para um servidor em execução Microsoft Windows SharePoint Services
- Enviar dados de formulário em uma mensagem de email
- Enviar dados de formulário para um aplicativo em um servidor Web
- Enviando dados de formulário usando um arquivo de conexão de dados
- Enviando dados de formulário usando código
Visão geral
Quando você usa formulários do Microsoft Office InfoPath para coletar dados como parte de um processo comercial maior, esses dados geralmente não permanecem nos formulários preenchidos pelos usuários. Em vez disso, os dados do formulário são movidos do formulário para o próximo estágio no processo de negócios, geralmente para uma fonte de dados externa, como um banco de dados, serviço Web ou aplicativo em um servidor Web. Por exemplo, um funcionário pode usar o InfoPath para preencher um formulário de relatório de despesas e, em seguida, enviar esse formulário para um serviço Web em que o formulário pode ser processado.
Ao contrário de salvar um formulário, em que os usuários escolhem um local para armazenar seu formulário enquanto o preenchem, enviar um formulário envia os dados do formulário para um local específico que foi definido quando o modelo de formulário associado ao formulário foi projetado. Ao criar um modelo de formulário e habilitar o envio de formulários, você pode optar por fazer com que os dados inseridos no formulário sejam enviados aos seguintes locais:
- Um banco de dados do Microsoft Office Access ou microsoft SQL Server
- Um serviço Web
- Um servidor em execução Microsoft Windows SharePoint Services
- Em uma mensagem de email
- Um aplicativo em um servidor Web
- Um aplicativo personalizado que hospeda o InfoPath
Especificar onde você deseja que os dados em seus formulários sejam enviados pode aumentar a precisão e a eficiência dos processos empresariais, pois isso permite que você exerça mais controle sobre esses processos. Antes que os usuários possam enviar seus dados de formulário, o InfoPath garante que os dados nos formulários são válidos e permite que os usuários corrijam quaisquer dados inválidos. Esse recurso pode ajudar a garantir que apenas dados válidos sejam enviados para a fonte de dados externa.
Além de projetar seu modelo de formulário para permitir que os usuários enviem seus dados para um único local, você pode projetar seu modelo de formulário para que os usuários possam enviar seus dados de formulário para vários locais ao mesmo tempo. Por exemplo, você pode criar um modelo de formulário de relatório de despesas para que, quando os usuários enviam seus formulários concluídos, os dados dos formulários sejam enviados para um banco de dados e uma cópia de cada formulário concluído também seja enviada em uma mensagem de email para seu gerente.
Sempre que você cria um modelo de formulário que pode ser enviado a uma fonte de dados externa, o InfoPath ativa o comando Enviar no menu Arquivo, bem como o botão Enviar na barra de ferramentas Standard por padrão. Dependendo de suas necessidades, você pode optar por alterar o nome do comando Enviar . Além disso, você também pode inserir um botão diretamente no modelo de formulário que os usuários podem clicar para enviar seus dados de formulário após terminarem de preencher o formulário.
Você também pode configurar seu modelo de formulário para que um dos seguintes ocorra após o envio do formulário:
- O formulário existente fecha.
- O formulário existente fecha e um novo formulário em branco é aberto.
- O formulário existente permanece aberto.
Além disso, você pode escrever uma mensagem que aparece após os usuários enviarem seu formulário que especifica se o formulário foi enviado com êxito.
Enviar dados de formulário para um banco de dados access ou SQL Server
Os formulários InfoPath são frequentemente enviados a bancos de dados, seja para atualizar uma única tabela com um registro de cliente ou para cenários mais complicados, como modificar várias tabelas que são vinculadas em um modelo de formulário de relatório de despesas. Você pode projetar seu modelo de formulário no InfoPath para que ele possa ser enviado diretamente a um banco de dados access ou SQL Server sem exigir que você use script ou código personalizado. Você também pode enviar dados de formulário para outros tipos de bancos de dados usando código personalizado ou enviando o formulário para um serviço Web conectado a esse banco de dados.
Para enviar um formulário a um banco de dados Access ou SQL Server, você deve criar um modelo de formulário baseado nesse banco de dados. Isso garante que a fonte de dados do modelo de formulário corresponda à estrutura do banco de dados. Se você adicionar uma conexão de banco de dados a um modelo de formulário existente, os usuários não poderão enviar seus formulários concluídos para o banco de dados, pois a fonte de dados do formulário não corresponde à estrutura do banco de dados. Se o modelo de formulário não corresponder à estrutura do banco de dados, o InfoPath não poderá atualizar os campos corretos no banco de dados quando os dados são enviados.
Ao criar um modelo de formulário infopath baseado em um banco de dados, observe os seguintes problemas:
- Quando você conecta o modelo de formulário a mais de uma tabela no banco de dados, as tabelas devem ser conectadas por campos de chave.
- Tipos de dados longos, como imagens, objetos OLE, anexos de arquivo e tipos de dados do Access Memo ou SQL, devem ser excluídos da conexão de dados. O InfoPath não dá suporte a conexões de dados com esses tipos de dados longos. Para excluir campos específicos no banco de dados, use o Assistente de Conexão de Dados para configurar a conexão de dados.
Você pode determinar se um desses problemas se aplica lendo as informações na caixa Resumo na última página do Assistente de Conexão de Dados. O Resumo afirma se o envio de formulário está habilitado e, se ele estiver desabilitado, o Resumo explica por quê.
Depois de configurar a conexão de dados entre o modelo de formulário e o banco de dados, você poderá personalizar todas as outras opções de envio desejadas. Por exemplo, você pode alterar o texto que aparece no botão Enviar no modelo de formulário. Você também pode alterar as mensagens exibidas aos usuários para indicar se o formulário foi enviado com êxito e você pode especificar se deve manter o formulário aberto após o envio.
Enviar dados de formulário para um serviço Web
Se você usa um serviço Web para estabelecer um fluxo de trabalho para um processo de negócios ou como uma camada intermediária na parte superior do banco de dados, o InfoPath facilita a criação de modelos de formulário que interagem com um serviço Web. O InfoPath tem um Assistente de Conexão de Dados que orienta você durante o processo de conexão de modelos de formulário a um serviço Web.
Há dois métodos comuns de criar um modelo de formulário que envia formulários para um serviço Web:
- Conectar um modelo de formulário existente a um serviço Web
- Projetando um novo modelo de formulário baseado em um serviço Web
Com ambos os métodos, o InfoPath cria uma fonte de dados baseada no esquema do serviço Web. Isso permite que formulários baseados em um modelo de formulário enviem dados para o serviço Web.
Detalhes técnicos
Quando os usuários enviam um formulário para um serviço Web, o formulário é enviado como dados XML (Linguagem de Marcação Extensível) em um envelope SOAP. O envelope SOAP funciona como um parâmetro de entrada para a operação de serviço Web especificada. Você pode comparar isso com o envio de um formulário usando HTTP, o que resulta em um documento XML em uma solicitação HTTP POST.
Antes de conectar um modelo de formulário do InfoPath a um serviço Web, considere o seguinte:
- O InfoPath não pode se conectar a um serviço Web que usa o estilo codificado de chamada de procedimento remoto (RPC). Há suporte apenas para codificação literal de documento.
- Ao configurar um modelo de formulário para que seus formulários possam enviar dados para um serviço Web, você pode especificar que somente dados em determinados campos ou grupos podem ser enviados ou você pode enviar todos os dados no formulário.
Depois que a conexão de dados com o serviço Web for configurada, você poderá adicionar um botão Enviar ao modelo de formulário e personalizar todas as outras opções de envio desejadas.
Enviar dados de formulário para um servidor em execução Microsoft Windows SharePoint Services
Você pode criar um modelo de formulário que envia dados para um servidor que está executando Microsoft Windows SharePoint Services. Ao fazer isso, você pode armazenar e organizar todos os formulários de seus usuários em uma biblioteca de documentos. Além disso, seus usuários podem preencher formulários baseados no modelo de formulário diretamente da biblioteca de documentos. Eles também podem exportar dados de formulário para o Microsoft Office Excel ou mesclar os dados de vários formulários em um único formulário. Além disso, ao habilitar o envio de formulário diretamente para uma biblioteca de documentos, você pode preedefine os nomes de arquivo para os formulários, com valores estáticos, com valores baseados em dados no formulário ou usando uma fórmula.
Depois de configurar o modelo de formulário para permitir o envio de formulário para uma biblioteca de documentos do SharePoint, você pode adicionar um botão Enviar ao formulário e personalizar outras opções de envio, como o texto no botão Enviar , as mensagens exibidas ao usuário para indicar se o formulário foi enviado com êxito e se deve manter o formulário aberto após o envio.
Enviar dados de formulário em uma mensagem de email
Usar um programa de email é uma das maneiras mais fáceis e comuns de configurar um fluxo de trabalho para um processo de negócios. Você pode criar um modelo de formulário infopath que permite que os usuários cliquem em um botão Enviar na barra de ferramentas Standard ou no menu Arquivo para enviar seu formulário concluído como um anexo ou no corpo de uma mensagem de email. Os endereços de email, a linha de assunto e o nome do arquivo de anexo podem ser predefinidos quando você projeta seu modelo de formulário , com valores estáticos, com valores baseados em entradas no formulário ou usando uma fórmula. Por exemplo, você pode projetar seu modelo de formulário para que os formulários concluídos sejam enviados automaticamente em uma mensagem de email com uma linha de assunto predefinida para um endereço de email baseado em uma entrada no formulário. Além disso, com base nos dados que os usuários inserem no formulário, você pode definir nomes de arquivo dinâmicos para o formulário.
Para que os usuários enviem seus formulários como mensagens de email, eles devem ter o Microsoft Office Outlook 2003 ou o Microsoft Office Outlook 2007 instalados em seus computadores. Os usuários que preenchem formulários em um navegador da Web não precisam do Outlook para enviar seus formulários como uma mensagem de email.
Depois de configurar o modelo de formulário para permitir o envio do formulário em uma mensagem de email, você pode adicionar um botão Enviar à barra de ferramentas Standard e um comando Enviar para o menu Arquivo para o modelo de formulário e personalizar quaisquer outras opções de envio, como o texto que aparece no enviar botão, as mensagens exibidas ao usuário para indicar se o formulário foi enviado com êxito e se você deseja manter o formulário aberto após o envio.
Enviar dados de formulário para um aplicativo em um servidor Web
Se você tiver uma página ASP (Active Server Pages) existente ou outro código em um servidor Web que possa processar dados XML, você poderá projetar seu modelo de formulário para que os usuários possam enviar formulários concluídos para esse servidor Web usando o método HTTP POST. Quando você configura seu modelo de formulário para permitir que os usuários enviem seus formulários dessa forma, o InfoPath cria uma mensagem que inclui os dados do formulário e envia essa mensagem para o servidor Web. Ao criar um modelo de formulário para enviar dados a um servidor Web, você pode adicionar um botão Enviar ao modelo de formulário, especificar o texto que aparece no botão Enviar , personalizar as mensagens exibidas aos usuários para indicar se o formulário foi enviado com êxito e especificar se deve manter o formulário aberto após o envio.
Enviando dados de formulário usando um arquivo de conexão de dados
No Microsoft Office InfoPath 2007, você também tem a capacidade de criar um arquivo XML chamado arquivo de conexão de dados que inclui todas as configurações necessárias para uma conexão de dados. Você pode armazenar esse arquivo em uma biblioteca de conexão de dados em um site do Microsoft Office Servidor do SharePoint 2007 e criar vários modelos de formulário que usam o mesmo arquivo XML para configurar uma conexão de dados. Usar um arquivo de conexão de dados significa que, se algo com a conexão de dados for alterado , por exemplo, se o local da fonte de dados externa for alterado, você poderá atualizar o arquivo de conexão de dados uma vez, em vez de atualizar a conexão de dados em cada modelo de formulário individual. Todos os modelos de formulário que usam o arquivo de conexão de dados serão atualizados automaticamente com as novas configurações.
Um arquivo de conexão de dados pode conter configurações que determinam como os usuários podem enviar seus dados de formulário. Você pode criar um modelo de formulário para usar as configurações neste arquivo de conexão de dados. Depois de configurar o modelo de formulário para permitir o envio do formulário, você pode adicionar um comando Enviar ao menu Arquivo e um botão Enviar para a barra de ferramentas Standard no formulário baseado no modelo de formulário e, em seguida, personalizar quaisquer outras opções de envio, como o texto que aparece no enviar botão e comando, as mensagens exibidas para o usuário para indicar se o formulário foi enviado com êxito e se você deseja manter o formulário aberto após o envio.
Enviando dados de formulário usando código
Para criar funcionalidade avançada em seu modelo de formulário para enviar dados de formulário, você pode escrever código gerenciado usando o Microsoft Visual Basic .NET, o Microsoft Visual C# .NET ou um script. Por exemplo, você pode adicionar funcionalidade ao modelo de formulário que permite o envio de formulários a mais de um local ao mesmo tempo ou a uma fonte de dados externa que normalmente não tem suporte pelo InfoPath.
Dica
Se você não puder configurar o modelo de formulário para permitir que os usuários enviem seus formulários para uma fonte de dados externa usando as opções de conexão de dados do InfoPath, você poderá usar esse recurso para gravar sua própria implementação de uma conexão de dados com essa fonte de dados externa.