문제

InfoPath 양식에 다음 코드가 있습니다.모든 열은 사람 열을 제외하고 대상 목록에서 업데이트됩니다.VERIFIELYBY가 SP 목록에서 열을 업데이트하지 않습니다.(목록에서 이름을 표시해야 함).나는 심지어 AccoanID 대신 DisplayName을 시도했습니다.

누구든지 내가 무엇을 잘못하고 있는지 알려 주실 수 있습니다.미리 감사드립니다.

item["LoadDate"] = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:grpLoad/my:fldLoadDate", NamespaceManager).Value;
item["EndDate"] = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:grpLoad/my:fldEndDate", NamespaceManager).Value;
item["checkRequired"] = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:grpLoad/my:fldcRequired", NamespaceManager).Value;                                                                                                         
item["VerifiedBy"] = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:grpDaa/my:CheckedBy/pc:Person/pc:AccountId", NamespaceManager).Value;
.

도움이 되었습니까?

해결책

이것은 일했습니다.

item["VerifiedBy"] = web.EnsureUser(MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/m‌​‌​y:grpDaa/my:CheckedBy/pc:Person/pc:AccountId", NamespaceManager).Value);
.

다른 팁

[ID]와 같은 InfoPath 사용자를 포맷해야 할 수도 있습니다. # [사용자 이름]

어쩌면 같은 것입니다 ...

item["VerifiedBy"] = String.Format("{0};#{1}", MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:grpDaa/my:CheckedBy/pc:Person", NamespaceManager).Value), MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:grpDaa/my:CheckedBy/pc:Person/pc:AccountId", NamespaceManager).Value);
.

을 발견 한 몇 개의 자원이 있습니다.

다음 형식으로 올바른 문자열을 구성해야합니다. "[USERID]; # [DISPLAYNAME]"또는 SPFIELDUSERVALUE 클래스를 사용하십시오.

예 :

SPUser user = web.EnsureUser(MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/m‌​‌​y:grpDaa/my:CheckedBy/pc:Person/pc:AccountId", NamespaceManager).Value);
item["VerifiedBy"] = new SPFieldUserValue(web, user.ID, user.Name);
.

사용자가 사이트 모음에 추가되지 않은 경우 보장기 메소드에 대한 권한 문제가 발생할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top