Salesforceメモ。Apexで曜日を取得したい。

Dateクラス、Datetimeクラスに曜日を返すようなメソッドがなかったので、作ってみました。



JavaのCalendarにあるDAY_OF_WEEKに倣って、
日曜日:1
月曜日:2
・・・
土曜日:7
の数値を返すようにしてみました。

曜日の取得の考え方は、Salesforceの数式で曜日を得る例を元にしています。

--------------------------------------------------------------------------------------

VisualforceでCSV出力するときのファイル名を日本語にしたいぞ。という話

過去の記事参考
Salesforce。VisualforceでCSV出力してみた話。


ファイル名を指定する場合、contentTypeで#をつけて記述すればそれがファイル名になります。
contentType="text/csv;charset=Shift-JIS;#test.csv"
だとtest.csvですね。

だから単純に
contentType="text/csv;charset=Shift-JIS;#テスト.csv"
とすればテスト.csvになるのではないかな?と思ったらならないのよ。

ということで、やり方わからないし検索してもこの件で悩んだ人はいないっぽい。
英語でnon-asciiの場合もできるぞ!みたいな情報だけは見つけたけど具体的なコード例が載ってなかったり。

っで、トライ&エラーでいろいろやってみたところ、URLエンコードをかけてあげればよいことが分かりました。
Salesforceの数式でURLENCODEというものが存在するので
contentType="text/csv;charset=Shift-JIS;#{!URLENCODE('テスト'.csv)}"
とすれば、日本語ファイル名となりました。
ApexだとEncodingUtilクラスにurlEncodeというメソッドがあるので、それを使用すればOKでしょう。


ただし・・・
Salesforce Clasicでやってみたところ
Win7 chrome・・・日本語。
Win7 firefox・・・エンコードの文字列。
Win7 IE11・・・日本語。
Macの場合は不明。。。環境持ってないので。
となるようで、オールマイティなやり方ではないようで、Salesforceの使用ユーザと調整が必要でしょう。
とりあえず、「日本語ファイル名でよろしく」と言われたら、断ったほうが無難です。




--------------------------------------------------------------------------------------

[メモ]Salesforce。Apexでパスワードロックの解除

オブジェクトリファレンスのUserのところを読んでみる。
https://developer.salesforce.com/docs/atlas.ja-jp.object_reference.meta/object_reference/sforce_api_objects_user.htm?search_text=User


最後に以下の一文があります。
--------引用開始--------
パスワード
(省略)
パスワードのロックアウト状況および User のロックアウトされた状況をリセットする機能は、API で使用できません。ユーザインターフェースを使用して、User パスワードのロックアウト状況をチェックおよびリセットする必要があります。

--------引用終了--------

ふむふむ。ユーザのパスワードロックアウト状況をチェック・リセットはないのか。なるほど。Apexで実装は無理なんだね。

と思っていたら、UserLoginなるオブジェクトがあることが分かりました。

https://developer.salesforce.com/docs/atlas.ja-jp.object_reference.meta/object_reference/sforce_api_objects_userlogin.htm?search_text=UserLogin

用意されているメソッドには

isFrozen・・・true の場合、このオブジェクトに関連付けられているユーザアカウントはロックされています。
IsPasswordLocked・・・true の場合、このオブジェクトに関連付けられているユーザアカウントは、ログインの失敗回数が多すぎるためにロックされています。API からこの項目を false に設定できますが、true には設定できません。

というのがあるので、これを使えばパスワードロック状況わかるし、解除できるではありませんか?

というわけで、以下のようなコードを開発者コンソールに打ち込んでみました。



エラーにならずにすんなりアップデートできましたよ。
ちなみに、isPasswordLockedをtrueで更新しようとすると、DmlExceptionが発生し、エラーメッセージは「CANNOT_PASSWORD_LOCKOUT, Cannot set field to true: [IsPasswordLocked]」というものが出てきました。

isFrozenはtrueで更新することができて、凍結することはできますよ。

--------------------------------------------------------------------------------------

メモ:Salesforceで入力規則でName項目の重複チェックをしたい。

Name項目の重複チェックを入力規則で行いたい。ということで、以下のように実装しました。

AND(
VLOOKUP($ObjectType.CustomObject__c.Fields.Name , $ObjectType.CustomObject__c.Fields.Name, Name ) = Name,
OR(ISNEW(), ISCHANGED(Name))
)

VLOOKUP関数はカスタムオブジェクトでのみ使えるということで、標準オブジェクトでは無理っぽいです。



--------------------------------------------------------------------------------------

iReport5.2.0。IPAExゴシックフォントを使用した帳票のPDFプレビューをしたい話

KPS社のReportsConnectを使用して帳票開発中です。

訳有りでまだSalesforceにReportsConnectをインストールできないため、iReportのプレビューでPDF出力したいのですが、特に何も考えずにIPAExゴシックを指定している帳票の場合、PDFプレビューをすると空文字状態になっちゃうんですよね。困った。

んで、いろいろiReportの設定をいじっていたら出力できるようになったので、やり方を簡単に。

iReportのツール→
オプション→
Fonts
と移動してInstall Fontsボタンを選択。

20170510_iRepoit01.jpg

ipaexg.ttfがある場所を選ぶ。
PDF Encording : Identity-Hを選択。
Embed this font...はチェックを入れる。

20170510_iRepoit02.jpg

20170510_iRepoit03.jpg

もし、fontが追加できない。みたいなパスつきのエラーが表示されたら、該当のパスのセキュリティを緩くしてやりなおし。

追加したフォントを選択して、Export as extensionボタンを押す。
適当なフォルダを選択して、ipaexg.jarとでも名前をつけて保存する。

20170510_iRepoit04.jpg

次に
iReportのツール→
オプション→
Classpath
で先ほど作ったipaexg.jarを追加してあげる。

20170510_iRepoit05.jpg


以上。

以下のようにPDFレビューでき、なおかつ埋め込みフォントもできることが確認できました。

20170510_iRepoit06.jpg


--------------------------------------------------------------------------------------

このブログについて
  • 全記事一覧(時間順)
  • このブログについて
  • 私のプロフィール
  • 当ブログで扱っている動画について
  • 記事違いなコメントのお返事

  • カテゴリー
    twitter
    カレンダー
    09 | 2017/10 | 11
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30 31 - - - -
    Amazon
    でたらめな当ブログにぴったりな商品を自動で表示するみたいです。



    月別アーカイブ
    プロフィール

    たづみ

    Author:たづみ
    ・1981年生まれの男
    ・もう少し詳細なプロフィールはこちらで

    最新コメント
    アクセスランキング
    [ジャンルランキング]
    日記
    828位
    アクセスランキングを見る>>

    [サブジャンルランキング]
    会社員・OL
    183位
    アクセスランキングを見る>>