5-1 属性式の基本事項

ここでは、動的にアイテムの属性を変えるために指定する属性式について説明します。

属性式とは

属性式を利用すると、動的にアイテムの属性を変更できます。
属性とは、表示/非表示、座標、色、文字の大きさ、線の太さなど、アイテムのプロパティのことです。

  • 個々のアイテムに対して次のようなことが可能です。
    • 表示/非表示の切り替え
    • 位置の移動、整列
    • 拡大、縮小
    • 表示色の変更
    • 文字の強調
    • 同じ種類のアイテム属性の複写
  • 従来の計算式・編集式と同様に「式」として、次のようなことが可能です。
    • フィールド、バーコード、GS1データバーに入力されたデータ(計算式が定義されていれば計算結果)の参照
    • グローバル変数の参照
    • システム変数の参照
    • アイテムの座標の参照
    • 参照する値を計算式・編集式用、属性式用の関数で加工する
  • SVF製品Ver. 8.2までの属性変更との違いは、次のとおりです。
    • 属性を変更するアイテム自身に対して式を定義します。
    • 関数形式で指定し、一度に複数の属性を変更することもできます。
    • 関数名でどのような変更・参照をするのかが分かりやすくなっています。
  • SVF製品Ver. 9.0からSVF製品Ver. 9.1の変更点は次のとおりです。
    • 連写アイテムのある帳票に属性式を定義できるようになりました。
    • 繰り返しに含まれるアイテムに属性式を定義できるようになりました。
    • 拡張自動リンクモードを設定した場合でも属性式が使用できるようになりました。
    • 次のアイテムで属性式を設定できるようになりました。
      • レコード
      • サブフォーム
      • バーコード
      • GS1データバー
      • 2次元バーコード
      • 自動リンクフィールド
    • 次のアイテムが属性式から座標を参照できるようになりました。
      • 連写
      • テキストフレーム
    • 回転角度・横軸の角度を変更するROTATE関数を追加しました。
    • 次のシステム変数を追加しました(属性式のみで使用できます)。
      • _FORMCOPY_NO
      • _REPEAT_NO
      • _RECORD_DATA_NO
      • _RECORD_OUTPUT_NO
    • UNDERLINE関数で特定範囲のみの強調ができるようになりました。
制限事項

連写、繰り返し、マスク、テキストフレームには属性式を指定できません。
(ただし、連写、テキストフレームの座標は、他のアイテムの属性式で参照できます)

属性式の参照ルール

属性式内で他のアイテムを参照する場合は、次のようなルールがあります。

  • 同一階層か上位階層に配置されているアイテムを参照できます。
    • 階層の「境界」とみなすアイテムは、連写、サブフォーム、レコード、繰り返し です。
    • サブフォームとサブフォーム直下のアイテムは、相互に参照可能です。
    • レコードとレコード内のアイテムは、相互に参照可能です。


参照は同一階層または上位階層のみ可能

属性式の参照ルール
No. ケース 参照
1 同一階層(繰り返し内から繰り返し外も含む)
2 上位階層
3 上位階層(サブフォーム外)
4
  • 異なるレコード間
  • 異なるサブフォーム間
5 レコード内アイテムから異なるサブフォーム階層下のアイテム参照
6 下位階層(繰り返し内から繰り返し外も含む)
  • フィールド、バーコード、GS1データバーのデータ値を参照する場合は、それらのアイテムに設定されている計算式の実行後、編集式の実行前の値が取得されます。

    注意

    VrSetForm関数のモード(4または5)のレポートライターモードで実行した場合は、数値型フィールドにデータを入力しない、または文字列データを入力すると、そのフィールドの値(計算結果)は0です。

  • 参照先のアイテムにも属性式が指定されている場合は、参照先が同一階層ならば、先に参照先の属性式を実行してその結果を参照し、参照先が上位階層ならば、参照先の属性式が実行される前の内容を参照します。