tyoshikawa1106のブログ

- Force.com Developer Blog -

Force.com

SFDC:取引先の所有者移行と商談の所有者移行の関係の検証を試してみました

取引先の所有者移行と商談の所有者移行の関係の検証を試してみました。 検証用のユーザとして下記の2つを用意しました。(どちらも管理者権限ユーザ) ユーザA ユーザB 検証用の取引先と商談はこちら。 Apexコードによる所有者移行 はじめにApexコードによる所…

SFDC:セキュリティアラートのゲストユーザの組織の共有設定と共有モデルの保護設定を試してみました

セキュリティアラートのゲストユーザの組織の共有設定と共有モデルの保護設定を試してみました。 「ゲストユーザの組織の共有設定と共有モデルの保護」はForce.comサイトのゲストユーザに影響がある設定です。 変更内容 外部組織の共有設定: この更新により…

SFDC:ApexでDecimal型数値の整数変換を試してみました

ApexでDecimal型数値の整数変換する方法についてです。 Salesforce Developers 整数変換はround関数で実行できます。 Decimal d = null; // round d = 1; System.debug('d = 1 : ' + d.round()); d = 1.1; System.debug('d = 1.1 : ' + d.round()); d = 1.4;…

SFDC:Lightning Web コンポーネント開発を試してみました

Lightning Web コンポーネント開発を試してみました。 仕事でSalesforceアプリを開発するときにはVisualforceページで開発しているのと、どうしてもLightningコンポーネント開発が必要になるときには一つ前のバージョンのLightning Auraコンポーネントで開発…

SFDC:Apex開発で「SandboxPostCopy」インターフェースを試してみました

Apex開発で「SandboxPostCopy」インターフェースを試してみました。SandboxPostCopyインターフェースはSandboxを作成もしくは更新時に任意のApex処理を実行できる機能です。 SandboxPostCopy インターフェース 今回は数式項目内で現在の組織が本番環境かSand…

SFDC:組織IDをつかった本番組織とSandbox組織の判定について

組織IDをつかった本番組織とSandbox組織の判定についてです。Sandbox組織では数式の値をテスト用に変更したかったので組織IDをつかってフラグを用意してみました。 IF($Organization.Id == '00DX0000000XXXX' ,true ,false ) これでSandbox組織作成時に値を…

SFDC:Apexで数値項目の文字数取得を試してみました

Apexで数値項目の文字数取得を試してみました。項目の文字数取得に関してですが「テキスト型」項目の場合は次のように「.Length」で取得できます。 // テキスト型はLength()で取得可 Schema.DescribeFieldResult F = Account.Site.getDescribe(); Integer le…

SFDC:Apex開発で日付型や数値型をテキスト型に形式指定で変換する方法について

日付型や数値型をテキスト型に形式指定で変換する方法についてです。テキスト型に変換するだけなら「String.valueOf」関数で対応できます。 日付型をString.valueOf関数でテキスト型に変換すると「2019-12-08」のようにハイフン区切りで変換されます。 Apex…

SFDC:データローダバッチを使った別システムとのデータ連携について

Salesforceと別システムを連携するときですが、データローダのバッチモードの機能を利用してデータ連携の仕組みを構築できます。リアルタイムでの連携はできませんが、API連携などに開発をリソースを確保できない場合などに便利です。 データローダをバッチ…

SFDC:日時型をSOQLクエリで条件指定するときに注意すること

日時型をSOQLクエリで条件指定するときに注意することについてです。例えば作成日を条件に取得するようなケースがあたります。 日時型はSalesforceを普通に操作するような場面では下記のように表示されます。 「2019/09/19 7:10」 ですがApexなどでシステム…

SFDC:テストクラス判定できるTest.isRunningTest処理をつかったメンテナンス性の向上について

Apex開発でTest.isRunningTest処理を使ったメンテナンス性の向上についてです。 Salesforce Developers Apex開発を行ったときにはテストクラスの作成が必要になります。テストクラスをきちんと作成することで既存処理への予期せぬ影響に気づけたり、実装した…

SFDC:Apexバッチの数分おきに繰り返し実行を試してみました

Apexバッチを指定の時間や定期的に実行したい場合は、スケジュールバッチの仕組みを使って対応します。スケジュールバッチは「implements Schedulable 」を宣言したクラスを用意することで作成できます。 Scheduleクラス Connectクラス 上記のようなクラスを…

SFDC:Apexで日付の曜日部分を取得する方法

Apexで日付の曜日部分を取得したいときは、一度日時型に変換して「.format('E')」の処理で取得できます。 // 月曜日 Datetime day1 = Datetime.newInstance(2019, 9, 9); System.debug(day1.format('E')); // 火曜日 Datetime day2 = Datetime.newInstance(2…

SFDC:組織で個人取引先を有効化しているかの判別方法

個人取引先はB2Cの顧客情報を管理するための仕組みです。Salesforceのサポートに問い合わせを行い有効化してもらうことで利用可能になります。この機能を有効化後に法人取引先か個人取引先か判別したい場合はIsPersonAccount項目で判別できます。 これで法人…

SFDC:ユーザ編集権限とinsufficient access rights on cross-reference idエラー

ユーザ編集権限とinsufficient access rights on cross-reference idエラーについてです。Apexで処理の自動化の仕組みを構築する場合は下記のエラーが発生することがあると思います。 INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY, insufficient access r…

SFDC:VSCodeとSalesforce Extensionsの新機能 (July 2019)

VSCodeとSalesforce Extensionsの新機能 (July 2019)です。 Salesforce IDEs: July 2019 Updates | Developer Force Blog VSCodeによるSalesforce開発環境についてはこちら。 任意の組織に対して開発する ちょっと前まではDevHub組織で用意したスクラッチ組…

SFDC:Visuaforce開発の種類について

Visualforce開発の種類についてです。Visualforceはapexタグという独自タグを使わないと行けないイメージが定着していますが、いろんな方法で開発が可能になっていますので紹介します。(下記の名前部分は説明用に勝手につけたやつ) Visualforce Classic apex…

SFDC:VSCodeとApex開発でGitコマンド実行を試してみました

VSCodeにはTerminalのWindowが用意されているのでここからGitコマンドを実行できます。Terminalのウィンドウを開いてディレクトリ情報を確認するとこんな感じ。 プロジェクトファイルをgit管理したいときは「git init」コマンドをそのまま実行すれば良さそう…

SFDC:Lightning Design Systemのslds-text-titleとslds-text-title_capsの違いについて

Lightning Design Systemでページタイトルするときはslds-text-titleまたはslds-text-title_capsを利用します。 Ligtning Design Systemのサンプルコードをそのまま使うとおそらく上記のように英字が大文字に変換される形で表示されると思います。これは「sl…

SFDC:Spring'20のロゴ投票が開始されたみたいです

Salesforceのバージョンアップ恒例、ロゴ投票が開始されていました。 投票はTrailblazer Communityから。 https://t.co/VnZoQYjE8D

SFDC:データローダバッチ開発時に意識すること

CSVファイルを取り込んでSalesforceに登録したり、SalesforceのデータをCSVファイルの形式で出力したりできるデータローダというツールがあります。このデータローダはバッチモードで実行することができ、これによりデータ連携処理の自動化が実現できます。 …

SFDC:VSCodeからJSforceをつかったSalesforceへのアクセスを試してみました

VSCodeではTerminalの機能が利用できるようになっています。そのためエディタで作業しながら必要に応じてCommand Lineで処理を実行できます。Salesforce APIを実行できるJSforceというライブラリがありますが、この機能と組み合わせると便利そうだったので少…

SFDC:VSCodeとSFDXコマンドを使ってSalesforce組織のブラウザ起動を試してみました

Salesforce Platformでの開発はVSCodeとSalesforce Extensionsを使って行えます。VSCodeで開発中にSalesforce組織にアクセスしたなと思ったら下記のコマンドでブラウザを起動してアクセスできます。 > SFDX: Open Default OrgMacの場合はcmd + Pでコマンドメ…

SFDC:最新のデータローダ利用時に注意すること

CSVデータをSalesforceに取り込める便利ツールのデータローダですが、バージョン45.0から仕様が少し変わってOpenJDKバージョン11のインストールが必要になりました。 このOpenJDKバージョン11をWindows環境で利用する場合、Zuleのサイトからmsiファイルをダ…

SFDC:Salesforce Extensions for Visual Studio Codeを試してみました

MavensMateのサポートが終了した後も意外とそのまま使えていたので利用していたのですが、先日の最後のアップデートでご利用ありがとうございましたメッセージが表示されるようになりました。 ということでやろうと思いつつできていなかったVS Codeをつかっ…

SFDC:Apexによるメール送信処理とSandbox有効化時の送信設定について

Salesforce組織内でApexによるメール送信処理が存在している場合の注意点です。Sandbox組織を有効化した時点では組織からメール送信が実行できないようになっています。このままにしておくとApexのメール送信処理実行時に下記のようなエラーが発生します。 S…

SFDC:HAVINGクエリによる重複データの抽出を試してみました

HAVINGクエリによる重複データの抽出についてです。 Salesforce Developers 特定のデータが2件以上存在するデータの抽出はレポートのサマリレポートでレコード順で並び替える方法で対応するこことができたのでよく使ってました。 関係無いデータも表示されま…

co-meeting もくもく会#17に参加しました

FARO神楽坂にオフィスがあるco-meetingさんのもくもく会#17に参加しました。 場所は神楽坂駅から徒歩10分ぐらい。 オフィスが入っているFARO神楽坂の1階ラウンジでの開催でした。おしゃれ。 FARO神楽坂の1階にはカフェもあります。ネットで見て気になってい…

SFDC:Apex開発とアクセス権限の関係について

Apexクラスの処理は基本的にシステム権限で実行されます。そのためいくつか権限設定を行い正しく利用されるように制御する必要があります。 ページアクセスの権限 この権限が付与されていない場合はページにアクセスするとエラーメッセージが表示されます。 …

SFDC:Visualforceページにアクセスするときのカスタムボタンとアクションの違い

レコードの詳細ページからVisualforceページにアクセスするにはカスタムボタンの方法とアクションによる方法があります。 はじめに ・カスタムボタン => ClassicでもLightning Experienceでも両方OK. ・アクション => Lightning Excperienceのみ(Salesforce…