2013年1月27日日曜日

VisualforceページにFlexで作ったFlashを表示

静的リソース

静的リソースの作成

  1. bin-debug フォルダをデスクトップにコピー
  2. bin-debug フォルダごとWindowsの圧縮機能でZIPに圧縮

静的リソースの設定

  1. [設定] > [アプリケーションの設定] > [開発] > [静的リソース]
  2. 新規ボタンを押下
    • 名前: 「FlexTest」
    • ファイル: ローカルにあるZIPファイルを選択
    • キャッシュのコントロール: 非公開

Visulaforceページの作成

  1. [設定] > [アプリケーションの設定] > [開発] > [ページ]
  2. 新規ボタンを押下
    • 表示ラベル: FlexTest
    • 名前: FlexTest
  3. 以下のソースを記述し保存する
apex/FlexTestにアクセスする。

SalesforceでFlexを開発ための環境を作成

1.必要なソフトウェアのダウンロード・インストール

JDK

http://www.oracle.com/technetwork/java/javase/downloads/index.html

JDKのダウンロードボタンを押下する

Acceptのラジオボタンを押下する

各環境に応じて選択し、インストーラをダウンロードする。

インストーラを起動し、インストールを行う。
※環境によるので省略

Adobe Flash Builder

https://www.adobe.com/cfusion/tdrc/index.cfm?product=flash_builder&loc=ja

Flash Builderのダウンロードボタンを押下する

体験版をダウンロードボタンを押下する


Flex SWC

下記URLよりSWCが取得できます。

このZIP内のforce-flex.swcがあとで必要になります。

2.Flash Builderの初期設定

Flash Builderを起動する

プロジェクトの作成を選択する
ファイル > 新規 > Flex プロジェクト を選択

プロジェクトの設定
 プロジェクト名: 適当な名前を設定
 アプリケーションの種類: Web(Adobe Flash Playerで実行)
 Flex SDKのバージョン: デフォルトのSDKを使用する
サーバの設定
 出力フォルダー: bin-debug
ビルドパス
 コンポーネントのセット: MX + Spark
 SWCの追加 > 適当な場所に設置したApex Flex ライブラリを選択

これで初期設定は完了です。

参考URL
http://blogjp.sforce.com/2007/06/flexapex1_39a6.html
http://wiki.developerforce.com/page/Getting_Started_with_the_Force.com_Toolkit_for_Adobe_AIR_and_Flex
http://wiki.apexdevnet.com/page/Flex_Toolkit
http://wiki.apexdevnet.com/page/Taking_Salesforce_Data_Offline_Using_Adobe_AIR

Visualforceページでインライン編集を実装する

Visualforceページでインライン編集を実装する方法。
developerforceのVisualfofce開発者ガイドに方法が載っていたので転載。

2013年1月20日日曜日

リストビューでチェックボックスが表示されない

リストビューでチェックボックスが表示されない場合の確認項目。
  1. プロファイル>一般ユーザ権限>リストからの一括編集にチェックが入っているか確認
  2. オブジェクトにレコードタイプの設定がある場合、リストビューの検索条件にレコードタイプが絞られているか確認

2013年1月19日土曜日

Mapに一括セット

SObject用のList型の値をMap型にセットする際にFor文などでループさせずに一括でセットする方法が、下記のブログの記事にありました。
tyoshikawa1106のブログ - SFDC:Mapに一括セット

トリガー・ワークフロー・その他に関連する処理の実行順序抜粋

Force.com Apex コード開発者ガイドより下記を抜粋しました。

【トリガと実行の順序】
レコードを insert、update、または upsert ステートメントを使用して保存すると、Salesforce は次のイベントを順番に実行します。
メモ:  Salesforce がサーバでこれらのイベントを実行する前に、ブラウザは、レコードに連動選択リスト項目が含まれているかどうかを JavaScript で検証します。この検証では、各連動選択リスト項目を指定可能な値に制限します。クライアント側では他に検証は行われません。
サーバで、Salesforce により次の手順が実行されます。
  1. 元のレコードがデータベースから読み込まれるか、upsert ステートメント用にレコードが初期設定されます。
  2. 要求から新しいレコード項目の値が読み込まれ、古い値を上書きします。要求が標準 UI 編集ページから行われた場合、Salesforceはシステム検証を実行して、レコードについて次の点を確認します。
    • レイアウト固有のルールへの準拠
    • レイアウトレベルおよび項目定義レベルで必要な値
    • 有効な項目形式
    • 最大項目サイズ
    Salesforceは、要求がApexアプリケーションやSOAP APIコールなどの他のソースから送信されている場合、このステップでシステム検証を実行しません。
  3. すべての before トリガが実行されます。
  4. すべての必須項目にnull以外の値が入力されていることの確認や、ユーザ定義の入力規則の実行など、システム検証のほとんどの手順がもう一度実行されます。Salesforceが標準 UI + 編集ページから要求が行われた場合に再度実行しない唯一のシステム検証は、レイアウト固有のルールの適用です。
  5. レコードはデータベースに保存されますが、まだ確定されません。
  6. すべての after トリガが実行されます。
  7. 割り当てルールが実行されます。
  8. 自動応答ルールが実行されます。
  9. ワークフロールールが実行されます。
  10. ワークフロー項目自動更新が存在する場合、レコードが再度更新されます。
  11. レコードがワークフロー項目自動更新により更新された場合、標準検証のほかに、beforeトリガおよびafterトリガがもう一度だけ実行されます。カスタム検証ルールは実行されません。
    メモ:  更新の必要がある場合にのみ、before トリガおよび after トリガがもう一度実行されます。項目にすでに値が設定されている場合、トリガは再実行されません。
  12. エスカレーションルールが実行されます。
  13. レコードに積み上げ集計項目が含まれる場合、またはレコードがクロスオブジェクトワークフローの一部である場合、計算が実行され、親レコードの積み上げ集計項目が更新されます。親レコードに対して保存手順が実行されます。
  14. 親レコードが更新され、さらにその親レコードに積み上げ集計項目が含まれるか、その親レコードがクロスオブジェクトワークフローの一部である場合、計算が実行され、親レコードの積み上げ集計項目が更新されます。親レコードのさらに親レコードに対して保存手順が実行されます。
  15. 条件に基づく共有の評価が実行されます。
  16. すべての DML 操作がデータベースで確定されます。
  17. メール送信など、確定後のロジックが実行されます。
    メモ: 再保存時に、手順 7 から手順 14 まではスキップされます。