none
SPListItem.SystemUpdate メソッドを使用してModified By(更新者) フィールドを更新する方法について RRS feed

  • 質問

  • 現在イベントレシーバー(ItemUpdated)にてドキュメントライブラリ上のアイテムの属性を更新する処理を記述しておりますが、
    SystemUpdateメソッドを使用してModified By(更新者) フィールドが更新できず苦慮しております。

    どなたかSystemUpdateメソッドを使用してModified By(更新者) フィールドが更新する方法を
    ご存知の方がおりましたら、ご教示の程よろしくお願います。
    (参考までに私が記述しているソースの一部を記載させて頂きます)

    なお、SPListItem.Updateメソッドの使用も検討致しましたがロックなどの問題からSystemUpdateメソッドでの更新方法を探しております。

    ■ソースのサンプル---
    SPSecurity.RunWithElevatedPrivileges(delegate
    {
       <SPListItemオブジェクト>["更新者"] = <SPFieldUserオブジェクト>
       <SPListItemオブジェクト>.SystemUpdate();
    });
    ■--------------------

    ■環境
    Microsoft Office SharePoint Server 2007
    Visual Studio 2008

    2010年7月13日 8:02

回答

  • systemupdate 自体がそもそも「更新日時を更新しない」ためのメソッドですので、無理だと思います。 通常のupdateではいけない理由をよろしければお伺いできませんか?
    saruhiko @ SharePoint MANIACS あなたの SharePoint 活用できていますか?ちいさな「アドバイス」からご支援します。 http://sharepointmaniacs.com/sm_advservice.php
    • 回答としてマーク 山本春海 2010年7月30日 6:52
    2010年7月14日 13:56
  • ミもフタもない回避策ですが、デフォルトの更新者列とは別のユーザ情報列を設置し、 ユーザにはこれを見せる…のは如何ですか? これなら更新するしないをワークフロー側で自由に操作できます。
    saruhiko @ SharePoint MANIACS あなたの SharePoint 活用できていますか?ちいさな「アドバイス」からご支援します。 http://sharepointmaniacs.com/sm_advservice.php
    • 回答の候補に設定 山本春海 2010年7月23日 2:50
    • 回答としてマーク 山本春海 2010年7月30日 6:52
    2010年7月14日 13:59

すべての返信

  • systemupdate 自体がそもそも「更新日時を更新しない」ためのメソッドですので、無理だと思います。 通常のupdateではいけない理由をよろしければお伺いできませんか?
    saruhiko @ SharePoint MANIACS あなたの SharePoint 活用できていますか?ちいさな「アドバイス」からご支援します。 http://sharepointmaniacs.com/sm_advservice.php
    • 回答としてマーク 山本春海 2010年7月30日 6:52
    2010年7月14日 13:56
  • ミもフタもない回避策ですが、デフォルトの更新者列とは別のユーザ情報列を設置し、 ユーザにはこれを見せる…のは如何ですか? これなら更新するしないをワークフロー側で自由に操作できます。
    saruhiko @ SharePoint MANIACS あなたの SharePoint 活用できていますか?ちいさな「アドバイス」からご支援します。 http://sharepointmaniacs.com/sm_advservice.php
    • 回答の候補に設定 山本春海 2010年7月23日 2:50
    • 回答としてマーク 山本春海 2010年7月30日 6:52
    2010年7月14日 13:59