Sloupce publikované z polí aplikace InfoPath se znovu vytvoří při opětovném publikování stejné šablony formuláře aplikace InfoPath.
Původní číslo KB: 2554288
Příznaky
Zvažte následující příklad:
Vytvoříte šablonu formuláře aplikace Office InfoPath a publikujete ji do knihovny dokumentů v SharePointu. Během publikování vyberete určitá pole aplikace InfoPath, která se mají publikovat jako sloupce v knihovně dokumentů. Po publikování šablony formuláře se rozhodnete publikovat stejnou šablonu formuláře a stejná pole do jiné knihovny dokumentů na stejném sharepointovém webu.
Později implementujete změnu v šabloně formuláře aplikace InfoPath a šablonu formuláře znovu publikujete do obou knihoven dokumentů ve stejném pořadí jako při prvním publikování.
V tomto scénáři se znovu vytvoří všechny sloupce v knihovnách dokumentů, které byly publikovány z polí aplikace InfoPath.
Během tohoto postupu se aktualizuje také interní název znovu vytvořených sloupců v knihovnách dokumentů služby SharePoint, to znamená, že číslo začínající na 0 je doplněno o název starého sloupce. Například sloupec s názvem Příjmení se změní na Příjmení0.
Opětovné vytvoření sloupců je dvoustupňový proces:
- Sloupec se znovu přidá do sharepointové knihovny.
- Sloupce, které nejsou přidruženy k polím aplikace InfoPath, budou odebrány.
Příčina
Aplikace InfoPath ukládá seznam polí publikovaných do knihoven dokumentů služby SharePoint v místním manifestu spolu se sloupci, ke kterým jsou tato pole přidružena. Toho lze dosáhnout odkazem na ID sloupce v SharePointu (jedinečná hodnota GUID) pomocí pole InfoPathu.
Když publikujete aktualizovanou šablonu formuláře aplikace InfoPath do knihovny dokumentů služby SharePoint podruhé, aplikace InfoPath zkontroluje, jestli sloupec s přidruženým ID již existuje. Pokud odpovídající sloupec nenajde, vytvoří se v knihovně dokumentů nový sloupec. Všechny sloupce, které nejsou přidružené k žádnému z polí aplikace InfoPath, budou z knihovny dokumentů odstraněny.
Při publikování stejné šablony formuláře do více knihoven SharePointu se na pozadí provádějí následující operace:
Při prvním publikování šablony formuláře do první knihovny se vytvoří každý publikovaný sloupec, který je přidružen k odpovídajícímu poli aplikace InfoPath.
Při prvním publikování šablony formuláře do druhé knihovny aplikace InfoPath nenajde přidružené sloupce s uloženými ID, a proto vytvoří nové sloupce. Potom přidruží NOVÉ ID sloupce k odpovídajícímu poli aplikace InfoPath.
Když šablonu formuláře publikujete do první knihovny podruhé, aplikace InfoPath nenajde přidružené sloupce s uloženými ID, protože identifikátory GUID z druhé knihovny jsou aktuálně přidružené k polím. Aplikace InfoPath proto vytvoří nové sloupce, které následně získají nová ID a jsou přidružené k polím aplikace InfoPath.
V tomto procesu je vytvořeno mnoho sloupců, které nejsou přidruženy k žádnému z polí aplikace InfoPath a jsou odebrány z knihovny dokumentů.
Toto chování se opakuje při druhém publikování šablony formuláře do druhé knihovny.
Poznámka
K tomuto problému nedochází, pokud je šablona formuláře aplikace InfoPath publikovaná jako typ obsahu webu nebo pokud jsou pole aplikace InfoPath publikována jako sloupce webu v SharePointu.
Řešení
Existuje několik metod, jak tomu zabránit:
Vytvořte sloupec webu pro každé pole aplikace InfoPath, které se má publikovat na sharepointovém webu, a při publikování šablony formuláře aplikace InfoPath do obou knihoven vyberte předem vytvořené sloupce webu.
Vzhledem k tomu, že se ID sloupců webu nezmění, aplikace InfoPath nemusí znovu vytvářet existující sloupce.
Vytvořte samostatnou kopii šablony formuláře aplikace InfoPath, jednu pro každou knihovnu dokumentů služby SharePoint. Tím zajistíte, že aplikace InfoPath znovu nevytvoří existující sloupce, protože ID sloupců se nezmění.
Nevýhodou tohoto přístupu je, že potřebujete implementovat všechny změny ve všech kopiích šablon formulářů, které se používají.
Poznámka
Obecně platí, že místo dvojího publikování šablony formuláře aplikace InfoPath se doporučuje publikovat šablonu formuláře jako typ obsahu webu a přidružit typ obsahu webu k oběma knihovnám dokumentů služby SharePoint.
Další informace
Další informace najdete v tématu Přidání, odebrání nebo úprava sloupců sharepointové knihovny nebo sloupců webu.