新規記事の投稿を行うことで、非表示にすることが可能です。
2018年06月05日
SOQLのリレーションクエリ
2018年06月04日
SOQLでのパワー項目を使用すると非常に高速検索できる
SOQLを使用し、検索する時に
少数レコードなら、OKで気にしないですが
大型案件になると
検索が遅くなり、画面の反応が
遅いのがもちろん、エラーでることも
ありえます。
そこで、今回、
検索する時にパワー項目を使うことによって
検索が非常に高速になるケースを紹介します。
2018年06月03日
2018年06月02日
sfdc バッチでの集計関数
SFDCの導入にあたって、
バッチを使う場合が少なくないか
と思います。
特に月初に
請求書を作ったり、
未払い請求書を管理したり
することがあります。
その時にバッチが要望次第に
登場する場合があります。
さらに集計する必要の時も
ありえます。
今回、集計関数を
バッチ内で使うようにします。
※本来、バッチで集計関数は使用できませんよう。
直接使うと下記のようなエラーがあります。
「Aggregate query does not support queryMore(), use LIMIT to restrict the results to a single batch」
そこで、バッチでの集計関数の使用について
今回、共有します。
Salesforceの集計関数
Salesforceの導入だけではなく、よくあるのが
月単位で請求金額をみたいとか
契約単位の請求金額をみたいとか
顧客単位、さらに契約単位、さらに月単位など
の切り口でデータをみたい要望がある
今回、それに活かせる集計関数を紹介します。続きを読む...
2018年06月01日
SFDC TEST CLASS CONSTRUCTOR
Salesforceの開発時にテストクラスを作成したことがあると思います。
たまにコンストラクタのテストで困っていませんか?
今回、自分が困ってたことを共有します。
共有するべきレベルではないかもしれない笑
この記事は簡単です。
何に困ってたかというと
コンストラクタのテストは何をいても通らないでした。
原因は下記のサンプルクラスでした。
Public with sharing class myClass{ public void myClass(){ //処理内容 } }
気づきましたか?
コンストラクタの定義で【Void】を入れてしまった笑
レベル低いミスでした。すみません笑
2018年05月31日
2018年05月30日
How to pass html tag value to cls
SalesforceのV.Fで画面を作成する時に
たまにHTMLタグしな使わないとか、一部HTMLタグの場合あるか思います。
しかしHTMLタグで書いたコードはどうやって
コントローラに渡して処理するの?って悩んだこと、あるいは悩んでいますか
今回、このV.F. ~ classでそのやりとり方法を共有します。どうぞよろしくお願いします!
- この記事の目次
- サンプルクラス
- サンプルページ
サンプルクラス
public List<String> strSearchList {set;get;} public String selectedValue {set;get;} // VFのaction functionのaction属性に設定するメソッド public void setParam(){ //デバッグで値を確認できる System.debug('**** selectedValue−>' + this. selectedValue); }
サンプルページ
function getHtmlTagValue(){ var value = getElementById('IDTextInput').value; // action functionを呼び出し、パラメータは引数に該当する、nameは関数名に該当する setParam(value); } <td> <input type="select" value="{!strSearchList}" placeholder="Search Knowldege" id="IDTextInput"/> </td> <apex:actionFunction action="{!setParam}" name="setParam"> <apex:param name="yourVariable" value="" assignTo="{!selectedValue}"/> </apex:actionFunction> ||< 解釈: V.F.内に何が原因でHTMLタグを使わなくちゃの場合、PageのFormのタグに入れた値をコントローラに渡すには基本、js・action functionでやる こんな時に Jsの役割はhtmlのgetElementByIdで取りたいタグの値を取る Action functionに設定したパラメータに渡す
2018年05月29日
DATETIMEVALUE 時間計算
たまに日付/時間項目に数式でデフォルト値を設定するが、 今回、GMT時間・標準時間になるための計算についてメモをします
まず 日付/時間項目にデフォルト値を設定する場合があるかと思う 特に出勤や退勤の項目とか、ニーズによって、様々な設定も必要になってくる デフォルトパターン1:Now() デフォルトパターン2:数式で違う項目の値をなんかの計算結果を設定する 厄介はデフォルトパターン2、なぜなら、別の項目の値を持って来て、計算すると Text()はたまに使うかも、使ったらどうなる?
・日付値を TEXT(NOW()) 関数でラップして、 NOW() は GMT にオフセットされます。 通常、NOW() は表示される時点でユーザのタイムゾーンに変換されますが、 この場合はテキストに変換されているため、この変換が行われません。 そのため、サンフランシスコ時間 (GMT-7) の 8 月 1 日午後 5 時にこの数式を実行すると、 「現在の日時は、2013–08–02 00:00:00Z です」と表示されます。
日付/時間およびタイムゾーンの留意点 日付値および日付/時間値は GMT で格納されます。レコードを保存するときは、項目値がユーザのタイムゾーンから GMT に調整され、その後レコード詳細ページやレポートで表示される時点で閲覧者のタイムゾーンに戻されます。日付に変換することで問題が生じることはありません。日付/時間から日付に変換しても日付値は同じであるためです。 ただし、日付/時間の項目や値を処理する場合、変換は常にユーザのタイムゾーンではなく、GMT で行われます。標準の日付/時間項目から別の標準の日付/時間を減算する場合は、どちらの項目も同じタイムゾーンのため問題は生じません。他方、計算するいずれかの値が、テキストまたは日付値から日付/時間値に変換されたものである場合には、結果が異なります。 たとえば、サンフランシスコのユーザが、カスタムの Date_Time_c という日付/時間項目に 2013 年 8 月 2 日午前 12 時の値を入力するとします。太平洋夏時間の時差は GMT-7 のため、この値は 2013–08–02 07:00:00Z として保存されます。8 月 1 日午後 12 時 (PDT) に、ユーザがレコードを表示して、次の数式を実行します。
DATETIMEVALUE()の値を「+」OR「ー」時間なら、下記のようにできます DATETIMEVALUE( TEXT( DoDate__c ) & ' ' & TEXT( DoHour__c ) & ':' & TEXT( DoMinutes__c ) & ':00' ) - (9/24) TEXT()によってローカル時間に変換されないため、DATETIMEVALUE()の結果をローカル日本に戻す (9/24):9時間を表す
2018年05月28日
数式の計算タイミング
久しぶりテストクラスを作ります 今日、テストクラスを作る時に気づいたことを共有します
分かるタイミングはDBから問い合わせる時 ・画面表示:数式項目が表示される時 ・アクセスされる時:API 経由でレコードを SELECT するタイミング
説明 データ型を数式で設定した項目の数式はいつ計算(評価)されますか 解決策 数式が評価されるタイミングは、数式項目が表示される、もしくはアクセスされる時となります。 そのため、値を画面上に表示する時等、データを読み込みに行く度に評価されます。 タイミングとしては、"画面表示" や "API 経由でレコードを SELECT するタイミング" 等、 対象項目のデータが生成されるタイミングで毎回評価されます。
まずSFDCのCRMからSFDCのDBの間をイメージについて 自分なりの理解を言います A:
↓ ↓ ↓ B:
↓ ↓ ↓ C:
あるテーブルに数式項目があるとする OBJ Name:Test__c FieldA:Currency__c(通貨型) FieldB:Currency__c*3(数式(通貨型)) 新規データを一つ作る insert Test__c すぐクラス内で Test__c.数式項目をデバッグで確認するとNullです 理由はinsert Test__cは上記の「B」webサーバーにある 数式のロジックは「C」SFDCのDBにあるので DBを問い合わせ(Select * From DB)しないとその数式のロジックは動作しないわけ
寝まーす!笑