このコードは、さらに4行のコードを追加することを決定するまで正常に実行されていたため、削除しました。しかし、このエラーが発生しました。面白いのは、
Form_onload
に行を追加したことです関数。これで助けが必要です。
function Form_OnLoad() {
debugger;
if (Xrm.Page.ui.getFormType() == 1) {
Xrm.Page.getAttribute("quantity").setValue(1);
Xrm.Page.getAttribute("quantity").setSubmitMode("always");
Xrm.Page.getAttribute("isproductoverridden").setValue(true);
Xrm.Page.getAttribute("isproductoverridden").setSubmitMode("always");
}
else {
ActOnFields("disable", "ir_unit");
ActOnFields("show", "salesorderid");
}
}
function Unit_OnChange() {
var Unit = Xrm.Page.getAttribute("ir_unit").getValue();
if (Unit != null && Unit.length > 0) {
var lookupid = Unit[0].id;
var oDataSetName = "ir_unitSet";
var columns = "ir_AmountRate,ir_Expenses,ir_PublishedRate";
var filter = "ir_unitId eq (guid'" + lookupid + "')";
retrieveMultiple(oDataSetName, columns, filter, "", onSuccessMapUnitFields);
Xrm.Page.getAttribute("productdescription").setValue(Unit[0].name);
Xrm.Page.getAttribute("productdescription").setSubmitMode("always");
}
else {
Xrm.Page.getAttribute("priceperunit").setValue(null);
Xrm.Page.getAttribute("priceperunit").setSubmitMode("always");
Xrm.Page.getAttribute("baseamount").setValue(null);
Xrm.Page.getAttribute("baseamount").setSubmitMode("always");
}
}
function onSuccessMapUnitFields(data, textStatus, XmlHttpRequest) {
if (data && data.length > 0) {
var price = 0;
//if (data[0].ir_AmountRate != null && data[0].ir_AmountRate.Value != null) {
//price += parseFloat(eval(data[0].ir_AmountRate.Value));
//}
if (data[0].ir_PublishedRate != null) {
price += parseFloat(eval(data[0].ir_PublishedRate));
}
if (data[0].ir_Expenses != null && data[0].ir_Expenses.Value != null) {
price += parseFloat(eval(data[0].ir_Expenses.Value));
}
Xrm.Page.getAttribute("priceperunit").setValue(price);
Xrm.Page.getAttribute("priceperunit").setSubmitMode("always");
Xrm.Page.getAttribute("baseamount").setValue(price);
Xrm.Page.getAttribute("baseamount").setSubmitMode("always");
Xrm.Page.getAttribute("ir_publishedrate").setValue(price);
Xrm.Page.getAttribute("ir_publishedrate").setSubmitMode("always");
}
}
回答 1 件
関連記事
- エラーTypeError:未定義のcorejs:5967のプロパティ 'toLocaleLowerCase'を読み取れません
- Reactプロジェクトで「TypeError:undefinedのプロパティ 'map'を読み取れません」というエラーが発生します
- このエラーが発生するのはなぜですかTypeError:undefinedのプロパティ 'utf8Slice'を読み取れません
- [Vue警告]:レンダリングのエラー:「TypeError:未定義のプロパティ 'correct_answer'を読み取れません」
- jqueryminjs:2 Uncaught TypeError:undefined(javascript)(laravel)のプロパティ 'replace'を読み取れません
- TypeError:未定義のAPIのプロパティ 'ft'を読み取れません
- Uncaught TypeError:nullのプロパティ 'style'を読み取ることができません。同じページで2つのJavascript関数を使用する
- 未処理の拒否(TypeError):Reactフックでnullのプロパティ 'innerText'を設定できません
- WebpackError:TypeError:nullのプロパティ 'store'を読み取れません
- TypeError:reactjsで未定義のプロパティ 'map'を読み取ることができません
debugger;
を追加 内部Unit_OnChange
関数と成功コールバック関数onSuccessMapUnitFields
、デバッグ中に、priceperunit
の3つのフィールドのうちのどれかを把握できます 、baseamount
、ir_publishedrate
このエラーをスローしています。ActOnFields
を呼び出しているかどうかも確認してください このsetValue(price)
を呼び出す前に、これら3つのフィールドを他の場所で非表示にするメソッド 。コントロール/属性がフォームに表示されていない場合-Xrm.Page.getAttribute
戻り値ヌル、その後、あなたがsetValue
しようとしているとき このエラーで失敗します。フェイルセーフアプローチ: