2010-12-15 21 views
0

実稼働環境では、2つの他の非表示フィールドを参照する数式で構成される計算フィールドがあります。これは、バージョン別の非表示フィールドに基づくSharePoint計算フィールド

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

ユーザーが誤ってリストのデータシートビューで式を変更した場合

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

下に示すように、今式が破損しているを決定するために少しロジックを持つ単純な連結したものです事前に破損したバージョンと、この式を置き換え、それは保存し、次のエラーを与えません

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のワークフローやイベントレシーバなど、いくつかの方法で計算されたフィールドを埋めるべきだと思います。

関連する問題