nkjmkzk.net

powered by Kazuki Nakajima

Excelライクな表形式フォームを埋め込むLightningコンポーネント「Cell」をリリースしました

Salesforce上の複数レコード一括で更新したい場合、どのような方法があるでしょうか?

  • データインポートウィザード
  • データローダー
  • SOAP API
  • Bulk API

Geekなみなさんであればどれでもできそうですが、普通の人がおこなうには敷居が高い。
また、できるのはできるけど、データインポートウィザードなどは10件程度のデータを毎日のように扱う場合には面倒。
APIはわざわざプログラム組むまでやるのでは面倒。
ということで何かと面倒です。

そんなとき、Excelみたいな表形式でデータを編集して、それをそのまま保存できれば便利ですよね。
Cellはそんなオペレーションを可能にするLightningコンポーネントです。

使い方は簡単。

まず組織でLightningコンポーネントを有効にします。

次にCellをインストールします。インストールはこちらのappexchangeページからどうぞ。

開発者コンソールから新しいLightning Applicationを作成し、Cellを組み込みます。もっとも単純な組み込み方法は、下記のようなLightning Applicationを作成することです。

<aura:application>
  <c:Cell sobject="管理したいオブジェクト名" fields="表示する項目をカンマ区切りで" loadData="true" />
  <c:CellSaveButton />
</aura:application>

こちらの記事を参照してアプリケーションプルダウンメニューからこのLightning Applicationにアクセスできるようにします。

以上です。こんなLightning Applicationが作成されたら完成です。下図の例ではsobjectにとあるカスタムオブジェクトを指定しています。

スクリーンショット 0027-04-17 10.20.27

まじで簡単ですね。

ロードするデータを絞りこみたい場合は、下記のようにSOQL文をqueryにセットすることで可能です。

<aura:application>
  <c:Cell sobject="管理したいオブジェクト名" fields="Name, MyField1__c, MyField2__c" query="select Name, MyField1__c, MyField2__c from MyObject__c where MyDate__c = THIS_MONTH" />
  <c:CellSaveButton />
</aura:application>

各セルの値を編集してSaveボタンを押せば一括でデータが更新されます。
また、この表は右クリックでExcelと同じようなメニューがでます。Remove Rowで行を削除すると、そのデータをデータベースから削除することもできます(確認プロンプト付き)。

スクリーンショット 0027-04-17 10.23.21

単体でデータ入力・更新ツールとしても使えますが、CellはLightningコンポーネントです。
様々な要件のアプリに組み込んで利用することができます。そのあたりはスタートガイドの「コンポーネント間の連携」で紹介していますのでチェックしてみてください。

アプリの中に埋め込んで連携させている例はこんな感じ。詳しくはスタートガイドを。

スクリーンショット 0027-04-15 13.50.11

Enjoy.

without comments

Written by 中嶋 一樹

4月 17th, 2015 at 10:37 am

Leave a Reply