SharePointの予定表リストで怪しい動きを見つけました。これ、あきらかにおかしい。。。予定表リストには最初から開始時刻、終了時刻というフィールドがあります。ここにたとえば「集合時間」といったような感じで新しい日付フィールドを追加します。そして、下図の赤枠のように「集合時間」を入力し、「終日」をチェックします。そしてこの状態でアイテムを保存し、その後保存したアイテムを開きます。
このとき、「集合時間」は最初に入力した通りの値を保持しています。当たり前ですが・・・そしてこのアイテムを編集しようと、編集ページを開くと・・・あら不思議!「集合時間」が変わってしまいました!なぜかマイナス9時間になっています。そのあとこれをこのまま保存してもう一度編集ページで開くと、さらにマイナス9時間されて5時になってしまいました。さらに保存して編集ページで開くと、日付は変わらず時間だけが日付を超え、20時になりました。マイナス9時間されているところから、ロケールの問題(日本はグリニッジ時間の+9時間)あたりが絡んでいそうな気がします。これって仕様ってことはないですよね
公開 2008年11月7日 2:36 投稿者 おりば~ず
ご無沙汰しております。
まったくの偶然ですが、私も今日ほぼ同じ原因かと思われる不具合を発見しました。
SPDatasourceで予定表のデータを取得してみると、終日イベントの作成日時、更新日時が9時間マイナスされていました。
登録されたデータ自体がおかしいのは、SPDのデータソースライブラリなどから直接見てみてもわかります。
DispFormのフッタでは正常に表示されているのがニクイですね。
さてどうしよう・・・
tatsuki
tatsukiさん
なんと、作成日と更新日もでしたか。
気付かなかったです。
とりあえずMSに報告してみますよ。
しかしどうやって対処しましょうね。。。
おりば~ず
たびたびすみません。
SharePoint MANIACSさんの方で、EditFormの問題だという流れですので、訂正させてください。
私の方はEditFormを経なくても発生しますので、原因が違うかもしれません。
私の発見した不具合はのは以下の手順で発生します。
1.終日でないイベント「朝礼」と終日イベント「運動会」を登録
2.「全てのアイテム」ビューに「更新日」と「作成日」を追加して表示
(ここまで何も不具合なし)
3.SPDのデータソースの管理からデータソースライブラリを表示し、
その予定表のデータソースの詳細(データ)をSPD上で表示
4.すると「朝礼」の「更新日&作成日」は-9時間されたUTCですが、
「運動会」は-18時間されています。
5.SPDから「全てのアイテムビュー」をXSLTビューに変換すると、
ブラウザからも「運動会」の「更新日&作成日」だけ-9時間で表示されます。
6.Dispformのフッターの「更新日&作成日」は
いつでも正常です。
また、ParentType が DateTime 型のカスタムフィールドを同僚が開発したところ、予定表リストでなくても-9時間されたそうです。
結構根深い問題かもしれません・・・
長くなってしまい申し訳ありません。
紛らわしい書き方をしてすいません。
EditForm.aspxの問題というよりもその中で使っているDataSourceかコントロール(DataTimeControlだっけ?)あたりの実装の問題だと想像しています。
それにEditForm.aspxの実装も絡んでいるのではないかと思います。ですので、根っこは同じではないかと。
いずにれにしても厄介ですね。
yama3