1

コンテクスト:

  • .NET(助成金を申請する非営利団体向けの助成金ポータル)でコーディングされたWebインターフェースは、Salesforceページレイアウトから情報を取得しています。
  • APIを介してWebインターフェースをSalesforceに接続するために使用するSalesforceユーザーには、「すべてを表示およびすべて編集する」権限があります。

問題:

現在のように、フィールドがSalesforceのページレイアウトで読み取り専用として定義されている場合でも、Webページで編集可能です(使用するSalesforceユーザーは「すべてを表示およびすべて編集する」権限を持っている必要があります)

私たちが達成しようとしていること:

  • フィールドがSalesforceページレイアウトで読み取り専用として定義されている場合
  • 次に、同じフィールドをWebインターフェイスページの読み取り専用にする必要があります

質問:

上記を実現するには、APIを介してページレイアウトのフィールドプロパティを取得する必要があると思います。そうする方法について何かアイデアはありますか?

ありがとうございました!泉。

4

1 に答える 1

2

メタデータ API (新しいオブジェクト、フィールド、選択リスト値を追加したり、クラスを作成して単体テストを実行したりできる Web サービスのセット) が必要です。

API ガイドは次のとおりです: http://www.salesforce.com/us/developer/docs/api_meta/index.htm

レイアウトを変更する頻度に応じて、「ねじ込み、Eclipse IDE を使用します」と判断する場合があります。その場合、すべてのページ レイアウト (それらは XML ファイルです) をダウンロードし、C# アプリをそれらにポイントして、魔法を起こします。

少し高度な移行ツール (同じものを定期的にダウンロードするスクリプトを作成できる Ant / Java ベースのアプリケーション) を使用することです。

非常に高度なのは、この API ガイドを使用して C# で記述することです。これはロケット科学ではありません (これはページ レイアウト オブジェクトの仕様であり、メタデータを取得する操作のJava サンプル コードは次のとおりです。申し訳ありませんが、C# ではありません)。実際には、次の例を見たほうがよいかもしれません: http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_describelayout.htm

いずれにせよ、おそらくこの情報をどこかにキャッシュしたいと思うでしょう(ユーザーがあなたのページに来て、Webサービスの呼び出しが完了するのを待たなければならず、UIがレンダリングされるとは想像できません)-毒を選んでください。

または、チーム内で作業を共有します (1 人は Eclipse でダウンロードしたファイルで開始し、他の人は必要に応じてファイルを取得するために C# コードを理解しようとします)。

于 2013-01-30T20:49:38.500 に答える