0

Dynamics crm 2015 sp 1、ルックアップ値の設定中に「未定義または null 参照のプロパティ 'trim' を取得できません」という例外をスローします。

  • CustomerId には、Id、Name、および LogicalName という 3 つのプロパティすべてがあります。
  • フィールド「new_customerprofileid」も入力されていますが、setValue() 関数はエラーをスローします
  • エラーの場所は global.ashx にありb.trim、エラーを通過する行があります。

コード:

var Entity = RetrieveEntityById(Id, "SalesOrder");
if (Entity != null) {
    var CustomerId = Entity.CustomerId;
    if (CustomerId != null)
        if (Xrm.Page.getAttribute("new_customerprofileid") != null)
            Xrm.Page.getAttribute("new_customerprofileid").setValue([{ id: CustomerId.Id, name: CustomerId.Name, entityType: CustomerId.LogicalName }]);
}

1 つの修正方法は、try catch ブロックに line( .setValue("") ) を配置することです。

 var Entity = RetrieveEntityById(Id, "SalesOrder");
    if (Entity != null) {
        var CustomerId = Entity.CustomerId;
        if (CustomerId != null)
            if (Xrm.Page.getAttribute("new_customerprofileid") != null)
                try {
                    Xrm.Page.getAttribute("new_customerprofileid").setValue([{ id: CustomerId.Id, name: CustomerId.Name, entityType: CustomerId.LogicalName }]);
                } catch (ex) { }

    }

誰かがこのエラーの他の修正に到達した場合は回答してください。

4

2 に答える 2

0

システムは入力値のトリミングを試みますが、少なくとも 1 つがnull文字列ではありませんでした。これは、setValue ディクショナリで提供される値の 1 つが null であることを意味していると思いCustomerId.NameますCustomerId.LogicalName。これらのデータ セットを除外したり、それらの値を空の文字列に設定したりできます。

于 2015-06-17T11:39:19.610 に答える
0

私はこの同じ問題を受け取りました。私の場合、ネイティブ CRM .js は、設定されているルックアップ値で「type」という名前のプロパティにアクセスしようとしており、その上で .trim を呼び出すと、b.trim が未定義になります。「タイプ」は、ドキュメントで設定する必要があると記載されているプロパティではないため、CRM JavaScript のバグが疑われますが、なぜそれが発生しているのかを正確に追跡することは困難でした.

プロパティ「タイプ」をエンティティのオブジェクト タイプ コードに設定しようとしましたが、これにより、同様に把握が困難な他の問題が発生するようです。

id、name、entityType を設定しているので、これまでのところ、例外をキャッチすることが最善の解決策であることがわかりました。問題を確認するために、MS にチケットを送信する可能性が高いです。

于 2016-01-04T19:12:59.123 に答える