Я пытаюсь получить элементы из списка, используя этот запрос:
query.Query =
@"<Where>
<And>
<And>
<Geq>
<FieldRef Name='Date' /><Value Type='DateTime' IncludeTimeValue='TRUE'>" + SPUtility.CreateISO8601DateTimeFromSystemDateTime(dateFrom) + @"</Value>
</Geq>
<Leq>
<FieldRef Name='Date' /><Value Type='DateTime' IncludeTimeValue='TRUE'>" + SPUtility.CreateISO8601DateTimeFromSystemDateTime(dateTo) + @"</Value>
</Leq>
</And>
<In>
<FieldRef Name='Employee' LookupId='TRUE' />
<Values>
<Value Type='int'>1</Value>
<Value Type='int'>3</Value>
</Values>
</In>
</And>
</Where>";
Во время выполнения я получаю следующее исключение: SPException: Один или несколько типов полей не установлены должным образом. Перейдите на страницу настроек списка, чтобы удалить эти поля в строке List.GetItems(query)
.
Если я изменю SPQuery следующим образом:
query.Query =
@"<Where>
<And>
<Geq>
<FieldRef Name='Date' /><Value Type='DateTime' IncludeTimeValue='TRUE'>" + SPUtility.CreateISO8601DateTimeFromSystemDateTime(dateFrom) + @"</Value>
</Geq>
<Leq>
<FieldRef Name='Date' /><Value Type='DateTime' IncludeTimeValue='TRUE'>" + SPUtility.CreateISO8601DateTimeFromSystemDateTime(dateTo) + @"</Value>
</Leq>
</And>
</Where>";
или это:
query.Query =
@"<Where>
<In>
<FieldRef Name='Employee' LookupId='TRUE' />
<Values>
<Value Type='int'>1</Value>
<Value Type='int'>3</Value>
</Values>
</In>
</Where>";
все работает отлично.