Как обновить элемент списка SharePoint без идентификатора столбца - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь обновить статус, зарегистрированный в списке SharePoint.Сделал поиск в Google, обнаружил, что большинство примеров используют столбец идентификатора, чтобы найти элемент списка, но в моем списке нет такого столбца, только вход в систему Windows и столбцы состояния.Мне интересно, как будет выглядеть XML?

Это то, что я придумал, но оно не работает:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
  <UpdateListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">       
    <listName>SPUsers</listName>
    <updates>
      <Batch PreCalc='TRUE' OnError='Continue'>
        <Method ID="1" Cmd="Update">
          <Field Name="ID">ABC</Field>
          <Field Name="ItemStatus">Completed?ID=ABC</Field>
        </Method>
      </Batch>
    </updates>
  </UpdateListItems>
</soapenv:Body>
</soapenv:Envelope>

Это результат:

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
  <UpdateListItemsResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/">
    <UpdateListItemsResult>
      <Results>
        <Result ID="1,Update">
          <ErrorCode>0x80004005</ErrorCode>
          <ErrorText>Cannot complete this action.  Please try again.</ErrorText> 
        </Result>
      </Results>
    </UpdateListItemsResult>
  </UpdateListItemsResponse>
</soap:Body>
</soap:Envelope>

Есть идеи, что пошло не так?

Спасибо.

Ответы [ 2 ]

1 голос
/ 26 июня 2019

SharePoint автоматически сгенерирует идентификатор элемента списка, вид по умолчанию просто не отображает поле идентификатора, вы можете перейти к настройкам вида списка, чтобы показать поле, чтобы вы могли знать идентификатор.

enter image description here

1 голос
/ 26 июня 2019

Я считаю, что все элементы списка в SharePoint получают автоматически сгенерированный идентификатор. Я бы использовал представление списка или вытащил элементы списка, чтобы увидеть, существует ли идентификатор.

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