Jaa


InfoPath-kentistä julkaistut sarakkeet luodaan uudelleen, kun sama InfoPath-lomakemalli julkaistaan uudelleen

Alkuperäinen KT-numero: 2554288

Oireet

Oletetaan seuraava tilanne:

  • Luo Office InfoPath -lomakemalli ja julkaise se tiedostokirjastossa SharePointissa. Kun julkaiset, valitset tietyt InfoPath-kentät julkaistavaksi sarakkeina tiedostokirjastossa. Kun olet julkaissut lomakemallin, päätät julkaista saman lomakemallin ja samat kentät toisessa tiedostokirjastossa samassa SharePoint-sivustossa.

  • Myöhemmin toteutat muutoksen InfoPath-lomakemallissa ja julkaiset lomakemallin uudelleen molempiin tiedostokirjastoihin samassa järjestyksessä kuin ensimmäisen julkaisun aikana.

Tässä skenaariossa kaikki InfoPath-kentistä julkaistujen tiedostokirjastojen sarakkeet luodaan uudelleen.

Tämän toimintosarjan aikana myös SharePoint-tiedostokirjastojen uudelleen luotujen sarakkeiden sisäinen nimi päivitetään, eli numero, joka alkaa numerolla 0 , on liitetty vanhaan sarakkeen nimeen. Esimerkiksi LastName-niminen sarake muuttuu Sukunimi0-sarakkeeksi.

Sarakkeiden virkistys on kaksivaiheinen prosessi:

  1. Sarake lisätään uudelleen SharePoint-kirjastoon.
  2. Sarakkeet, joita ei ole liitetty InfoPath-kenttiin, poistetaan.

Syy

InfoPath tallentaa SharePoint-tiedostokirjastoihin julkaistujen kenttien luettelon paikalliseen luettelotiedostoon sekä sarakkeet, joihin nämä kentät on liitetty. Tämä tehdään viittaamalla SharePointin saraketunnukseen (yksilöllinen GUID-arvo) InfoPath-kentässä.

Kun julkaiset päivitettyä InfoPath-lomakemallia SharePoint-tiedostokirjastoon toisen kerran, InfoPath tarkistaa, onko sarake, johon liittyvä tunnus liittyy, jo olemassa. Jos se ei löydä vastaavaa saraketta, tiedostokirjastoon luodaan uusi sarake. Kaikki sarakkeet, joita ei ole liitetty mihinkään InfoPath-kenttään, poistetaan tiedostokirjastosta.

Seuraavat toiminnot suoritetaan taustalla, kun julkaiset saman lomakemallin useisiin SharePoint-kirjastoihin:

  • Kun julkaiset lomakemallin ensimmäiseen kirjastoon ensimmäisen kerran, jokainen julkaistu sarake luodaan ja liitetään vastaavaan InfoPath-kenttään.

  • Kun julkaiset lomakemallin toiseen kirjastoon ensimmäisen kerran, InfoPath ei löydä tallennettuihin tunnuksiin liittyviä sarakkeita ja luo näin ollen uusia sarakkeita. Sen jälkeen se liittää uuden saraketunnuksen vastaavaan InfoPath-kenttään.

  • Kun julkaiset lomakemallin ensimmäiseen kirjastoon toisen kerran, InfoPath ei löydä tallennettuihin tunnuksiin liittyviä sarakkeita, sillä toisen kirjaston GUID-tunnukset liittyvät tällä hetkellä kenttiin. InfoPath luo uusia sarakkeita, jotka puolestaan saavat uudet tunnukset ja liittyvät InfoPath-kenttiin.

  • Tässä prosessissa on useita luotuja sarakkeita, joita ei ole liitetty mihinkään InfoPath-kenttään ja jotka poistetaan tiedostokirjastosta.

  • Tämä toistuu, kun julkaiset lomakemallin toiseen kirjastoon toisen kerran.

Huomautus

Tämä ongelma ei ilmene, jos InfoPath-lomakemalli julkaistaan sivuston sisältötyyppinä tai InfoPath-kenttiä julkaistaan sivustosarakkeina SharePointissa.

Ratkaisu

Voit estää tämän seuraavien menetelmien avulla:

  • Luo sivustosarake kullekin SharePoint-sivustossa julkaistavalle InfoPath-kentälle ja valitse aiemmin luodut sivustosarakkeet, kun julkaiset InfoPath-lomakemallin molempiin kirjastoihin.

    Koska sivustosarakkeiden tunnus ei muutu, InfoPathin ei tarvitse luoda aiemmin luotuja sarakkeita uudelleen.

  • Luo InfoPath-lomakemallista erillinen kopio, yksi kullekin SharePoint-tiedostokirjastolle. Tämä varmistaa, että InfoPath ei luo aiemmin luotuja sarakkeita uudelleen, sillä saraketunnukset eivät muutu.

    Tämän lähestymistavan haittana on, että sinun on toteutettava kaikki muutokset kaikissa käytössä oleissa lomakemallikopioissa.

Huomautus

Yleensä sen sijaan, että julkaiset InfoPath-lomakemallin kahdesti, suosittelemme julkaisemaan lomakemallin sivuston sisältötyyppinä ja liittämään sivuston sisältötyypin molempiin SharePoint-tiedostokirjastoihin.

Lisätietoja

Lisätietoja on ohjeaiheessa SharePoint-kirjaston sarakkeiden tai sivustosarakkeiden lisääminen, poistaminen tai muokkaaminen.