none
Tabela de Repetição no Infopath recebendo e enviando dados para 2 (duas) listas no Sharepoint 2010 RRS feed

  • Pergunta

  • Bom dia a todos,

    Sou novato no desenvolvimento do Sharepoint com Infopath e preciso de uma ajuda...

    Preciso criar um formulário (contendo uma tabela de repetição) no Infopath que receba e envie dados para duas listas no Sharepoint 2010.

    Por exemplo: 

    Tenho um formulário de "Pedido de Compra" onde um solicitante informa os dados do pedido e pode incluir vários itens para serem comprados.

    Imagino que a organização desse "Pedido de Compra" seria da seguinte forma.

    1) Em uma lista do Sharepoint chamada "Pedido de Compra", ficariam os campos sem repetição, como: ID, Solicitante, Data do Pedido, Avaliação do Diretor, ...

    2) Em outra lista do Sharepoint chamada "Itens do Pedido de Compra", ficariam os campos com repetição, como: ID do Pedido de Compra, Nome do Item, Unidade, Valor Unitário, Valor Total, ...

    Essas duas lista devem ser associadas através do Pedido de Compra.ID -> Itens do Pedido de Compra.ID do Pedido de Compra.

    Dúvida:

    Como relacionar no Infopath essas duas listas do Sharepoint, viabilizando o envio e recebimento de dados nas mesmas?

    Desde já agradeço a ajuda de todos.

    Obrigado!

    quarta-feira, 2 de maio de 2012 14:22

Todas as Respostas

  • Diogo,

    Qual a necessidade de guardar esses valores, já que o mesmo é guardado no próprio formulário?

    Abs,

    quarta-feira, 2 de maio de 2012 19:39
  • Boa tarde Rafael,

    Na verdade, nem todos os dados são possíveis guardar em uma única LISTA DO SHAREPOINT, visto que os "Itens do Pedido de Compra" são "valores dinâmicos" (chamo de dinâmico, pois nesse caso posso adicionar uma quantidade indeterminado de valores) no formulário.

    Observe que o que estou utilizando é uma LISTA DO SHAREPOINT e não uma BIBLIOTECA DE FORMULÁRIO.

    Porque não estou utilizando uma BIBLIOTECA DE FORMULÁRIO? Pois a mesma armazena os registros como um XML, e a minha intenção é armazená-las como uma lista, possibilitando futuramente uma melhor manipulação dos dados.

    Era isso mesmo que você queria saber?

    quarta-feira, 2 de maio de 2012 20:10
  • Bom dia Diogo,

    Como no formulário você pode adicionar uma quantidade indeterminada de valores, acho que o ideal seria utilizar mesmo o formulário infopath. Os dados estariam organizados e com uma boa apresentação.

    Abs,

    quinta-feira, 3 de maio de 2012 11:57
  • Continuo pesquisando pela internet, mas estou começando a achar que o Infopath não funciona com duas Listas do Sharepoint, só via Biblioteca de Formulários... =/

    quinta-feira, 3 de maio de 2012 18:02
  • Diogo,

    Acredito que vc não irá conseguir salvar em 2 locais diferentes o formulário, principalmente por ser um formulário de lista e não de biblioteca. Mas acredito que nenhum dos 2 irá trabalhar assim.

    A solução que encontrei a um tempo atrás foi fazer um event receiver para que ao salvar o formulário o evento salva os dados nas listas auxiliares. Atendeu muito bem a demanda do projeto.


    Atenciosamente,

    Fabian André Gehrke
    MCITP e MCPD SharePoint 2010
    http://fabiangehrke.com.br

    quinta-feira, 3 de maio de 2012 19:02
    Moderador
  • Fala Fabian!

    Não sei se eu consegui ser claro no que estou tentando fazer... 

    Estou anexando um diagrama afim de ajudar na compreensão do meu objetivo.

    A idéia é que o formulário no Infopath envie e receba os dados para duas Listas do Sharepoint, porém cada lista tem uma finalidade.

    A 1a lista, contém os dados "fixos" (estou chamando de fixo, pois esses dados não possuem repetição) do pedido de compra.

    A 2a lista, contém os dados "de repetição" (estou chamando de repetição, pois esses dados podem ter inúmeros valores) do pedido de compra.

    Porque estou separando esses dados do formulário? Pois dessa forma, futuramente, poderei fazer uma busca no BD e gerar relatórios e outros.

    E se eu enviar os dados do formulário para uma Biblioteca de Formulários, teria em cada registro dessa biblioteca um XML (referente a cada pedido de compra), assim dificultando a busca no BD para gerar os relatórios.

    Você entendeu o que estou objetivando?

    Por favor, você pode explicar melhor essa sua solução? O que você quer dizer com "listas auxiliares"?

    Obrigado!

    quinta-feira, 3 de maio de 2012 20:17
  • Diogo,

    Entendi o que vc quer fazer, a minha resposta continua a mesma.

    O que chamo de listas auxiliares são as listas que serão gravados os dados mesmo, essas suas 2 listas do seu desenho.

    Outra coisa, vc não vai conseguir buscar os dados do banco diretamente, quer dizer, conseguir até vai, mas vai ter trabalho e não recomendo. Recomendo utilizar as APIs do SharePoint para extrair dados.

    Se vc utilizar formulário InfoPath vc pode publicar os campos no SharePoint como colunas, o que facilita muito a sua vida. Dá uma olhada neste post: http://fabiangehrke.com.br/2011/06/11/publicando-formulrio-infopath-no-sharepoint/


    Atenciosamente,

    Fabian André Gehrke
    MCITP e MCPD SharePoint 2010
    http://fabiangehrke.com.br

    quinta-feira, 3 de maio de 2012 20:32
    Moderador
  • Fabian,

    Olhei seu link... e por acaso ele foi um dos primeiros que eu implementei aqui como teste. =]

    Essa solução via Biblioteca de Formulários (armazenando em XML) não era bem o que eu queria, mas se é a única solução (de forma mais simples) utilizando Infopath e Sharepoint...

    Vou verificar com meu gerente se pra ele serve dessa forma...

    Obrigado pela pronta resposta!

    quinta-feira, 3 de maio de 2012 21:10
  • Olá Diogo,

    A Microsoft disponibliza nos endereços abaixo o conceito de arquitetura, materiais e codigo pronto para esta ação que você prentende desenvolver.

    http://msdn.microsoft.com/en-us/library/ff961896.aspx

    http://office.microsoft.com/en-us/infopath-help/add-a-connection-to-receive-external-data-HA101821256.aspx

    http://blogs.msdn.com/b/infopath/archive/2007/01/15/populating-form-data-from-sharepoint-list-views.aspx

    Espero ter ajudado.


    Hezequias Vasconcelos

    sexta-feira, 4 de maio de 2012 16:05
    Moderador
  • Boa tarde, galera!

    Desculpem "pegar carona" no Thread, mas é uma dúvida simples:

    Quando uso tabela de repetição em um form e publico-o no Sharepoint, o sharepoint cria a lista apenas com os dados do primeiro item desta tabela.

    Pergunto, pois precisarei exportar essa lista criada com base nos formulários para o Excel, e serão necessário todos os dados inseridos na tabela de repetição.

    É possivel alterar isso?!

    Abs


    Obrigado, Everton


    • Editado almeida.eas segunda-feira, 7 de maio de 2012 18:55
    segunda-feira, 7 de maio de 2012 18:54
  • Almeida,

    Vc pode publicar o campo com separador enter, aí já fica melhor no Excel. Assim ao invés de publicar só o primeiro vai publicar todos mas separados por enter.

    Não conheço nenhuma forma de fazer ele publicar mais de uma linha por vez, acredito que não funcione. Outra alternativa seria fazer um event receiver, como sugeri acima, para dividir os registros. Fiz num projeto e atendeu muito bem.


    Atenciosamente,

    Fabian André Gehrke
    MCITP e MCPD SharePoint 2010
    http://fabiangehrke.com.br

    quinta-feira, 10 de maio de 2012 18:34
    Moderador
  • Boa tarde, Fábio!

    Não conhecia essa possibilidade. Ficaria igual àquele recurso de Multiline de um texbox em VBA?!

    abs!


    Obrigado, Everton

    quinta-feira, 10 de maio de 2012 18:38
  • Everton,

    Não sei se fica igual, não lembro como é um multiline num textbox em VBA. Testa a solução aí e veja se ajuda no seu problema ;).


    Atenciosamente,

    Fabian André Gehrke
    MCITP e MCPD SharePoint 2010
    http://fabiangehrke.com.br

    quinta-feira, 10 de maio de 2012 20:27
    Moderador
  • Bom dia Fabian!

    Aproveitando o assunto, gostaria de fazer uma pergunta:

    Tenho um formulário Infopath que possui dois campos (Caixa de Listagem Suspensa) vinculados à listas externas. Através do filtro de dados, consegui criar um "dropdownlist" em que o segundo campo só exibe o conteúdo de acordo com a primeira seleção.Até aí, td ok. O problema é q existe uma terceira lista que exibo através de uma tabela de repetição. Quando o formulário é aberto o está funcionando corretamente, mas qndo vou verificar um formulário já salvo, o conteúdo da tabela de repetição não aparece.

    O que devo fazer?

    Desde já, agradeço.

    quinta-feira, 10 de janeiro de 2013 10:45
  • Como setar o separador como "enter"?

    terça-feira, 29 de julho de 2014 14:35