[Salesforce]Visualforceのキャンセルボタンの必須チェック不要処理

Visualforceでinputfieldでキャンセルボタン時には必須を適用させたくない場合に、以下の例で対応する。

<apex:commandButton action="{!cancel}" value="Cancel" immediate="true"/>

ポイントは、「immediate=”true”」パラメータで対応可能となります。

上記のパラメータがないと、キャンセルボタン押下時にも必須チェックが行われる。

[Salesforce]月末日計算ロジック

Apexで月末日を計算するロジックを共有します。

date dateField = date.newInstance(1987, 12, 17);
Integer numberOfDays = Date.daysInMonth(dateField.year(), dateField.month());
Date lastDayOfMonth = Date.newInstance(dateField.year(), dateField.month(), numberOfDays);
system.debug('lastDayOfMonth:'+lastDayOfMonth);

[Salesforce]デバッグログ一括削除

Salesforceのデバッグログを一括削除する手順を共有します。

1.開発コンソルを開く

2.Query Editorにて、以下のSQL文を実行する。

select Id from ApexLog

3.Query Resultsに出力されたデバッグログIDを全選択して、「Delete Row」ボタン押下する。

そのほかの削除方法は以下です。

データローダで「デバッグログ」をExportしてDeleteする。

[Salesforce]カスタム設定の設定種別をリスト選択肢表示

カスタム設定画面にて設定種別の選択肢としてリストを表示するための設定は以下です。

設定 > 検索 > スキーマ

検索結果で、スキーマ設定にて、
リストカスタム設定の種別を管理を有効化します。

[Salesforce]ランダム文字列生成メッソド

Salesforceでランダム文字列生成メッソドを共有します。

	public String getRandomString(integer LengthRequired){
		String small = 'abcdefghijklmnopqrstuvwxyz';
	    String big = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	    String num = '0123456789';
	    String max = small + big + num;
	    String result = '';
	    integer position;
	    
	    List<String> random = new List<String> ();
	    // 英小文字から最低1文字選択
	    position = Integer.valueof(String.valueof(Math.roundToLong((small.length()-1)*Math.random())));
	    random.add(small.substring(position,position+1));
	    // 英大文字から最低1文字選択
	    position = Integer.valueof(String.valueof(Math.roundToLong((big.length()-1)*Math.random())));
	    random.add(big.substring(position,position+1));
	    // 数字から最低1文字選択
	    position = Integer.valueof(String.valueof(Math.roundToLong((num.length()-1)*Math.random())));
	    random.add(num.substring(position,position+1));
	    
	    // 残りの文字を全文字を対象にランダムで選択
	    for(Integer i = 0; i < LengthRequired - 3; i++) {
	        position = Integer.valueof(String.valueof(Math.roundToLong((max.length()-1)*Math.random())));
	        random.add(max.substring(position,position+1));
	    }
	    
	    // 文字列の並び回を最低回数繰り返す
	    for(Integer i=0; i< 100; i++) {
	    	Integer bef = Integer.valueof(String.valueof(Math.roundToLong((random.size()-1)*Math.random())));
	    	Integer aft = Integer.valueof(String.valueof(Math.roundToLong((random.size()-1)*Math.random())));
	    	String tmp = random[bef];
	    	random[bef] = random[aft];
	    	random[aft] = tmp; 
	    }
	    
	    for(String s : random) {
	    	result += s;
	    }
	    
	    return result;
		
	}
	

メッソド呼び出し

system.debug(getRandomString(6))

メッソド呼び出し結果

例えば、abcdef

[Technical terms]独自ドメイン

独自ドメインとは?

まず、ドメインとは、インターネット上の住所のようなもの

例えば、

https://www.abc.co.jp/

①https : プロトコル名

②www : ホスト名

③abc.co.jp : ドメイン名

独自ドメインとは、ドメイン登録サイトで取得できるオリジナルドメインのこと。

[Salesforce]Apex RESTコールアウト

Salesforceからコールアウトを実行して、外部サービスを受信する。

GETの例

Http http = new Http();
HttpRequest request = new HttpRequest();
request.setEndpoint('https://th-apex-http-callout.herokuapp.com/animals');
request.setMethod('GET');
HttpResponse response = http.send(request);
// If the request is successful, parse the JSON response.
if (response.getStatusCode() == 200) {
    // Deserialize the JSON string into collections of primitive data types.
    Map<String, Object> results = (Map<String, Object>) JSON.deserializeUntyped(response.getBody());
    // Cast the values in the 'animals' key as a list
    List<Object> animals = (List<Object>) results.get('animals');
    System.debug('Received the following animals:');
    for (Object animal: animals) {
        System.debug(animal);
    }
}

[Salesforce]VisualforceからCSV出力

VisualforceからCSV出力することについて共有します。

1.Visualforce作成する。

Visualforceページ名 : VFTab

<apex:page contentType="text/csv;charset=Shift_JIS;#fileName.csv" standardController="Contact" recordSetVar="contacts">Id,Name
    <apex:repeat value="{!contacts}" var="con">
{!con.Id},{!con.Name}
    </apex:repeat>
</apex:page>

説明

① text/csv

CSV出力

② charset

Excelで開くためにシフトJISを指定

③ #fileName.csv

ファイル名指定

④ Id,Name

ヘッダ部

⑤ {!con.Id},{!con.Name}

データ部

Salesforceはデフォルトの文字コードUTF-8である。

2.Visualforceタブ作成、手順1.Visualforceページを設定する。

Visualforceタブ名:VFTab

3.動作確認するする。

手順2.で作成じたタブ「VFTab」を押下する。

「filename.csv」ファイルがダウンロードされることを確認する。

ファイル中身は以下のようです。

Id	Name
0030K00001p3ReGQAU	Barr Tim
0030K00001p3ReHQAU	Bond John
0030K00001p3ReJQAU	Boyle Lauren
0030K00001p3ReLQAU	Davis Josh
0030K00001p3ReQQAU	D'Cruz Liz
0030K00001rMwdWQAS	ddd
0030K00001p3ReCQAU	Forbes Sean
0030K00001p3ReRQAU	Frank Edna
0030K00001p3ReBQAU	Gonzalez Rose
0030K00001p3ReSQAU	Green Avi
0030K00001p3ReMQAU	Grey Jane
0030K00001p3ReOQAU	James Ashley
0030K00001rMylnQAC	jjj
0030K00001p3ReKQAU	Levy Babara
0030K00001p3ReUQAU	Llorrac Jake
0030K00001p3ReTQAU	Nedaerk Siddartha
0030K00001p3ReIQAU	Pavlova Stella
0030K00001p3RePQAU	Ripley Tom
0030K00001p3ReDQAU	Rogers Jack
0030K00001p3ReNQAU	Song Arthur

[WordPress]テーマアップロード

WordPressで無料/有料テーマをLocalにダウンロードしてから、WordPressのテーマにアップロードする手順を共有します。

1.テーマをダウンロードする。

今回は、以下のサイトにて有料テーマをダウンロードする。

https://themeforest.net/

Enfoldを購入する。

購入したEnfoldテーマXipファイルをLocalにダウンロードする。

2.ローカルにダウンロードしたEnfoldテーマのZipファイルを解凍する。

C:\xxx\themeforest-1234567-enfold-responsive-multipurpose-theme.zip

解凍すると、以下のようにフォルダー構成となる。

フォルダー: themeforest-1234567-enfold-responsive-multipurpose-theme

下位フォルダー:documentation

下位フォルダー: License

下位フォルダー: Licensing

enfold圧縮ファイル

pad圧縮ファイル

versionファイル

3.LocalのWordPressのテーマ画面からアップロードする。

外観 > テーマ > 新規追加 > テーマのアップロード

ここで、アップロードファイルは、手順2.のenfold圧縮ファイルを選択する。

有効化する。