2010-12-15 9 views
0

프로덕션 배포에서 다른 두 개의 숨겨진 필드를 참조하는 수식으로 구성된 계산 된 필드가 있습니다. 이것은 사용자가 실수로 목록의 데이터 시트보기에서 공식을 수정SharePoint 숨겨진 필드를 기반으로 계산 된 필드

=CONCATENATE(IF(#NAME="","0",#NAME),".",IF(#NAME="","0",#NAME)) 

아래와 같이 이제 수식이 손상되었습니다

=CONCATENATE(IF(_MajorVersion="","0",_MajorVersion),".",IF(_MinorVersion="","0",_MinorVersion)) 

버전

을 결정하기위한 약간의 논리와 간단한 연결을 당신의 경우 사전 손상된 버전이 공식을 대체, 그것을 저장, 다음과 같은 오류를 제공하지 않습니다

The formula refers to a column that does not exist. Check the formula for spelling mistakes or change the non-existing column to an existing column. at Microsoft.SharePoint.Library.SPRequestInternalClass.UpdateField(String bstrUrl, String bstrListName, String bstrXML) at Microsoft.SharePoint.Library.SPRequest.UpdateField(String bstrUrl, String bstrListName, String bstrXML)

열 _MajorVersion 및 _MinorVersion은 존재하지만, 다음과 같이 숨겨 정의됩니다

<Field SourceID="http://schemas.microsoft.com/sharepoint/3.0" ID="{GUID}" Name="_MajorVersion" StaticName="_MajorVersion" DisplayName="_MajorVersion" Group="ApplicationStuff" Type="Number" Required="FALSE" ReadOnly="FALSE" Sealed="FALSE" Hidden="TRUE" ShowInListSettings="FALSE" ShowInEditForm="FALSE" ShowInDisplayForm="FALSE" ShowInNewForm="FALSE" />

나는 재 다음은, 이러한 열을 볼 수 있도록 문제를 해결하는 기능을 배포 할 수 있습니다 알고, 그들을 숨 깁니다. 그러나 그 일을 이루기 위해 로트이 있습니다. 누구든지 코드를 배포하지 않고이를 수행 할 수있는 방법을 알고 있습니까? 또한 목록을 다시 만드는 것을 고려했지만이 목록에는 수천 개의 SPListItem이 있습니다.

의견을 보내 주시면 감사하겠습니다.

답변

1

수식을 저장하고 다시 숨기는 일종의 유틸리티를 사용하여 필드를 숨김 해제하십시오. 하지만 아마도 SPD 워크 플로우 나 이벤트 리시버와 같은 다른 방식으로 계산 된 필드를 채워야한다고 생각합니다.