2013-10-01 2 views
0

В настоящее время я работаю над приложением Windows, которое будет использоваться для переноса данных из старой системы в список SharePoint.Добавление элементов списка с использованием объектной модели клиента

Для этого я обращаюсь к объектной модели клиента и использую ее для создания новых элементов списка и обновления соответствующих значений полей.

Проблема, с которой я сталкиваюсь, заключается в том, что некоторые из значений полей обновляются, а некоторые нет. Кажется, что некоторые из полей Choice не сохраняют переданные значения ... даже поле Title не сохраняет значение. Исследование показало, что поля «Выбор» с проблемами - это сочетание переключателей и нескольких вариантов выбора.

Код, который я использую, приведен ниже. Может ли кто-нибудь пролить свет на то, почему эти проблемы происходят?

Спасибо.

КОД:

   strDtls = Split(strData, "~^") 
       Dim inf As New ListItemCreationInformation() 
       Dim itmProfile As ListItem = lstProfile.AddItem(inf) 
       itmProfile.Update() 
       ctx.ExecuteQuery() 
       strID = itmProfile.ID.ToString 
       itmProfile.Item("Title") = strDtls(0) 
       itmProfile.Item("Category") = strDtls(1) 
       itmProfile.Item("Jurisdiction") = "Federal" 
       itmProfile.Item("Other_x0020_Jurisdiction") = strDtls(3) 
       itmProfile.Item("Practice_x0020_Group") = "Banking & Finance" 
       dteTmp = Date.ParseExact(strDtls(5),"dd/MM/yyyy",System.Globalization.CultureInfo.InvariantCulture) 
       itmProfile.Item("Last_x0020_Reviewed_x0020_Date") = dteTmp 
       itmProfile.Item("Format") = "Tab through" 
       itmProfile.Item("Format_x0020_specification") = strDtls(7) 
       If strDtls(8) = "" then 
        usrTmp = oWeb.EnsureUser("ORG\55276") 
       else 
        usrTmp = oWeb.EnsureUser("ORG\44778") 
       End If 
       ctx.Load(usrTmp) 
       ctx.ExecuteQuery() 
       usrVal1 = New FieldUserValue() 
       usrVal1.LookupId = usrTmp.Id 
       itmProfile.Item("Author0") = usrVal1 
       If strDtls(9) = "" then 
        usrTmp2 = oWeb.EnsureUser("ORG\55276") 
       else 
        usrTmp2 = oWeb.EnsureUser("ORG\" + strDtls(9)) 
       End If 
       ctx.Load(usrTmp2) 
       ctx.ExecuteQuery() 
       usrVal2 = New FieldUserValue() 
       usrVal2.LookupId = usrTmp2.Id 
       itmProfile.Item("Partner_x0020_Responsible") = usrVal2 
       itmProfile.Item("NewColumn1") = strDtls(10) 
       itmProfile.Item("Engagement_x0020_type") = strDtls(11) 
       itmProfile.Item("NewColumn10") = strDtls(12) 
       itmProfile.Item("Audit_x0020_frequency") = strDtls(13) 
       itmProfile.Item("Royalty") = strDtls(14) 
       itmProfile.Item("Audit_x0020_frequency_x0020_appr") = strDtls(15) 
       dteTmp = Date.ParseExact(strDtls(16),"dd/MM/yyyy",System.Globalization.CultureInfo.InvariantCulture) 
       itmProfile.Item("Next_x0020_review_x0020_due") = dteTmp 
       itmProfile.Item("Archive") = strDtls(17) 
       itmProfile.Item("Drafted_x0020_by") = strDtls(18) 
       itmProfile.Item("Partner_x0020_signoff") = strDtls(19) 
       itmProfile.Item("Style_x0020_guide_x0020_complian") = strDtls(20) 
       itmProfile.Item("Client") = strDtls(21) 
       itmProfile.Item("Form_x0020_Details") = strDtls(22) 
       itmProfile.Item("Description") = strDtls(24) 
       itmProfile.Item("Reference") = strDtls(25) 
       itmProfile.Update() 
       ctx.Load(itmProfile) 
       ctx.ExecuteQuery() 

ответ

0

я в конечном итоге получить вокруг этого, работая, как использовать объектную модель сервера при запуске приложения на самом SP сервере.

Он включал доступ к серверу с использованием SPFarm.Local, SPFarm.Services, SPWebApplication и последующего доступа к сайту.

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