1

別のエンティティの 3 つの属性に基づいて入力したい 3 つのフィールドを持つフォームがあります。これを行う最善の方法は何ですか?オンラインで見つけたものに基づいて、これを試しました:

if (crmForm.all.new_name.DataValue == null) { return; }
var sdk = new XrmDataContext(null, null);
var id = crmForm.all.new_name.DataValue[0].id;
var fetchXml = "<fetch mapping=\"logical\"><entity name=\"mag_identificationtype\"><all-attributes /><filter type=\"and\"><condition attribute=\"new_advertisingrate\" operator=\"eq\" value=\"" + id + "\" /></filter></entity></fetch>";
var result = sdk.Fetch(fetchXml);
for (var i = 0; i < result.length; i++) {
crmForm.all.new_mediapaymentplan.DataValue = parseFloat(result[i].attributes["new_mediapaymentplan"]);
}
for (var i = 0; i < result.length; i++) {
crmForm.all.new_yellowpagepayment.DataValue = parseFloat(result[i].attributes["new_fixed_yellowpages_fee"]);
}
for (var i = 0; i < result.length; i++) {
crmForm.all.new_extrapayment.DataValue = parseFloat(result[i].attributes["new_extraadvertisingpayment"]);
}

...しかし、動作しません。これは、4.0 用に設計されているためだと思います。3.0 でこれを達成する方法はありますか? もしそうなら、それは何ですか?

4

2 に答える 2

0

Markが言ったように、私は以前同様の問題を抱えていました。XRMコミュニティによって開発されたCRM4以降のクラスを使用しています。

あなたの場合、この記事に示されているように、XMLHTTPを使用したWebサービスの生の呼び出しを使用します。

http://blog.customereffective.com/blog/2008/02/calling-the-crm.html

http://ayazahmad.wordpress.com/2006/12/14/calling-custom-web-services-through-mscrm-30-form-a-way-to-duplicate-detection/

1つ目はCRMサービスを呼び出すためのもので、説明されている例はCRM3.0のものだと思います。一方、2番目のリンクはjavascriptからWebサービスを呼び出すことについてのみ説明しています。プロセスは、CRM Webサービスを呼び出す場合と同じであり、変更する必要があるのはエンドポイントURLだけです。

これを行う方法は、SOAPエンベロープを手動で作成することです。javascriptからCRMへのフェッチ、作成、更新を行うためのjavascriptライブラリがあったことを覚えていますが、それがどこにあるかは覚えていません。CRM4.0で行われたと思いますが、とにかく検索してここに投稿してください。

またね

編集:

このリンクには、私が説明した内容に関する情報があります。

https://community.dynamics.com/product/crm/crmtechnical/b/crmdelvingintodynamics/archive/2008/07/11/a-microsoft-dynamics-crm-javascript-sdk.aspx

Ascentiumは以前はWebにJavaScript用のCRMSDKを持っていましたが、現在利用可能なリンクのほとんどはAvanadeブログに送信されるため、新しい情報を見つけるのに最適な場所です。

http://blogs.infinite-x.net/2008/07/15/ascentium-crmservice-javascript-library/

http://www.avanadeblog.com/xrm/

ただし、準備されているバージョンに注意してください。

またね。

于 2011-04-14T13:58:27.697 に答える
0

コードで MS CRM 4.0 の Advanced Developer Extensions を使用していることは間違いありませんが、3.0 では機能しません。

MS CRM 3.0 でこれを実現する方法は多数あります。

  1. エンティティまたは関連エンティティが作成または更新されるときに、吹き出しアセンブリを使用できます。

  2. エンティティまたは関連エンティティが作成または更新されるときに、カスタム ワークフローを使用できます。

  3. これらのフィールドに入力するスケジュール済みアプリケーションを作成できます。

  4. フォームで JavaScript から CRM Web サービスを呼び出して、それらのフィールドを見つけることができます。

私にははっきりしないのは、これらのエンティティがどのように関連しているかです。それらは 1:N または N:1 ですか?

于 2010-08-07T15:23:15.687 に答える