ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
WP SET DATA CONTEXT
|
WP SET DATA CONTEXT ( wpDoc ; contextData ) | ||||||||
引数 | 型 | 説明 | ||||||
wpDoc | オブジェクト |
![]() |
4D Write Pro ドキュメント | |||||
contextData | オブジェクト |
![]() |
コンテキストに入れるデータ | |||||
WP SET DATA CONTEXT コマンドは、contextData 引数で指定したオブジェクトを、wpDoc 引数で指定した4D Write Pro ドキュメントのデータコンテキストとして設定します。新しいコンテキスト設定した場合には、ドキュメントの既存のコンテキストは全て上書きされます。
wpDoc 引数には、データコンテキストを受け取る4D Write Pro ドキュメントを渡します。
contextData 引数には、データコンテキストの中身を決定するオブジェクトを渡します。4D オブジェクトであればどんな物でも渡すことができます。これには4D.Entity などのORDA クラスに属するオブジェクトも含まれます。コンテキストをリセットするには、null オブジェクトを渡します。
4D Write Pro データコンテキストは揮発性のものです。つまり以下のようなことを意味します:
これにより、同じドキュメントを、異なるプロセスで、各プロセスごとに異なるコンテキストで使用することが可能です。
データコンテキストが設定されると、そのデータは4D Write Pro エリア内においてThis.data というフォーミュラを用いて利用可能になります。
注意: 表組のデータソースを使用している場合にはThis を通して追加のフォーミュラを利用することができます。詳細はThis を使用した式 を参照してください。
データコンテキストは、それが定義されたプロセス内においてのみ使用可能です:
異なるプロセスにおいて異なるデータコンテキストのフォーミュラを計算したい場合(例:同じテンプレートのドキュメントから異なる請求書を生成した場合など)、エラーを避けるためにそれぞれのプロセスにおいて WP New を使用してドキュメントを複製することが推奨されます。ドキュメントを複製してもデータコンテキストはコピーされないという点に注意してください。
4D Write Pro ドキュメントのコンテキストにオブジェクトを挿入し、その情報をページ上に表示させたい場合を考えます:
var $person;$info: Object
// person オブジェクトを作成する
$person:=New object()
$person.firstName:="John"
$person.lastName:="Doe"
// person オブジェクトを使用してコンテキストを設定する
WP SET DATA CONTEXT(WParea;$person)
// "This" キーワードを使用してコンテキストデータにアクセスする
$info:=Formula(This.data.firstName+" "+This.data.lastName)
// ページ上にコンテキストデータを表示する
WP INSERT FORMULA(WParea;$info;wk replace) // ページ上に "John Doe" を表示する
上記のコードを実行した結果は以下のようになります:
テンプレートのドキュメントを使用している場合、それとコンテキストデータを組み合わせることでページにデータを流し込むことができます。これは例えばメールキャンペーンなどにおいて有用と言えます。
テンプレートがロードされてコンテキストが設定されれば、以下のようにテンプレートを活用することができます:
以下のコードは、エンティティセレクション内をループし、各エンティティに対して印刷プレビューを作成します:
Blog post - ORDA and 4D Write Pro : The power couple!
WP COMPUTE FORMULAS
WP Get data context
プロダクト: 4D
テーマ: 4D Write Proランゲージ
番号:
1786
初出: 4D v19 R5
4D Write Proリファレンス ( 4D v20 R7)