You need to sign in to do that
Don't have an account?

extensions(APEX)からVisualfoce(PDF)への戻り値設定について
当方、まだまだ素人の域をでておりませんが、
Visualfoceを用い、カスタムオブジェクトに登録されている、あるレコードの内容をPDF出力を試みています。
この際、extensions(APEX)で編集した内容をVisualfoce(PDF)へ出力したいと思っていますが、
思い通りに行きません。
処理を実行すると、
Illegal view ID 笆。 遉セ蜀�イゥ菫�シ医Ο繝シ繝ゥ繝シ遲会シ峨縲笆 蟇セ螟悶く繝」繝ウ繝壹�繝ウ縲縲笆。 蟇セ螟 繧、繝吶Φ繝. The ID must begin with /
と言うエラーになります。
extensions(APEX)側の処理はうまく行っているように思えます。
ページ(PDF)表示する際、文字化けしていますが、
"■ 社内販促 □ 対外キャンペーン □ 対外 イベント"の結果を戻しているようです。
何がいけないのでしょうか。
-----Visualforceページ-----
<table>
<tr>
<td > {!Line}
</tr>
</table>
-----extensions-----
public class SalesPromotionApplForm_ExCtl2 {
/** 選択中のレコード */
private SalesPromotion__c SalesPromotion;
public String Line;
public SalesPromotionApplForm_ExCtl2(ApexPages.StandardController controller) {
this.SalesPromotion = (SalesPromotion__c) controller.getRecord();
}
public String getLine() {
String soql = Helper.createSOQL(SalesPromotion.getSObjectType());
soql += ' Where Id = \'' + SalesPromotion.Id + '\'';
SalesPromotion = Database.query(soql);
if(SalesPromotion.salesPromotion_Division__c =='社内販促'){
Line = '■ 社内販促 □ 対外キャンペーン □ 対外 イベント';
} else {
Line = '□ 社内販促 □ 対外キャンペーン □ 対外 イベント';
}
return Line;
}
}
どこのエラーが画面上に報告されているのかが不明ですが、このコードを実行するとエラーになりそうな箇所が2カ所あります。
まず、<apex:page>のaction属性に指定するメソッドは戻り値がvoidかPagereference型である必要があります。
それから、public String Line;をVisualforceページから参照するには、public String Line{get; private set;} のように、getterを実装する必要があります。
getLine()で行っている処理をコンストラクタ内に実装し、getLine() を削除。さらに<apex:page>のaction属性を削除してみてはいかがでしょうか?
All Answers
どこのエラーが画面上に報告されているのかが不明ですが、このコードを実行するとエラーになりそうな箇所が2カ所あります。
まず、<apex:page>のaction属性に指定するメソッドは戻り値がvoidかPagereference型である必要があります。
それから、public String Line;をVisualforceページから参照するには、public String Line{get; private set;} のように、getterを実装する必要があります。
getLine()で行っている処理をコンストラクタ内に実装し、getLine() を削除。さらに<apex:page>のaction属性を削除してみてはいかがでしょうか?
ありがとうござました。
無事対応出来ました。