こんな感じのコードを書いていたら、コンパイルエラーとなってしまい保存できない・・・
1 2 3 4 5 6 7 8 9 10 11 |
<apex:page standardController="Account"> <apex:pageBlock> <apex:pageBlockSection title="取引先情報"> <apex:outputText value="{!Account.id}" /> <apex:outputText value="{!Account.Name}" /> <apex:outputText value="{!Account.Phone}" /> <apex:outputText value="{!Account.Fax}" /> <apex:outputText value="{!Account.ShippingAddress}" /> </apex:pageBlockSection> </apex:pageBlock> </apex:page> |
エラーの内容はこんな感じです。
Unsupported type: common.api.soap.wsdl.Address used in expression: Account.ShippingAddress |
8行目のAccount.ShippingAddressの使い方で怒られているっぽい。
オブジェクトマネージャーで見てみると、Account.ShippingAddress(取引先.住所(納入先))はデータ型が「住所」となっています。
この「住所」というデータ型、実は複数のデータ項目からなる複合型らしい。ゆえにAccount.ShippingAddressというデータ項目の出力はできない。具体的に住所の何を出力するのか指定しろとのこと。
なのでこんな感じにしてあげれば良い。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<apex:page standardController="Account"> <apex:pageBlock> <apex:pageBlockSection title="取引先情報"> <apex:outputText value="{!Account.id}" /> <apex:outputText value="{!Account.Name}" /> <apex:outputText value="{!Account.Phone}" /> <apex:outputText value="{!Account.Fax}" /> <apex:outputText value="{!Account.ShippingPostalCode}" /> <apex:outputText value="{!Account.ShippingState}" /> <apex:outputText value="{!Account.ShippingCity}" /> <apex:outputText value="{!Account.ShippingStreet}" /> </apex:pageBlockSection> </apex:pageBlock> </apex:page> |
住所型の中にどんなデータが含まれているかは上のリンク先に書いてあります。
なお住所型は標準オブジェクトにのみ含まれるものなので、カスタムオブジェクトに住所型のデータ項目は作れないみたいですね!
コメント