読者です 読者をやめる 読者になる 読者になる

dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

follow us in feedly

Salesforce

Salesforce:JavaScript Remoting(@RemoteAction)をPromiseで扱う

はじめに Visualforce で Angular や React などの JavaScript ライブラリを使ったアプリケーションを作ろうと思った場合、 Apex で定義したメソッドの実行には JavaScript Remoting を使うのが一般的かと思います。 似たようなことを実現するための手段とし…

Lightning Utility Barを作ってみた

Spring'17 から利用可能になった Utility Bar を作ってみたので、その手順を残しておきます。 とりあえず Hello, World! と表示するところまで。 こちらの記事が参考になりました。 一応、公式の Implementation Guide とやらもあるみたいだけど、 https://r…

react-lightning-design-systemをVisualforceで使う

件名の通りですが少しハマりどころがあったのでメモ。 普通に react-lightning-design-system を使おうとすると SVG アイコン使用時に Unsafe attempt to load URL エラーが表示されます。 Unsafe attempt to load URL https://zakiyama-dev-ed.my.salesforc…

react-lightning-design-systemのDatepickerを日本語表記にする

メモ。 react-lightning-design-system の Datepicker の月や曜日の部分を日本語にしたい。 locale のようなプロパティはないが、内部的に Moment.js を使っているので以下のようにして変更できた。 (2017/01/20追記) 普通に moment.locale('ja'); だけで…

[Apex]レコードが承認プロセスでロック中かどうか判定する

メモ。 レコードの ID を元に、そのレコードが現在承認プロセスの最中で、かつロックされているかどうか Apex で判定したい。 ここを参考にできた。 apex - Check if a record is in approval process - Salesforce Stack Exchange Approval.isLocked(id) を…

[Salesforce]カスタムオブジェクトのメタデータをCSVに変換する

動機 開発時、特定のカスタムオブジェクトの項目一覧をさっと確認したい。 基本的にメタデータを git 管理しているので、src/objects/MyObj__c.object のようなローカルの XML ファイルをパースして 人が読める形式に加工できれば十分。 Node 界隈のパッケー…

Dreamforce'16 Developer Keynoteのメモ

今年は行けなかったので Dev Keynote だけざっと見ました。 以下、雑多なメモ。 キーワード Lightning Einstein Salesforce DX Lightning Winter'17 以降の新機能についてデモしながら一通り紹介、といった感じ。 (デモは 13:40 頃から) Lightning Data Se…

Summer '16 開発者向けWebセミナー のメモ

Summer '16 開発者向けWebセミナー | Salesforce Developers 割とちゃんと観た。 UI の新機能(Lightning Experience) ホーム画面のカスタマイズ Lightning App Builder で作ったページが(ようやく)LEX とモバイル両方で使用可能 オブジェクトの日付項目…

[Salesforce]オブジェクトの「最近使ったXX」ビューに列を追加する

標準またはカスタムオブジェクトのタブを開いたときに最初に表示される、このリストビューについて。 列のカスタマイズとかどこで設定できるのかなと思って調べてみたメモ。 UI からの設定だけでなく、Force.com Migration Tool でデプロイできるようメタデ…

[Python] HerokuからForce.com REST APIを叩く

というサンプルを作りました。 元々、Heroku から Force.com REST API を叩くサンプルは海外の方が Node.js と Java で作ったものがありまして、それをお手本に Python 版を書いてみたという経緯です。 (Node.js) Salesforce REST APIs – From Zero to Cloud…

gulpとJSforceで構築するLightning Component開発環境

これまで、Lightning Component 開発は Force.com Migration Tool(Force.com 移行ツール) を使っていましたが 将来的なことを考えると JavaScript のグローバル名前空間の問題 をどうにかしないといけません。 つまり Grunt や gulp などのビルドツールを…

PythonのSalesforceライブラリまとめ

nforce の Python 版みたいなのが欲しくてそれらしいライブラリがないか調べていたところ、こちらの記事が大変参考になったので、プラスアルファで自分で調べたものも整理しておきます。 参考にしたサイト PythonのSalesforceライブラリ調べてみた Python an…

Lightning ComponentをLightning Experienceで表示する方法

気になってたんだけど、こちらのスライドに書かれてたのでメモ。 2015/11/9 現在の方法。 Lightingコンポーネントベーシック開発 from Akihiro Iwaya 方法としては2つあるらしい。 Lightning Component タブとして表示 Visualforce に Lightning Compone…

Salesforce Trailhead: Lightning Experience Developmentのメモ

これやってみた。 気になったとこだけかいつまんでメモしておく。 (以下、Visualforce は VF、Lightning Experience は LEX と表記してます) 1. User Interface Development Considerations LEX と従来のユーザーインターフェース(Salesforce Classic)と…

Winter'16以降にブラウザでSalesforce1モバイルを開く方法

ちょいメモ。 Winter'16 から Lightning Experience (略称は LEX らしい) が有効になったため、 PC のブラウザで http://ap.salesforce.com/one/one.app にアクセスしても Salesforce1 のモバイル画面が表示されない。 LEX が有効だったら LEX が表示される…

Dreamforce'15に行ってきた〜4日目(最終)〜

9/18(金) Dreamforce 最終日です。 午前のセッションは DevZone に入り浸り状態、午後は Salesforce 本社でのテクニカルセッションに参加してきました。 過去記事一覧 Dreamforce'15に行ってきた〜前日編〜 - dackdive's blog Dreamforce'15に行ってきた〜1…

Dreamforce'15に行ってきた〜3日目〜

9/17(木) の様子です。 Analytics Cloud や Developer Keynote、そして Heroku オフィス訪問について。 過去記事一覧 Dreamforce'15に行ってきた〜前日編〜 - dackdive's blog Dreamforce'15に行ってきた〜1日目〜 - dackdive's blog Dreamforce'15に行って…

Dreamforce'15に行ってきた〜2日目〜

当日中に投稿できなかったんですが、9/16(水) Dreamforce 2日目に関するレポートです。 マーク・ベニオフの基調講演と、Lightning Design System (SLDS) 、そして SalesforceIQ などの話を中心に。 過去記事一覧 Dreamforce'15に行ってきた〜前日編〜 - dack…

Dreamforce'15に行ってきた〜1日目〜

さて、いよいよ Dreamforce が開催されました! 忘れないうちに今日聞いてきたセッションの内容などをメモ。 前日の様子はこちら。 Dreamforce'15に行ってきた〜前日編〜 - dackdive's blog 参加したセッション 9:00 - 9:20 Lightning Experience Highlights…

Dreamforce'15に行ってきた〜前日編〜

今年はありがたいことに Dreamforce に行けることになり、 今日 (9/14) からサンフランシスコに来ています。 ただいま、現地の時刻で 9/14(月) 22:00 頃です。 イベントは明日からスタートですが、参加登録は前日から可能だったので 今日は登録だけ済ませ、…

[Salesforce]データローダの言語を英語にする

超小ネタ。 Salesforce のデータローダを英語で使う方法。 (Mac 版のみ確認) といってもデータローダはほとんどが英語で書かれているんだけど なぜか対象の SObject を選択するところだけ日本語が混じっていて目的のオブジェクトが探しづらい。 ので、完全…

[Salesforce]Lightning Experience関連の情報(2015/8/27時点)

8/26(水) に Lightning Experience なる新デスクトップ UI が発表されました。 ということで、現時点で公開されている資料を自分用にメモ。

[Salesforce]組織の有効期限をプログラムで確認する方法

ちょいメモ。 Trialforce ソース組織ってなぜか 1 年間の有効期限がありますよね。 すべての新しい TSO には 1 年間の有効期限が設定されます。TSO を 1 年以上使用する見込みの場合は、延長を申請するケースを登録します。 (https://developer.salesforce.c…

[Salesforce]スケジュール済みApexやトリガでVisualforceをpdfファイルに変換する方法(後編)

これの続きです。 [Salesforce]スケジュール済みApexやトリガでVisualforceをpdfファイルに変換する方法(前編) - dackdive's blog 前回までは Visualforce ページの(より正確には、PageReference クラスの)getContent() で pdf を取得しようとしてました…

[Salesforce]組織のパスワードポリシーをForce.com Migration Toolで変更する

開発やちょっとした検証用に作成した組織のパスワードが定期的に期限切れになると管理するのがつらいので そういった組織についてはパスワードの有効期間を無期限に設定している。 これを毎回手作業でやると面倒なので Force.com Migration Tool でやりたい…

[Salesforce]Visualforceコンポーネントをプレビュー表示する方法

ちょいメモ。 Visualforce ページと違って Visualforce コンポーネントには 画面に「プレビュー」ボタンがないので知らなかったんだけど Visualforce 開発者ガイドに書いてあった。 http://ap.salesforce.com/apexcomponent/[コンポーネント名] というように…

[Salesforce]スケジュール済みApexやトリガでVisualforceをpdfファイルに変換する方法(前編)

以前の記事で、Visualforce ページを pdf ファイルとして添付してメール送信する方法について書いた。 [Salesforce]Apexで添付ファイルつきのメールを送信する - dackdive's blog この時、問題点として PageReference クラスの getContent() メソッドは スケ…

[Salesforce]Apexで添付ファイルつきのメールを送信する

ちょいメモ。 Saleforce の添付ファイルを取ってくる方法と、Visualforce ページを pdf 化して送る方法。

[Lightning]カスタムコンポーネントをApp Builderに表示する

ちょいメモ。 Lightning コンポーネント開発者ガイドのここを見る。 Lightning ページと Lightning アプリケーションビルダーのコンポーネントの設定 | Lightning コンポーネント開発者ガイド | Salesforce Developers 今回は開発者ガイドに従って、HelloWor…

[Salesforce]リストビューに「一括削除」ボタンを追加する

ちょいメモ。 タイトルの通り、Salesforce のリストビューで選択したレコードを一括削除するボタンがほしい。 (リストビューとはこの画面) 実は以前にも似たようなことを試していて、 [Salesforce]関連リストのレコードを一括更新する方法〜その1〜 - dack…

[Salesforce]Summer'15でGAになるCustom Metadata Typeについて

リリースノートで言うとここ。 http://docs.releasenotes.salesforce.com/en-us/summer15/release-notes/rn_forcecom_development_additional_custom_metadata.htm 上のリリースノートからもリンクが貼られていたけど、詳しい解説っぽいブログ記事。 https:/…

[Lightning]Lightning Component イベントの処理方法メモ

という記事を Qiita に書いた。 Salesforce - Lightning Component: イベント処理の基本 - Qiita

Lightningコンポーネントでのログの出力方法

Trailhead の最後に出てきたので、要点のみメモ。 https://developer.salesforce.com/trailhead/lightning_components/lightning_components_debug Lightning には実行中のモードがあるらしい 詳しくはこちら http://www.salesforce.com/us/developer/docs/l…

SalesforceのデータをCSVでエクスポートする方法いくつか

何通りか方法が考えられるので、今のところ分かっているものをメモ。 考えられる方法 それぞれ参考 URL を貼っときます。 データローダのエクスポート DataLoaderを使いこなそう « TerraSky Tech Blog レポートのエクスポート機能 Export a Report バックア…

[Salesforce]Force.com Migration Toolで複数の組織を簡単に管理する

Force.com Migration Tool を使っている時、開発用の組織が複数あると build.properties を複数用意してデプロイ先を簡単に切り替えたい というニーズが個人的にあります。 具体的には、 デプロイ時、デプロイ先の組織 を引数で変更可能にしたい build.prope…

[Salesforce]行動を削除した時の UNSUPPORTED_APEX_TRIGGER_OPERATON について

エラー名でググってもちゃんとした情報が出てこなかったのでメモ。 Apex で複数件の行動を削除(delete)しようとした時、以下のようなエラーが出ることがある。 System.DmlException: Delete failed. First exception on row 0 with id 00U1000000k5j6vEAA;…

[Salesforce]ApexでCSVファイルをアップロードする

この記事を参考に。 SFDCで大容量CSVアップロード作ってみました。 - SHANON Engineer's Blog ほぼほぼこの通りでいいのですが、 parser でやろうとしている処理が parser という名前と一致しない " (ダブルクォート)で囲った値があった時に対応できない …

[Salesforce] 初心者向け Force.com Migration Tool用ファイル群を作った

初心者向けと書いてますが、ほとんど自分が普段使う用。 これから Force.com Migration Tool (Force.com 移行ツール)を使ってみようという人にも参考になるかも。 Force.com Migration Tool には最初からサンプルの build.xml が入ってるけど、 正直あんま…

[Salesforce] Winter'15バグ:Sandboxを更新したらログインできなくなった

焦った。 この Issue のことなんだけど、念のため日本語でまとめとく。 https://success.salesforce.com/issues_view?id=a1p300000008XDOAA2 (ちなみに、Issue を見た時は FIXED になってたけど2015/02/25昼時点で再現しました)

[Salesforce]IDを15桁から18桁に変換してくれるサイト

http://www.adminbooster.com/tool/15to18 意外と使える。 この Issue に遭遇して本文よく読んでたらでてきた。 https://success.salesforce.com/issues_view?id=a1p300000008XDOAA2 (2015/06/11追記) 15桁 → 18桁への変換方法が公式ヘルプとして存在した…

[Salesforce]Usage Metrics(利用状況総計値)のインストール手順

はじめに Summer'14 から正式リリースされているものの、日本語の記事がほとんど見当たらない Usage Metrics(利用状況総計値)についてのメモ。 Summer'14 リリースノートは こちら。 その他、参考になりそうなものはリファレンスにて。 とりあえず色々いじ…

[Salesforce] 見積または商談の「商品の追加」時のレイアウトを変更する

この画面。 この画面のレイアウトは変更できないものだとずっと思っていたけど、できた。 参考: How to change the multi line layout of the Quote line item on Quotes

[Salesforce][Apex] CreatedDate はアテにならないという話

テストをしていてハマったので、メモ。 CreatedDate がアテにならないというか、SOQL で ORDER BY に CreatedDate を使うとき は注意した方がいいです。

[Salesforce] 入力規則で「行動」の名前/関連先に特定のSObjectしかひもづけられないようにする

Apex 無しで実現できるか?と思って調べてみたらできた。 やり方 入力規則にこんな感じで入力する。 # 例) 名前にリードを指定した時にエラーにしたい場合 LEFT(WhoId, 3) = '00Q'

[Salesforce] Force.com Migration Toolでファイルを削除

ちょいメモ。 方法 以下のような構成で build.properties と 3 つの XML ファイルを用意する。 ├── build.properties ├── build.xml └── [任意のディレクトリ名] ├── destructiveChanges.xml └── package.xml package.xml API のバージョンだけ書く。 <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <version>32.0</version></package>

[Salesforce] 重複管理(Duplicate Management)機能を試してみた

はじめに Winter'15 ではベータ版だった「重複管理(Duplicate Management)」機能ですが、Spring'15 で正式リリースとなるようですね。 以前興味本位でケース申請したら断られた思い出が。 参考: Spring'15 リリースノート で、今回もプレリリース組織で正式…

[Salesforce]削除済みのレコードをSOQLで取得する

ずいぶん前に調べて解決したんだけど、まとめてなかったのでメモ。 削除したレコードを、開発者コンソールのクエリエディタ(Query Editor)でさっと確認したかった。のですが。。。

[Salesforce]メール送信のエラー検知あれこれ (不達管理など)

今日は Salesforce World Tour Tokyo ということで 久しぶりの Salesforce ネタです。 (内容はイベントとか最近の技術と全く関係ないです) 今回はメール送信について。 Apex では Messaging.sendEmail() メソッドでメールを送信できますが、 存在しないメー…

自作したVisualforceページに入力規則エラーを表示する

自分で作成したVisualforceページについては、コントローラ側でDmlExceptionを明示的にcatchしてあげないとシステムエラー画面が表示されてしまい、 開発組織にメールがとんでしまったりして何かと面倒なことになります。 で、そのための書き方。

Httpコールアウトを行うバッチのテスト

はじめに Apexから外部Webサービスを利用するためのHttpコールアウトを実装したクラスがある時、 そのテストにはHttpCalloutMockインターフェースを実装したクラス(いわゆるモックオブジェクト)が必要です。 ところが、このHttpコールアウトがバッチクラス…