0

私は XPages アプリケーションの素朴な開発者の 1 人です。私が XPages を取り上げたのは、私たちが望むものを構築するのに非常に興味深いからです。

これは、私が何日も取り組んでいるが、それを乗り越えることができなかった私の問題の1つです。

私の Leave アプリケーションには、leaveFrom と leaveTill の 2 つの日付フィールドと、no を表示する計算された編集ボックスが 1 つあります。日数 (noDays) を動的に計算します。つまり、上記の 2 つの休暇日フィールドの差です。そして、私はそのような単純なことをすることができません。

このアプリケーションの作成には Lotus 8.5.3 を使用しています。getcomponent("").setvalue()またはのようなメソッドをいくつか見ましたgetvalue()。ただし、これら 2 つの方法は 8.5.3 では使用できません。これらのメソッドを使用すると、常にエラーが発生します。CSJS でも getComponent を使用してみましたが、成功しませんでした。

他のスクリプト メソッドも使用してみました。バックエンド ドキュメントを作成できましたが、現在の xpage に値が表示されません。

正しいパスを教えてください。

4

3 に答える 3

4

次の XSnippet を使用して日付を比較できます (したがって、2 つの日付間の日数も計算できます): http://openntf.org/XSnippets.nsf/snippet.xsp?id=compare-dates。これを特定のケースの入力として使用できることを願っています。

getComponent("").getValue() および .setValue() に関して。それらは確かに 8.5.3 でも利用可能です。XPages では大文字と小文字が区別されることに注意してください。

于 2012-12-04T07:48:33.117 に答える
2

メソッドtimeDifferenceが Java 日付に対して存在しなかったため、コードは機能していません。

var difference = endDate.timeDifference(startDate);

最初にNotesDateTimeに変換する必要があります。

var difference = null; 
try{
    var nDateStart = session.createDateTime( startDate );
    var nDateEnd = session.createDateTime( endDate );

    difference = nDateEnd.timeDifference(nDateStart); 
    difference = (Math.floor(difference/86400)) + 1;
}catch(e){return e}

difference
于 2012-12-05T08:36:44.537 に答える
0

あなたの説明ビデオのおかげで、私は彼らから多くのことを学びました.

9のメモ?:)

質問に戻ります。

両方のフィールドが DATETIME 形式の場合、次のようなことができます。

(endDate - startDate) / (24*60*60);
于 2012-12-04T07:49:44.590 に答える