0

Dynamics CRM 2011 で JavaScript を使用しています。2 つの日付フィールドを比較して新しいフィールドを作成しようとしています。ただし、null値には何か問題があると思います。cas エラー メッセージが表示されます: 'null' is null not an object.

以下がスクリプトです。ご覧ください。ご意見をお聞かせください。

function m1status() {

    var m1date = Xrm.Page.getAttribute("new_m1date").getValue()

    var today = Xrm.Page.getAttribute("new_todayis").getValue()

    if (m1date == null) {

        Xrm.Page.getAttribute("new_m1status").setValue('Not Booked');}

    else if (m1date.getTime() >= today.getTime()) {

        Xrm.Page.getAttribute("new_m1status").setValue('Booked');}

    else {

        Xrm.Page.getAttribute("new_m1status").setValue('Completed');}

    //Set the Submit Mode
    Xrm.Page.getAttribute("new_m1status").setSubmitMode("always");

}

また、ほとんどの場合、デフォルト値は null です。cas 何も表示されません。

本当にありがとう。

4

1 に答える 1

0

コードにいくつかのタイプミスがありますが、この方法でコードを書き直して、不足しているアクションを埋めることができます。

function m1status() {

    var m1date = Xrm.Page.getAttribute("new_m1date").getValue();
    var today = Xrm.Page.getAttribute("new_todayis").getValue();

    // you can have 4 cases
    // 1: both fields are null
    if (m1date == null && today == null) {
        Xrm.Page.getAttribute("new_m1status").setValue('Not Booked');
    }
    // 2: both fields are not null
    if (m1date != null && today != null) {

        if (m1date.getTime() >= today.getTime()) {
            Xrm.Page.getAttribute("new_m1status").setValue('Booked');
        }
        else {
            Xrm.Page.getAttribute("new_m1status").setValue('Completed');
        }
    }
    // 3: first field is not null, second field is null
    if (m1date != null && today == null) {
        // what need to do in this case?
    }
    // 4: first field is null, second field is not null
    if (m1date == null && today != null) {
        // what need to do in this case?
    }

    Xrm.Page.getAttribute("new_m1status").setSubmitMode("always");
}
于 2013-04-05T06:41:10.860 に答える