Hatena::ブログ(Diary)

熱狂はエルバホに達す

2004 | 01 | 05 | 07 | 08 |
2005 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 10 | 11 | 12 |
2006 | 01 | 02 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 09 | 10 | 11 |
2009 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 08 | 09 | 10 | 11 |
2011 | 01 | 05 | 06 |

2011年06月24日

Salesforce / ビューでチェックしたレコードを○○する方法

ビューでチェックしたレコードを○○する方法。良く使いそうなので、忘れないようにめもめも。

サンプルは、取引先のビューで選択したレコードリスト表示するごくごく簡単なもの。

Apex(AccountListController.class

(List<オブジェクト名>)controller.getSelected()で、

ビューで選択したレコードIDが取得できるようです。

public class AccountListController{
public List<Account> accountList{get;set;}
    public AccountListController(ApexPages.StandardSetController controller) {
        List<Account> acId = (List<Account>)controller.getSelected();
        accountList=[select Name from Account where Id IN :acId];
    }
}

Visualforce(AccList.page)

<apex:page standardController="Account" extensions="AccountListController" recordSetVar="accounts">
    <apex:pageBlock id="results">
        <apex:pageBlockTable value="{!accountList}" var="a" cellPadding="3" border="0">
            <apex:column >{!a.Name}</apex:column>
        </apex:pageBlockTable>
    </apex:pageBlock>
</apex:page>

カスタムボタン作成

[設定]⇒[カスタマイズ]⇒[取引先]⇒[ボタンリンク]⇒[新規]でカスタムボタン作成し、

「内容のソース」で作成したVisualforceを指定します

f:id:divecafe:20110625002350p:image


検索レイアウトボタンの表示

[設定]⇒[カスタマイズ]⇒[取引先]⇒[検索レイアウト]⇒「取引先リストビュー」の[編集]で

作成したカスタムボタンを選択し、[追加] をクリックします。さらに[保存]をクリックします。

f:id:divecafe:20110625002349p:image

できあがり

リストの上に作成した[表示]ボタンが現れてます。いくつかの取引先をチェックします。

f:id:divecafe:20110625002351p:image

選択した取引先名だけが表示されます。

f:id:divecafe:20110625002352p:image



2011年05月21日 全米が泣いたWindowsXP再インストールの話

全米が泣いたWindowsXP再インストールの話

知り合いから、ノートPCが動かなくなったので直して欲しいとお願いされ、

いろいろやってみましたが最終的にはデータは取り出せず、

OSだけ再インストールと腑甲斐ない結果に終わってしまいました。


その悪戦苦闘ぶりをメモがてらに記します。




続きを読む

2011年05月13日 歯磨き最強伝説

歯磨き最強伝説

f:id:divecafe:20110514001128j:image


今回も2年ぶりぐらいに歯医者にお世話になってます。


歯茎のポケットの深さを調べる歯茎チェックなんたるものを

やってもらったのですが、あんまり状態が良くないとのこと。。。


使ってる電動歯ブラシの種類や、磨き方を説明すると

電動歯ブラシで、ゴシゴシやってはダメですと叱られてしまった。。。


固めのブラシで強めに磨くのが好きな僕は、

今使ってる電動歯ブラシじゃちょっともの足りない。。。

しかも「強」が壊れて動かないのだ!


なので、思い切って新しいのを購入。しかも“ちょっとええやつ”!

ちょwwwww これすげえ!すげよお前!

磨いてる感全開で、歯茎の間もマッサージできてよし。

歯磨きのやり方変えるだけで、歯茎の状態は回復できるとの

ことなのでちょっと頑張ってみよう!

というかこれで歯磨きすると楽しい!気持ちいい!

f:id:divecafe:20110514115243j:image

あと先日ハワイ行った時に、買ったリステリンの歯磨き粉。

日本では、殆ど手に入らないのです。

これもまた、磨いた感がすごくスッキリしていいのです。




関連記事

通い続けることができる歯医者の4つの見分けかた

2011年01月17日 MacBook Air 11インチ欲しい! このエントリーを含むブックマーク このエントリーのブックマークコメント

2010年11月21日

Force.com上でポンパレの限定チケットが何枚売れているか表示テスト

f:id:divecafe:20101112192528j:image


最近環境が変わりまして、Salesforceの認定コンサルタントとして

クラウド関連の仕事をするようになりました。


コンサルタントと言っても、実際は、Salesforceの開発プラットフォーム「Force.com」上で

アプリケーションポイントクリックで構築したり、Force.com独自のプログラミング

言語であるApexや、VisualForceを使ってコーディングとかもやってます。


Apexや、VisualForceのコーディングは初めてなので、ここでは初心者なりに勉強した

成果をチョットずつでもアウトプットしていこうと思ってます。


何を?

REST形式のAPI経由で外部のサイトから情報を取ってくるのは、過去いろんな

案件でやりましたが、Force.comだとどうやって実装するのか興味あったので、

今回は、Force.comのVisualForce上でポンパレハーゲンダッツ限定チケット

何枚売れているか表示するというテスト


リモートサイトの設定

早速、Force.com特有の設定があります。

[設定] ⇒ [管理者設定] ⇒ [セキュリティコントロール] ⇒[リモートサイトの設定]

で、今回取得先のURLhttp://ponpare.jp/」を登録します。

いろんなサイト勝手に繋ぎに行くなってことですね。

f:id:divecafe:20101122005753p:image

APEXクラス作成(devTest1.cls)

今回は、XMLパースオープンソースライブラリとしてXML Dom parserというのが

Developer Editionにデフォルトで入っているのでそれを利用しました。これだと簡単!

public class devTest1 {
  public String getMessageContent(){

    // 指定したURLにHTTP接続GETメソッドで接続する
    HTTPRequest req = new HTTPRequest();
    req.setEndpoint('http://ponpare.jp/xml/P246.xml');
    req.setMethod('GET');
    
    // 実際に接続を行う
    HTTP h = new HTTP();
    HTTPResponse res = h.send(req);
    
    // XMLの中から、Coupon要素を抽出し、注文数を取得する
    String result = 'ハーゲンダッツ注文数:';
    if (res.getStatusCode() == 200) {
    	String body = res.getBody();
    	XMLDom dom  = new XMLDom(body);
    	List<XMLDom.Element> items = dom.getElementsByTagName('Coupon');
    	for (XMLDom.Element item:items){
    		result += item.getElementByTagName('Amount').nodeValue;
    	}
    }
    return result;
  }
}

VisualForceページの作成(devPage0.page)

Developer環境にもともとあったクラステンプレート(SiteTemplate)を

コピーして利用。apex:outputTextのとこで注文数を表示します。

<apex:page showHeader="false" controller="devTest1">
  <apex:stylesheet value="{!URLFOR($Resource.SiteSamples, 'SiteStyles.css')}"/>
  <apex:insert name="header">
    <c:SiteHeader />
    <hr/>
  </apex:insert>
  <apex:insert name="body"/>
      <apex:outputText value="{!MessageContent}" />
  <apex:insert name="footer">
    <hr/>
    <c:SiteFooter />
  </apex:insert>
</apex:page>

出来上がり

こんな感じ。素っ気無いですが。

f:id:divecafe:20101122005752p:image