0

CRUDフォームを大幅にカスタマイズすることによってのみモデル化できると思うユースケースがあります。より良い方法があることを願っていますが、そうでない場合は、あらゆる種類の洞察のために:)

標準の create Referral (カスタム エンティティ) フォームが一連の段階であるユース ケースをモデル化する必要があります (例: 論理的な前/次ボタンを含むタブ)。これらの手順を実行し、子エンティティを作成し、多くの非表示/関連属性を作成する際に、ユーザーの手を握る必要があります。後でこのデータをビューで取得するときに、FetchXML をさまざまな疎結合エンティティと共に使用することになるでしょう。

本当の問題は、CRM 内の任意のエンティティへのハイパーリンクをクリックすると、これが (特定のロールの) デフォルト フォームとしてポップアップすることです。ここまでで、/UserDefined/edit.aspx を変更して、特定のエンティティ タイプとユーザー ロールを確認し、新しいページにリダイレクトしました (現時点では、edit.aspx を少し変更したコピーです)。

新しいページ全体をゼロから作成し、SDK を使用してフィールドをクエリ/更新することもできますが、デフォルトの frm:CrudForm を crmForm としてロードして、その属性/メソッドを使用できるかどうか疑問に思っていました。何かご意見は?

  1. リダイレクトの OnLoad() メソッドは好きではありませんが、デフォルトの edit.aspx URL が (CRM aspx で) ポップアップする可能性のあるすべての場所を grep/sed する代わりに、さらに悪いように思えます。3番目のオプションはありますか?

  2. aspx Web サイトを最初から作成する必要がありますか、それとも、これを既定の CrudForm に結び付ける必要がありますか? 後者の場合、どうすればよいかについてアドバイスをいただけますか。そのようなカスタマイズは標準からかけ離れているようで、よく書かれていません;)

  3. このユースケースにアプローチするより良い方法はありますか? 標準の CRM 機能を使用してこれを修正する方法について、基本的な洞察を見逃していたのかもしれません。(一見すると、デフォルトのワークフローは実際にはオプションではありません->私はもともとこのように作業し、タスクを作成し、プロセスのすべてのステップでパブリックキューを使用しましたが、ユーザーの観点からは、これは本当に混乱です->私たちが紹介プロセスのどこにいるのかを正確に把握してください)

4

3 に答える 3

2

完全にサポートされた状態を維持するには、iframeを含むカスタムエンティティのタブを作成し、そこからカスタムASPXページをロードして、残りのタブをjavascriptで非表示/削除するだけでよいでしょうか。

箱から出してすぐに使えるCRMページをいじくり回すことは間違いなくサポートされていないので、おそらくそのための多くのリソースを見つけることはできません。サポートされていないカスタマイズを行ったとMSFTがスニッフィングした場合、MSFTは、サポートリクエストが必要になったとしても、サポートリクエストを拒否する可能性があります。

于 2009-07-28T15:06:27.077 に答える
1

マットの考えから外れて...

時間を節約するために、できるだけ標準形式を使用すると考えています。

  1. フォームをカスタマイズして (通常の UI の方法)、作成プロセスの各ステップのセクションを含めます。
    • 必要なフィールドをセクションに入れます。
    • 後でセクションを簡単に非表示にできるように、必ずセクション名を表示してください。
  2. ユーザーに関連レコードの作成を求めるステップでは、iframe のみを含むセクションを作成します。
    • iframe を使用して、ユーザーが関連レコードを作成するのに役立つカスタム ページを指定します。ユーザーをガイドしているレコードはまだ作成されていないため、iframe のカスタム ページが作成するのに役立つ関連レコードは、まだ参照できないことに注意してください。ユーザーが関連レコードを作成するときに、再設計を検討することをお勧めします。
  3. ユーザーの役割をチェックするコードを OnLoad イベントに追加します。(ヘルプについては、 Ronald Lemmen の投稿を参照してください。あなたのケースでは、セクションを非表示にします。)ユーザーがレコードを作成するために手を握る必要があると判断した場合:
    • 最初のステップを表すセクションを除いて、すべてのセクションを非表示にします。
    • フォームのどこかに [戻る] ボタンと [次へ] ボタンを追加します。
      • 現在のステップに応じて、ユーザーに表示されるセクションを制御するように設定します。
    • 最後の手順が完了したら、レコードを作成するフォームをプログラムで保存します。

うまくいくことを願っています。幸運を!

于 2009-07-29T01:34:09.283 に答える
0

記録として、私はマットに同意します。

リダイレクトの OnLoad() メソッドは好きではありませんが、デフォルトの edit.aspx URL が (CRM aspx で) ポップアップする可能性のあるすべての場所を grep/sed する代わりに、さらに悪いように思えます。3番目のオプションはありますか?

リダイレクトを行うエンティティだけに javascript をオンロードすることはできませんでした。オブジェクト タイプ コードはインストールごとに変更される可能性があるため、edit.aspx をまったく変更する必要がありません。

aspx Web サイトを最初から作成する必要がありますか、それとも、これを既定の CrudForm に結び付ける必要がありますか? 後者の場合、どうすればよいかについてアドバイスをいただけますか。そのようなカスタマイズは標準からかけ離れているようで、よく書かれていません;)

私はゼロからあなたのウェブサイトを書きます。複雑なビジネス プロセスの CRM フォームのコンテキストでは、心配することが多すぎます。

このユースケースにアプローチするより良い方法はありますか? 標準の CRM 機能を使用してこれを修正する方法について、基本的な洞察を見逃していたのかもしれません。(一見すると、デフォルトのワークフローは実際にはオプションではありません->私はもともとこのように作業し、タスクを作成し、プロセスのすべてのステップでパブリックキューを使用しましたが、ユーザーの観点からは、これは本当に混乱です->私たちが紹介プロセスのどこにいるのかを正確に把握してください)

Matt とあなたが言うように、独自の Web ページのセットを作成します。アップグレードの問題が発生することはなく、洗練されたものを CRM のフォームにハックしようとするよりも簡単です。独自の ASPX を作成することは標準でサポートされますが、それらを変更しても、遭遇した問題にあまり役立ちません。

何も誤解していないことを願っています。

于 2009-07-28T21:26:53.497 に答える