IM-BloomMaker for Accel Platform IM-BloomMaker ユーザ操作ガイド 第7版 2021-08-01

5.5.1. IM-BloomMakerにおける変数の仕組みと注意点

IM-BloomMakerの変数はエレメントの値と変数値が双方向にバインドされます。エレメントに紐づけた変数の値を変更したいとき、再代入の処理を使う必要はありません。例えば、画面の値が変化したとき変数の値も変化します。
変数のデータ型は自動で変換が行われます。JSONエディタ上における変換の対応表を示します。JSONエディタの利用方法は「JSON形式を用いた代入値の設定」を参照してください。

<JSONエディタ上における型変換の対応表>

元から変数に設定されているデータ型
JSONエディタから入力する代入値の型 文字列 整数 浮動小数 高精度小数 真偽値 日付・時刻 マップ
文字列 整数 → 文字列 浮動小数 → 文字列 高精度小数 → 高精度小数 真偽値 → 文字列 日付・時刻 → 日付・時刻 マップ → 文字列
整数 文字列 → 整数 浮動小数 → 浮動小数 高精度小数 → 高精度小数 真偽値 → 整数 日付・時刻 → 整数 マップ → 整数
浮動小数 文字列 → 浮動小数 整数 → 浮動小数 高精度小数 → 高精度小数 真偽値 → 浮動小数 日付・時刻 → 浮動小数 マップ → 浮動小数
真偽値 文字列 → 真偽値 整数 → 真偽値 浮動小数 → 真偽値 高精度小数 → 真偽値 日付・時刻 → 真偽値 マップ → 真偽値
マップ 文字列 → マップ 整数 → マップ 浮動小数 → マップ 高精度小数 → マップ 真偽値 → マップ 日付・時刻 → マップ
IM-BloomMakerは通常ブラウザで扱えない特殊な型を使用しています。そのため、IM-BloomMakerで作成した別のコンテンツや外部サービスのAPIなど、コンテンツ外に変数の値を受け渡す場合は、ブラウザで取り扱える一般的な形式に変換が行われます。
  • 高精度小数

    この型の変数値は、文字列に変換されます。
    割り切れない数(1/3など)は、分数表記に変換されますので、変数値の受け取り側が分数表記に対応していない場合は、正しく値の受け渡しができません。
    この場合、浮動小数型の変数に値を入れ替えてください。ただし、特に割り切れない数を取り扱った場合、小数の精度が低下し桁落ちが発生することがあります。
  • 日付・時刻

    この型の変数値は、ISO8601形式の文字列に変換され、タイムゾーン情報も一緒に送信されます。
    変数値の受け取り側が ISO8601形式に対応していない場合は、正しく値の受け渡しができません。
    受け取り側がエポックミリ秒を想定している場合、整数型の変数に値を入れ替えてください。ただし、エポックミリ秒にはタイムゾーン情報が含まれないため、受け取り側でタイムゾーンが変わる場合があります。
    IM-LogicDesignerに日付・時刻型の変数値を受け渡す場合は、タイムゾーンをサポートしたimdatetime型を入力値として定義してください。 date型などタイムゾーンをサポートしていない型を使用すると、システムタイムゾーンで扱われるため、表示上の日付や時刻にずれが生じる場合があります。
    基準日のような「日付のみ」を扱う場合、IM-BloomMakerの日付入力エレメントでは、アカウントコンテキストのタイムゾーンで0時として日時が設定されます。例えば日本の標準時の場合、日付で「2021年1月1日」を表したときは、変数値には「2021-01-01T09:00:00+0900」として扱います。
    IM-LogicDesignerのような外部とのデータ連携で「日付のみ」を扱う場合は、連携元と連携先でログインユーザのアカウントコンテキストのタイムゾーンに統一するようにしてください。