2009-07-30 4 views
0

ダイナミクスCRM 4をカスタマイズしていて、ケースエンティティのフォームを変更して、ナレッジベース記事検索フィールドのonchangeイベントにJavaScriptを追加したいkbarticleid_ledit)。ただし、そのフィールドの[プロパティの変更]をクリックすると、エラーメッセージが表示されます。ダイナミックCRM 4のロックされたフィールドにonchangeイベントを追加する

このフィールドはロックされたセクションに属し、プロパティを変更することはできません。

これを回避して編集するにはどうすればよいですか? customizing the Article viewに似た回避策がありますか?または、DBを何とかハックして、そのフィールドの「ロックを解除する」ことができますか?

答えて

2

[OK]を、私はそれを考え出しました - 他の誰かが同じ問題に遭遇した場合、ここに投稿してください。 CaseエンティティのカスタマイズをXMLにエクスポートし、XMLを編集する必要があります。 XML内の対応する要素を探し、属性を変更することによってセクションを「ロック解除」できます。locklevel = "1"locklevel = "0"

しかし、ロックを解除しても、onchangeイベントコードの編集には役に立たなかった。 CRMには既にそのイベントのコードがあり、UIにコードを追加すると、XMLに2回目の "onchange"イベントが追加されました!だから私は手動でXMLのコードを手動で編集してから(もちろん、適切なXMLエンコーディングを使用して)、カスタマイズを再インポートして公開する必要がありました。

2

また、onloadイベントからonchangeコードを追加することもできます。たとえば、ロックされたフィールドのIDがlockedFieldだった場合は、次のようにすることができます。

var field = crmForm.all.lockedField; 
if (field) 
    field.attachEvent('onchange', onChangeEventHandler); 

function onChangeEventHandler() 
{ 
    // do something 
} 
+0

ああ、ありがとう - ありがとう。私は、既存のonchangeイベントの編集を好むだろうと思うので、コードの実行順序はわかります。 – EMP

関連する問題