• haruca.k
  • NEWBIE
  • 10 Points
  • Member since 2013

  • Chatter
    Feed
  • 0
    Best Answers
  • 3
    Likes Received
  • 0
    Likes Given
  • 5
    Questions
  • 6
    Replies
お世話になっております。

リードの取引開始処理をApex(Trigger)で実装したいと思っております。

Leadオブジェクトの「IsConverted(取引開始済フラグ)」を「true」にし、
新しいAccountを作成(もしくは既存のAccountを更新)し、
新しく作成したAccountのIDを
LeadのConvertedAccountId(取引開始済みの取引先ID)に設定する、
というように実装すれば良いのでしょうか?

ご存じの方がいらっしゃいましたらご教授頂きたいです。
どうぞ宜しくお願い致します。
お世話になっております。

1回のトランザクションでSOQLクエリにより取得できるレコード数 :50,000
のガバナ制限のエラーキャッチを行いたいと考えております。

Limits メソッドのgetQueryRowsで
SOQLクエリを発行することによって返されるレコード数を取得し、
50,000より大きいときcatchするというような処理を考えたのですが、
getQueryRowsだと、まずSelect文を発行してからgetQueryRowsで取得するため、
Select文を発行した段階で50,000件を超えていると、処理が落ちてしまいます。

上記ガバナ制限のエラーキャッチを行う方法などありますでしょうか?
ご存知の方がいらっしゃいましたら教えて頂けると幸いです。

以上、宜しくお願い致します。

お世話になっております。

 

Apexで、カタカナの入力チェック等を行うことは可能でしょうか。

 

Javaだと下のサイトのように、matchesメソッドを使って実装できるようですが、

http://d.hatena.ne.jp/dirablue/20090506/1241607961

同じようなことをApexで実装できるのでしょうか?

私が試した限りでは、Apexではmatchesメソッド使えないようでした。

お世話になっております。

 

http://ameblo.jp/multi-thread/entry-10472746167.html

上記サイトを参考に実装してみたのですが、

Component02Controllerクラスの8行目の「dto.pref = '山梨県';」の箇所で

エラー「System.NullPointerException: Attempt to de-reference a null object」がでてしまいます。

 

dto内のデータを取得するにはどのように実装すれば良いのでしょうか。

エラー原因の分かる方がいらっしゃいましたらご教授頂けると幸いです。

 

以下、私が実装したソースです。

 

○メインコントローラ

public class MainController{
    public final MainDTO dto{set;get;}
    public MainController(){
        dto = new MainDTO();
    }
}

 

○DTOコントローラ

public class MainDTO{
    //セッションに格納したい情報
    public String userName{set;get;}
}

 

○コンポーネントのクラスにDTOを引き受けるコントローラ

public abstract class BaseComponentController{
    public MainDTO dto{set;get;}
}

 

○コンポーネント1用コントローラ

public class Component01Controller extends BaseComponentController{

    public PageReference moveNext(){
        dto.address = 'てすと';      //★エラーが出る箇所
        PageReference nextPage = Page.Page2;
        return nextPage;
    }

}

 

○コンポーネント2用コントローラ

public class Component02Controller extends BaseComponentController{

    public PageReference movePrevious(){
        PageReference nextPage = Page.Page1;
        return nextPage;
    }

}

 

○コンポーネント1を読み込むページ1(Page1)

<apex:page controller="MainController" showHeader="false" standardStylesheets="false" >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ページ1</title>
</head>
    <c:Component01 dto="{!dto}" />
</html>
</apex:page>

 

○コンポーネント2を読み込むページ2(Page2)

<apex:page controller="MainController" showHeader="false" standardStylesheets="false" >
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>ページ2</title>
</head>
<c:Component02 dto="{!dto}" />
</apex:page>

 

 

○コンポーネント1(Component01)

<apex:component controller="Component01Controller">
<!-- <apex:attribute name="dto" description="required" assignTo="{!dto}" type="MainDTO" required="true"/> -->//←原因?
<apex:attribute name="dto" description="required" type="MainDTO" required="true"/>
<body>
Component01<br/>
<apex:form >
ユーザ名:<apex:inputText value="{!dto.userName}"/><br/>
<apex:commandButton action="{!moveNext}" value="進む"/>
</apex:form>
</body>
</apex:component>

 

○コンポーネント2(Component02)

<apex:component controller="Component02Controller">
<!-- <apex:attribute name="dto" description="required" assignTo="{!dto}" type="MainDTO" required="true"/> -->//←原因?
<apex:attribute name="dto" description="required" type="MainDTO" required="true"/>
Component02<br/>
<apex:form >
ユーザ名:<apex:inputText value="{!dto.userName}"/><br/>
<apex:commandButton action="{!movePrevious}" value="戻る"/>
</apex:form>
</apex:component>

 

お世話になります。

 

複数のVisualforceページの間で情報のやりとりを実装したいのですが、
実装するにはどのようにしたら良いのでしょうか。
買い物情報などをやりとりするイメージです。

 

複数のVisualforceページに同一のコントローラクラスを設定することが
一番良いのでしょうか?
しかしそのような方法だとコントローラのコードが長くなってしまうことが考えられますし、
画面遷移したときにブラウザのURLが変わらないことが気になるのですが・・・。

 

・複数のVisualforceページに同一のコントローラクラスを設定する
・GETリクエストのパラメータとしてURLに情報を付加する
(買い物情報なので長くなる&個人情報をパラメータに表示したくない)
以上の二つの方法以外で、Visualforceページの間で情報のやりとりを実装できる方法を
ご存知の方がいらっしゃいましたら教えて頂けると幸いです。

 

宜しくお願い致します。

お世話になっております。

リードの取引開始処理をApex(Trigger)で実装したいと思っております。

Leadオブジェクトの「IsConverted(取引開始済フラグ)」を「true」にし、
新しいAccountを作成(もしくは既存のAccountを更新)し、
新しく作成したAccountのIDを
LeadのConvertedAccountId(取引開始済みの取引先ID)に設定する、
というように実装すれば良いのでしょうか?

ご存じの方がいらっしゃいましたらご教授頂きたいです。
どうぞ宜しくお願い致します。
お世話になっております。

1回のトランザクションでSOQLクエリにより取得できるレコード数 :50,000
のガバナ制限のエラーキャッチを行いたいと考えております。

Limits メソッドのgetQueryRowsで
SOQLクエリを発行することによって返されるレコード数を取得し、
50,000より大きいときcatchするというような処理を考えたのですが、
getQueryRowsだと、まずSelect文を発行してからgetQueryRowsで取得するため、
Select文を発行した段階で50,000件を超えていると、処理が落ちてしまいます。

上記ガバナ制限のエラーキャッチを行う方法などありますでしょうか?
ご存知の方がいらっしゃいましたら教えて頂けると幸いです。

以上、宜しくお願い致します。
お世話になっております。

リードの取引開始処理をApex(Trigger)で実装したいと思っております。

Leadオブジェクトの「IsConverted(取引開始済フラグ)」を「true」にし、
新しいAccountを作成(もしくは既存のAccountを更新)し、
新しく作成したAccountのIDを
LeadのConvertedAccountId(取引開始済みの取引先ID)に設定する、
というように実装すれば良いのでしょうか?

ご存じの方がいらっしゃいましたらご教授頂きたいです。
どうぞ宜しくお願い致します。

お世話になっております。

 

Apexで、カタカナの入力チェック等を行うことは可能でしょうか。

 

Javaだと下のサイトのように、matchesメソッドを使って実装できるようですが、

http://d.hatena.ne.jp/dirablue/20090506/1241607961

同じようなことをApexで実装できるのでしょうか?

私が試した限りでは、Apexではmatchesメソッド使えないようでした。

お世話になっております。

 

http://ameblo.jp/multi-thread/entry-10472746167.html

上記サイトを参考に実装してみたのですが、

Component02Controllerクラスの8行目の「dto.pref = '山梨県';」の箇所で

エラー「System.NullPointerException: Attempt to de-reference a null object」がでてしまいます。

 

dto内のデータを取得するにはどのように実装すれば良いのでしょうか。

エラー原因の分かる方がいらっしゃいましたらご教授頂けると幸いです。

 

以下、私が実装したソースです。

 

○メインコントローラ

public class MainController{
    public final MainDTO dto{set;get;}
    public MainController(){
        dto = new MainDTO();
    }
}

 

○DTOコントローラ

public class MainDTO{
    //セッションに格納したい情報
    public String userName{set;get;}
}

 

○コンポーネントのクラスにDTOを引き受けるコントローラ

public abstract class BaseComponentController{
    public MainDTO dto{set;get;}
}

 

○コンポーネント1用コントローラ

public class Component01Controller extends BaseComponentController{

    public PageReference moveNext(){
        dto.address = 'てすと';      //★エラーが出る箇所
        PageReference nextPage = Page.Page2;
        return nextPage;
    }

}

 

○コンポーネント2用コントローラ

public class Component02Controller extends BaseComponentController{

    public PageReference movePrevious(){
        PageReference nextPage = Page.Page1;
        return nextPage;
    }

}

 

○コンポーネント1を読み込むページ1(Page1)

<apex:page controller="MainController" showHeader="false" standardStylesheets="false" >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ページ1</title>
</head>
    <c:Component01 dto="{!dto}" />
</html>
</apex:page>

 

○コンポーネント2を読み込むページ2(Page2)

<apex:page controller="MainController" showHeader="false" standardStylesheets="false" >
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>ページ2</title>
</head>
<c:Component02 dto="{!dto}" />
</apex:page>

 

 

○コンポーネント1(Component01)

<apex:component controller="Component01Controller">
<!-- <apex:attribute name="dto" description="required" assignTo="{!dto}" type="MainDTO" required="true"/> -->//←原因?
<apex:attribute name="dto" description="required" type="MainDTO" required="true"/>
<body>
Component01<br/>
<apex:form >
ユーザ名:<apex:inputText value="{!dto.userName}"/><br/>
<apex:commandButton action="{!moveNext}" value="進む"/>
</apex:form>
</body>
</apex:component>

 

○コンポーネント2(Component02)

<apex:component controller="Component02Controller">
<!-- <apex:attribute name="dto" description="required" assignTo="{!dto}" type="MainDTO" required="true"/> -->//←原因?
<apex:attribute name="dto" description="required" type="MainDTO" required="true"/>
Component02<br/>
<apex:form >
ユーザ名:<apex:inputText value="{!dto.userName}"/><br/>
<apex:commandButton action="{!movePrevious}" value="戻る"/>
</apex:form>
</apex:component>

 

お世話になります。

 

複数のVisualforceページの間で情報のやりとりを実装したいのですが、
実装するにはどのようにしたら良いのでしょうか。
買い物情報などをやりとりするイメージです。

 

複数のVisualforceページに同一のコントローラクラスを設定することが
一番良いのでしょうか?
しかしそのような方法だとコントローラのコードが長くなってしまうことが考えられますし、
画面遷移したときにブラウザのURLが変わらないことが気になるのですが・・・。

 

・複数のVisualforceページに同一のコントローラクラスを設定する
・GETリクエストのパラメータとしてURLに情報を付加する
(買い物情報なので長くなる&個人情報をパラメータに表示したくない)
以上の二つの方法以外で、Visualforceページの間で情報のやりとりを実装できる方法を
ご存知の方がいらっしゃいましたら教えて頂けると幸いです。

 

宜しくお願い致します。