Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Исходный номер базы знаний: 2554288
Симптомы
Рассмотрим следующий сценарий:
Вы создаете шаблон формы Office InfoPath и публикуете его в библиотеке документов в SharePoint. Во время публикации вы выбираете определенные поля InfoPath для публикации в виде столбцов в библиотеке документов. После публикации шаблона формы вы решите опубликовать один и тот же шаблон формы и те же поля в другой библиотеке документов на одном сайте SharePoint.
Позже вы реализуете изменение шаблона формы InfoPath и повторно публикуете шаблон формы в обоих библиотеках документов в том же порядке, что и во время первой публикации.
В этой ситуации все столбцы из библиотек документов, которые были созданы на основе данных, опубликованных из полей InfoPath, воссоздаются.
Во время этой процедуры внутреннее имя повторно создаваемых столбцов в библиотеках документов SharePoint также обновляется, то есть числовое значение, начиная с 0 , суффиксируется в старое имя столбца. Например, столбец с именем LastName изменяется на LastName0.
Восстановление столбцов представляет собой двухэтапный процесс:
- Столбец снова добавляется в библиотеку SharePoint.
- Столбцы, которые не связаны с полями InfoPath, удаляются.
Причина
InfoPath хранит список полей, опубликованных в библиотеках документов SharePoint в локальном манифесте, а также столбцы, к которым связаны эти поля. Это достигается путем сопоставления идентификатора столбца SharePoint (уникальное значение GUID) с полем InfoPath.
При публикации обновленного шаблона формы InfoPath в библиотеку документов SharePoint во второй раз InfoPath проверяет, существует ли столбец с соответствующим идентификатором. Если он не находит соответствующий столбец, в библиотеке документов создается новый столбец. Все столбцы, не связанные с полями InfoPath, удаляются из библиотеки документов.
Следующие операции выполняются в фоновом режиме при публикации одного шаблона формы в нескольких библиотеках SharePoint:
При публикации шаблона формы в первую библиотеку каждый опубликованный столбец создается и связан с соответствующим полем InfoPath.
При первом публикации шаблона формы во второй библиотеке InfoPath не находит связанные столбцы с сохраненными идентификаторами и поэтому создает новые столбцы. Затем он связывает новый идентификатор столбца с соответствующим полем InfoPath.
При публикации шаблона формы в первую библиотеку во второй раз InfoPath не находит связанные столбцы с сохраненными идентификаторами, так как идентификаторы GUID из второй библиотеки в настоящее время связаны с полями. Поэтому InfoPath создает новые столбцы, которые, в свою очередь, получают новые идентификаторы и связаны с полями InfoPath.
В этом процессе существует множество столбцов, которые не связаны ни с какими полями InfoPath и удаляются из библиотеки документов.
Это поведение повторяется при публикации шаблона формы во второй библиотеке во второй раз.
Замечание
Эта проблема не возникает, если шаблон формы InfoPath публикуется как тип контента сайта или поля InfoPath публикуются как столбцы сайта в SharePoint.
Резолюция
Существует несколько методов, чтобы предотвратить это:
Создайте столбец сайта для каждого поля InfoPath для публикации на сайте SharePoint и выберите предварительно созданные столбцы сайта при публикации шаблона формы InfoPath в обе библиотеки.
Так как идентификатор столбцов сайта не изменится, InfoPath не требует повторного создания существующих столбцов.
Создайте отдельную копию шаблона формы InfoPath, по одному для каждой библиотеки документов SharePoint. Это гарантирует, что InfoPath не будет повторно создавать существующие столбцы, так как идентификаторы столбцов не изменятся.
Недостатком этого подхода является то, что необходимо реализовать все изменения во всех копиях шаблона формы, которые используются.
Замечание
Как правило, вместо публикации шаблона формы InfoPath рекомендуется опубликовать шаблон формы в качестве типа контента сайта и связать тип контента сайта с библиотеками документов SharePoint.
Дополнительные сведения
Дополнительные сведения см. в разделе "Добавление, удаление" или изменение столбцов библиотеки SharePoint или столбцов сайта.