2017-02-03 1 views
1

Я использую запрос соединения в sharepoint. но похоже, что я получаю сообщение об ошибке, когда получаю значение из списков Lookup.Значение не входит в ожидаемый диапазон с «Microsoft.SharePoint.Client.ServerException»,

Вот мой дизайн

  • Документ как тип библиотеки документов имеет идентификатор

    Id | DocLeafRef 
    ---+------------- 
    1 | Document A 
    2 | Document B 
    
  • список упражнения, имеет внешний ключ «e8_document», что ссылка на идентификатор документа

    Id | e8_document | Name 
    ---+-------------+----------- 
    1 | 1   | Activity A 
    2 | 1   | Activity B 
    3 | 1   | Activity C 
    4 | 2   | Activity D 
    

Вот результат, который мне нужно получить.

Id | e8_document | Name  | DocLeafRef 
---+-------------+-------------------------- 
1 | 1   | Activity A | Document A 
2 | 1   | Activity B | Document A 
3 | 1   | Activity C | Document A 
4 | 2   | Activity D | Document B 

Может кто-нибудь, пожалуйста, помогите мне в чем-то в моем запросе. Вот мой запрос

<View> 
    <ViewFields> 
    <FieldRef Name = 'DocLeafRef'/> 
    <FieldRef Name = 'ID'/> 
    <FieldRef Name = 'e8_document'/> 
    <FieldRef Name = 'Title'/> 
    <FieldRef Name = 'Author'/> 
    <FieldRef Name = 'Created'/> 
    </ViewFields> 
    <Joins> 
    <Join Type = 'INNER' ListAlias = 'Documents'> 
     <Eq> 
     <FieldRef Name ='e8_document' RefType = 'Id'/> 
     <FieldRef Name ='ID' List ='Documents'/> 
     </Eq> 
    </Join> 
    </Joins> 
    <ProjectedFields> 
    <Field ShowField ='FileLeafRef' Type ='Lookup' Name ='DocLeafRef' List ='Documents'/> 
    </ProjectedFields> 
    <Query> 
    <Where> 
     <Eq> 
      <FieldRef Name='e8_caseId'></FieldRef> 
      <Value Type = 'Number'>23</Value> 
     </Eq> 
    </Where> 
    </Query> 
</View> 

А вот исключение Value does not fall within the expected range

ответ

1

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

См. Документацию here.

только следующие типы полей могут быть включены в ProjectedFields элемент:

• Рассчитано (обрабатывается как обычный текст)

• ContentTypeId

• Счетчик

• Валюта

• ДатаTime

• Guid

• Integer

• Примечание (только одна линия)

• Число

• Текст

+0

Любой способ получить другие типы полей, которые ProjectedFields делает не поддерживаются как UniqueId (тип поиска) и FileLeafRef (тип файла)? –

+1

Вы можете использовать рабочий процесс, чтобы автоматически копировать требуемое значение поля в текстовое поле, а затем выставлять это текстовое поле в своей проекции. – Thriggle

+0

У вас есть пример? –

Смежные вопросы