Aracılığıyla paylaş


InfoPath alanlarından yayımlanan sütunlar, aynı InfoPath form şablonu yeniden yayımlandığında yeniden oluşturulur

Özgün KB numarası: 2554288

Belirtiler

Aşağıdaki senaryoyu inceleyin:

  • Office InfoPath form şablonu oluşturup SharePoint'teki belge kitaplığında yayımlayabilirsiniz. Yayımlama sırasında, belge kitaplığında sütun olarak yayımlanacak bazı InfoPath alanlarını seçersiniz. Form şablonunu yayımladıktan sonra, aynı form şablonunu ve aynı alanları aynı SharePoint sitesindeki farklı bir belge kitaplığında yayımlamaya karar verirsiniz.

  • Daha sonra InfoPath form şablonunda bir değişiklik uygular ve form şablonunu ilk yayımlama sırasında yaptığınız sırayla her iki belge kitaplığına da yeniden yayımlarsınız.

Bu senaryoda, InfoPath alanlarından yayımlanan belge kitaplıklarındaki tüm sütunlar yeniden oluşturulur.

Bu yordam sırasında, SharePoint belge kitaplıklarında yeniden oluşturulan sütunların iç adı da güncelleştirilir; yani 0 ile başlayan bir sayısal, eski sütun adına son eklenmiştir. Örneğin, LastName adlı bir sütun LastName0 olarak değişir.

Sütunların rekreasyonu iki adımlı bir işlemdir:

  1. Sütun SharePoint kitaplığına yeniden eklenir.
  2. InfoPath alanlarıyla ilişkilendirilmiş olmayan sütunlar kaldırılır.

Neden

InfoPath, SharePoint belge kitaplıklarında yayımlanan alanların listesini, bu alanların ilişkilendirildiği sütunlarla birlikte yerel bir bildirimde depolar. Bu, SharePoint'teki sütun kimliğine (benzersiz bir GUID değeri) InfoPath alanıyla başvurarak gerçekleştirilir.

Güncelleştirilmiş InfoPath form şablonunu bir SharePoint belge kitaplığına ikinci kez yayımladığınızda, InfoPath ilişkili kimliği içeren sütunun zaten var olup olmadığını denetler. İlgili sütunu bulamazsa, belge kitaplığında yeni bir sütun oluşturulur. InfoPath alanlarından herhangi biriyle ilişkilendirilmiş olmayan tüm sütunlar belge kitaplığından silinir.

Aynı form şablonunu birden çok SharePoint kitaplığına yayımladığınızda aşağıdaki işlemler arka planda gerçekleştirilir:

  • Form şablonunu ilk kez ilk kitaplığa yayımladığınızda, yayımlanan her sütun oluşturulur ve ilgili InfoPath alanıyla ilişkilendirilir.

  • Form şablonunu ikinci kitaplığa ilk kez yayımladığınızda, InfoPath depolanan kimliklerle ilişkili sütunları bulmaz ve bu nedenle yeni sütunlar oluşturur. Ardından yeni sütun kimliğini ilgili InfoPath alanıyla ilişkilendirir.

  • Form şablonunu ikinci kez ilk kitaplığa yayımladığınızda, ikinci kitaplıktan guid'ler şu anda alanlarla ilişkilendirildiğinden InfoPath depolanan kimliklerle ilişkili sütunları bulmaz. Bu nedenle InfoPath, yeni kimlikler alan ve InfoPath alanlarıyla ilişkilendirilen yeni sütunlar oluşturur.

  • Bu işlemde, InfoPath alanlarının hiçbiriyle ilişkilendirilmemiş ve belge kitaplığından kaldırılmış birçok sütun oluşturulur.

  • Form şablonunu ikinci kez ikinci kitaplığa yayımladığınızda bu davranış yinelenir.

Not

InfoPath form şablonu site içerik türü olarak yayımlanıyorsa veya InfoPath alanları SharePoint'te site sütunları olarak yayımlanıyorsa bu sorun oluşmaz.

Çözüm

Bunun olmasını önlemek için birkaç yöntem vardır:

  • SharePoint sitesinde yayımlanacak her InfoPath alanı için bir site sütunu oluşturun ve InfoPath form şablonunu her iki kitaplıkta yayımlarken önceden oluşturulmuş site sütunlarını seçin.

    Site sütunlarının kimliği değişmeyeceği için InfoPath'in mevcut sütunları yeniden oluşturması gerekmez.

  • InfoPath form şablonunun, SharePoint belge kitaplıklarının her biri için birer tane olmak üzere ayrı bir kopyasını oluşturun. Bu, sütun kimlikleri değişmeyeceği için InfoPath'in mevcut sütunları yeniden oluşturmamasını sağlar.

    Bu yaklaşımın dezavantajı, kullanımda olan tüm form şablonu kopyalarındaki tüm değişiklikleri uygulamanız gerektiğidir.

Not

Genel olarak InfoPath form şablonunu iki kez yayımlamak yerine önerilen yaklaşım, form şablonunu site içerik türü olarak yayımlamak ve site içerik türünü her iki SharePoint belge kitaplığıyla ilişkilendirmektir.

Daha fazla bilgi

Daha fazla bilgi için bkz. SharePoint kitaplık sütunlarını veya site sütunlarını ekleme, kaldırma veya değiştirme.