現象
次の条件下で、最初のページにだけ存在するフィールドの値を、後続のすべてのページ上のフィールドにも代入したいのですが、うまくいきません。
- 複数ページの帳票ですが、利用者様のご事情で FlexiLayout Studio で Multi Page 設定が許可されていません。
- そのため特定のフィールドをインデックス用のキーに指定して、アセンブリをするルールを用いて、ひとつの帳票にまとめています。
スクリプトやルールを用いたのですが、後続のページでは代入ができませんでした。何が原因で、どのように対処したらよいかを教えてください。
原因
この現象は、文書ルールチェック後のタイミング以外では、まだ複数ページが別々の文書として認識されているタイミングであるため、文書をまたいだフィールド値の代入ができないことが原因です。
解決
文書ルールチェック後イベントハンドラで、以下のようなスクリプトを指定します。
if(Document.IsAssembled){
int PageCount = Document.Pages.Count;
// 文書ページの2ページ以降のページ毎に行う処理
for(int i = 1; i < PageCount; i++){
Document.Field("ドキュメントセクション名[" + i + "]\\代入先のフィールド名").Text = Document.Field("ドキュメントセクション名[0]\\参照元のフィールド名").Text;
}
}
コメント
0件のコメント
サインインしてコメントを残してください。