いいね!数

0

閲覧数
800

連続投稿失礼します。

保存された文書の時間の値と現在表示されている文書の時間の値を比較して、値が違って

いたらフラグが立つようになっています。以下のコードです。

※SemiTimeSフィールドは日付ピッカーで時間のみを表示しています。

                    var stime=vdoc.getItemValue("SemiTimeS")[0];
                    var stime2 =session.createDateTime(document1.getValue("SemiTimeS")); 
                    if(stime.timeDifference(stime2)!=0){
                        print("時間違う3!");
                        print(stime+"と"+stime2);
                        SyoriFlg_Date = "1";
                        SyoriFlg = "1";
                    }    

ところが、1日のうち初めてその仕組みをいじると値が同じであるにも関わらず、フラグが

立ってしまいます。1度その現象が起きると、その日はもうその現象は起きず、値が一致していると

いう結果になります。再現しようとブラウザを再起動してももう現象は発生しません。PCを再起動

までして試しても発生せず、それ以降は値が一致しているという結果になります。

print文でgetItemValue("SemiTimeS")が取得している値を出してみたところ、値が一致していないと

なるときは、stimeの値が「NaN」になっていました。

どうにも解決できず困っています。

どなたか同じような現象に合われた方はいらっしゃいますでしょうか?

解決法がありましたら教えてください。

よろしくお願い致します。

サーバー情報: | クライアント情報: | 
カテゴリ:Notes - 使い方 | タグ:
  | 質問日時:2017/02/16 11:27:26

回答・コメント

いいね!数

0

同じ事例の経験はないですがJavaScriptでdatetime扱うならgetItemValueでなくgetItemValueDateを使った方がいいのではないかな?と思いました。

回答日時:2017/02/16 12:02:14

いいね!数

0

ndomino-sさん、

アドバイスをありがとうございます。

getItemValueDateTimeArrayを使ってやってみます。

他にも同じような経験のある方いらっしゃいましたらよろしくお願いします。

回答日時:2017/02/16 12:57:33

いいね!数

0

getItemValueDateTimeArrayを使ったの見たのですが、結果は同じでした。

今朝、一番で操作をしたら、時間の値が同じはずなのに違うとフラグがたちました。

やはりstimeの値が「NaN」でした。

何が原因なのでしょうか・・・?

回答日時:2017/02/17 9:03:58

いいね!数

0

stimeの値がNaNだったのはprint文に出力してわかったのですが、print文に

バグがあり、"a"など適当な文字列を合わせるときちんと値が取得されていることが

わかりました。

print(stime);  NaNが返ってくる

print("a"+stime); 日付時刻が返ってくる

時間の値が違うフラグがたつのは、NotesXPSDocumentでは日付が現在の日付となって

取得されていて、NotesDocumentでは保存された日付が取得されているからでした。

クライアントからプロパティで値を見ると、両方同じく保存された値が入っていたにも

関わらず、NotesXSPDocumentとNotesDocumentで取得される日付が違ってくる理由については

わかり次第、アップしたいと思います。

回答日時:2017/03/07 14:19:45