2012-01-09 1 views
0

다른 departemnts가 업데이트 할 수 있어야하는 작업 양식이 있습니다. 겹침 및 손실 된 변경을 최소화하기 위해 새 양식의 데이터를 다른 목록에 제출할 수 있기를 원하지만이를 수행 할 방법을 찾을 수 없습니다.1 개 셰어 포인트 2007 목록 양식에서 여러 목록에 저장

비슷한 일을 시도한 경험이있는 사람이 있습니까?

답변

1

JQuery 및 서비스에 익숙하다면이 방법을 생각해 볼 수 있습니다.

EditForm.aspx에서 JQuery 및 SPServices 라이브러리를 추가하십시오. $. (document) .Ready 함수를 사용하면 SPServices를 사용하여 항목을 빠르게 업데이트하고 같은 데이터가있는 열을 복사하므로 변경 사항이 적용되지 않은 것으로 보입니다. 나는 편집 주석에 "[이름], [날짜 _ 시간]"에 Pseduo 체크 아웃과 같은 것을 추가 할 것입니다.

사용자가 정상적으로 양식을 편집 할 수있게하지만 추가 한 코드에서 사전 저장 작업을 트랩하고 저장하려고하는 사람이 마지막으로 수정 된 사람과 동일한 지 확인합니다. 정상적으로 저장하고, 그렇지 않으면 PreSave에서 false를 반환하고 거부됩니다. 실제로 저장을 허용하면 편집 주석을 의미있는 것으로 설정하십시오.

이 작업을 완료하려면 가상 체크 아웃을하기 전에 마지막 코멘트에 psuedo checkout 구문이 포함되어 있지 않은지 확인하여 누군가 다른 사람이 편집 중간에 양식을 열고 편집하는 것을 방지 할 수 있습니다.

이렇게하면 목록에 체크인/체크 아웃을 구현하는 것이 저렴하고 비교적 쉽습니다. 물론 완벽하지는 않지만 대부분의 시나리오에서 잘 작동해야합니다 (데이터 시트가 아니기 때문에 이러한 유형의 편집을 막아야 할 수도 있습니다).

+0

감사. 티켓과 같습니다. 나는 시도한 후에 다시 올게. – Calen

+0

이것은 개념적으로 말하면서 효과가있었습니다. 고마워. $(). SPServices ({operation : "UpdateListItems", – Calen

0

두 개의 목록이있는 경우 동일한 문제에 대해 두 가지 요청이있을 수 있습니다.

목록의 버전 제어 옵션으로 인해 잠재적으로 여러 동시 편집기의 문제점을 해결할 수 있습니까?

+0

실제로 가장 적합한 것이 무엇 공유 목록 항목에 대한 체크인/체크 아웃 시스템이지만 존재하지 않습니다. 이제는 목록 항목을 편집 할 때마다 항상 모든 사람이 동일한 항목을 편집하고 있습니다. 제안 된 각 하위 목록은 다른 부서를위한 것이므로 덮어 쓰기 가능성을 최소화하고 제거하지는 않습니다. – Calen

0

SPService는 확실히 해결책이지만 사용자는 자신의 UI를 만들어야합니다.

작성된 이벤트를 다른 목록에 즉시 복사 할 수있는 이벤트 수신기를 작성하십시오.

당신이 정말로 다른 목록에서 항목의 복사본을 갖고 싶어 이유를 말할 수 있다면 좋을 것 즉, 감사 목적 등, 당신은 포럼이을위한 완벽한 솔루션을 얻을 수 있습니다

+0

) $ (문서) ID : $ (this) .attr ("ID"), valuepairs : [[ "CheckedOutTo", varName]], completefunc : function (xData, Status)) 나는 그것을 얻었지만, 지정하는 대신 목록 항목의 ID를 가져와야하고 어떻게 할 수 없는지 알아낼 수 있습니다. {alert ("Checked Out"); – Calen

+0

nevermind, 얻었습니다 :'var varQueryStringVals = $(). SPServices.SPGetQueryString(); var varID = varQueryStringVals [ "ID"]; ' – Calen

관련 문제