Второй сюрприз от неплохого типа – неверный перенос средствами экспорта/импорта настроек представления для содержимого набора документов. После импорта используется представление по умолчанию для библиотеки, а вовсе не то представление, которое было настроено до экспорта.
Исправляются последствия сюрприза использованием вот такого метода:
1: /// <summary>
2: /// Востановление представления стартовой страницы набора документов
3: /// </summary>
4: /// <param name="list">список/библиотека</param>
5: /// <param name="contentTypeName">Название типа содержимого</param>
6: /// <param name="viewName">имя представления</param>
7: private void ResetDocSetView(SPList list, string contentTypeName, string viewName) {
8: SPContentType contentType = null;
9: try { contentType = list.ContentTypes[contentTypeName]; } catch { }
10: if (contentType != null) {
11: DocumentSetTemplate docSetTemplate = DocumentSetTemplate.GetDocumentSetTemplate(contentType);
12: if ((docSetTemplate.WelcomePageView == null) (docSetTemplate.WelcomePageView.Title != viewName)) {
13: SPView view = list.Views.TryGetView(viewName);
14: if (view != null) {
15: docSetTemplate.WelcomePageView = view;
16: docSetTemplate.Update(true);
17: } else {
18: msgError +=
19: string.Format("В списке [{1}] отсутствует представление [{0}]", viewName, list.Title);
20: }
21: }
22: } else {
23: msgError +=
24: string.Format("В списке [{1}] отсутствует тип [{0}]", contentTypeName, list.Title);
25: }
26: }Technorati Tags: Sharepoint, DocumentSet