2016-05-06 2 views
0

Я использую интеграцию SharePoint 2013 с продуктом своих компаний, чтобы загрузить набор документов с метаданными, а затем загрузить некоторые документы. У меня все эти функции работают правильно, за исключением обновления полей метаданных набора документов, для которых требуются поля MMS (управляемые метаданные).Sharepoint Обновление поля MMS DocumentSet

dim docSetUrl as string = "http://someurl/" 
Dim folder = Context.Web.GetFolderByServerRelativeUrl(docSetUrl) 
Context.Load(folder) 
Context.ExecuteQuery() 
folder.Properties.Item("GeoObject") = "test" 'Normal string content (updates correctly) 
folder.Properties.Item("Applicant") = "1353;#: Value A : REC-95342|9074b95b-9dcd-4c93-b548-32a5c7e7e083" 'Does not update correctly 
folder.Update() 
Context.ExecuteQuery() 

Теперь, как вы можете видеть из кода, я могу обновить GeoObject который только требует строкового значения, но для заявителя объекта, который является типом MMS, он просто не меняется (без ошибок).

Если я вхожу в SharePoint и вручную с помощью MMS, чтобы выбрать элемент, а затем проверить, что программно это значение: 353; #: Значение A: REC-95342 | 9074b95b-9dcd-4c93-b548-32a5c7e7e083, если я очищу значение вручную, а затем попытаюсь вернуть найденное значение, у меня все еще нет результата.

Как я могу обновить поле MMS?

Спасибо,

ответ

0

Я был в состоянии собрать это вместе через множество входных из различных источников. Такие, как https://unnieayilliath.com/2015/08/24/sharepoint-2013-updateclear-taxonomy-field-value-using-c-csom/

Dim value As TaxonomyFieldValue = New TaxonomyFieldValue() 
       value.WssId = -1 
       value.TermGuid = terms.First.Id.ToString 
       value.Label = terms.First.Name 

       Dim list As List = folder.ListItemAllFields.ParentList 
       Dim field As Field = list.Fields.GetByInternalNameOrTitle("Property") 

       Dim txField As TaxonomyField = Context.CastTo(Of TaxonomyField)(field) 

       txField.SetFieldValueByValue(folder.ListItemAllFields, value) 
       folder.ListItemAllFields.Update() 
       Context.Load(folder.ListItemAllFields) 
       Context.ExecuteQuery() 
Смежные вопросы