fukky

ポータル内の行へ移動スクリプトステップ正しく動作しない

Discussion created by fukky on Oct 3, 2016
Latest reply on Oct 6, 2016 by TSGalJ

製品名とバージョン

FileMaker Pro 15 Advanced(15.0.2)

OSとバージョン

macOS Sierra(10.12)

 

説明

[フィールド設定]スクリプトステップとの組み合わせで

[ポータル内の行へ移動[ 選択 ; 次の ; 最後まできたら終了 ]]スクリプトステップが正しく動作しない

 

再現の方法

1)2つのテーブルオカレンスにリレーションを設定し

[このリレーションシップを利用してこのテーブルでのレコードの作成を許可]オンに設定する。

 

2)レイアウト上に(1)に基づくポータルを配置する(スクロールバーを表示)

 

3)以下のようなスクリプトを作成する

[オブジェクトへ移動]←(2)のポータルへ移動

[Loop]

 [フィールド設定]←親テーブル・非関連テーブル・グローバル格納のフィールドなど作成オプションに関わらないフィールド

 [ポータル内の行へ移動[ 選択 ; 次の ; 最後まできたら終了]]

[End Loop]

 

4)親となるレコードを作成して実行する

 

このスクリプトは本来ならばポータル内の最終行まで来たらループから抜けるはずであるが
最後の行(作成のための空行)で[ポータル内の行へ移動]スクリプトステップが実行されると
"ポータル内の最初の行へ移動する" というエキセントリックな動作で無限ループに陥る。

 

 

なお、本来であれば出るはずの空行で次の行がない場合のエラー(101)は出ず、
何ごともなかったかのようにポータル内の最初の行へ移動してしまう。

 

スクリプトステップに表示された動作と実際の動作が異なるため理解が及ばずにいたが
yumipyon1016さんのサンプルファイルを検証することで上記の動作が判明した。

 

15.0.1 までは正常動作していたため既存カスタムAppへの影響は計り知れず早急な解決が望ましい。

 

 

一時的解決法(もしご存知であれば)
関連レコードの数を数えておき、 Get ( アクティブポータル行番号 ) と比較してループを抜ける。

Outcomes