Программно создать вид с несколькими типами контента - PullRequest
1 голос
/ 09 апреля 2011

У меня есть пользовательский список с 1 типом контента.Этот тип содержимого имеет родительский тип содержимого, из которого он наследуется.

Тип 1 имеет 3 поля:

Поле A, Поле B, Поле C

Тип 2 имеет 2 поляи наследует Тип 1:

Поле D, Поле E

Я программно создаю несколько видов.Когда я делаю это через пользовательский интерфейс SP, он прекрасно работает, не жалобы, но когда я делаю это в скрипте PowerShell, например, так:

$web = Get-SPWeb [Site URL]
$list = $web.Lists[ListName]

$list.Views.Add($viewName, $includeFieldsCollection, $query, 100, $true, $false)
$web.Dispose()

Где $ includeFieldsCollection - это все поля AE.

Я получаю сообщение об ошибке:

Exception calling "Add" with "6" argument(s): "Column 'Field A' does not exist. It may have been deleted by another user."

Как я могу сделать это в PowerShell?Он не хочет видеть столбцы, которые он получает из более высокой области видимости.Если я смотрю на интерфейс пользователя SP, они отображаются нормально.

Спасибо.

Редактировать: я должен исправить проблему.

Ответы [ 2 ]

0 голосов
/ 09 апреля 2011

Я хотел бы убедиться, что список, с которым я работаю, на самом деле использует правильный тип содержимого и поля. Вы можете проверить их, используя:

$list.fields | format-table

и

$list.contenttypes | format-table

0 голосов
/ 09 апреля 2011

Вы уверены, что имена столбцов, передаваемые в функцию powershell, являются внутренними именами?

http://msdn.microsoft.com/en-us/library/ms480493.aspx

Обычно пробелы заменяются на _x0200_

Field A would be Field_x0200_A
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...