2 返信 最新の回答 日時: Apr 23, 2017 10:55 PM ユーザー:edec-system

    「レコード/検索条件の復帰」スクリプトステップが重い

    edec-system

      環境:Win10 FMPro14 Adv FMServer14

       

      「レコード/検索条件の復帰」スクリプトステップが重い原因についてご教示ください。

       

      販売商品の登録レイアウトを作成しています。

      OnRecordCommitトリガーを設定し、登録ボタンがタップされないとコミットされないようにしています。そのうえで・・

      ①レイアウトを開くときに新規レコード作成、リレーション先のテーブルからルックアップでいくつかのフィールドを設定

      ②商品一覧ポータルの行タップでポータル用テーブルの3つのフィールドをレイアウト用テーブルのフィールドに設定(表示される)

      ③キャンセルボタンをタップして「復帰」ステップを実行する

       

      検索ダイアログが出て(検索実行中・・・1 キャンセル中・・・の表示)、このステップに1分ほどかかります。

      ちなみに①のあとすぐにキャンセルボタンをタップしたときは、処理はすぐに終わります。

       

      処理が重くなる原因として何が考えられるでしょうか。

      どうぞよろしくお願いいたします。

        • 1. Re: 「レコード/検索条件の復帰」スクリプトステップが重い
          user14047

          レコードを開いた状態(なんらかの編集がかかった段階でまだ確定されていない状態)で、関連レコード全てを掴んでしまいます。

          関連レコードのレコード数が多いとその数分だけ復帰作業をしますので、無駄なリレーションシップ(例えば関連TOの全てのレコードが対象になっているようなリレーションシップ)になっていないかを確認してみてはいかがでしょうか?

          全てのレコードが対象となるようなリレーションシップでポータルフィルタを使って絞り込んでいるようなものであれば、フィルタを使わなくてもいいようなリレーションシップに変更してみてください。

          • 2. Re: 「レコード/検索条件の復帰」スクリプトステップが重い
            edec-system

            user14047様

             

            早速のご返信、ありがとうございました。

             

            「復帰」で処理されるのは、変更を加えたテーブルのレコードについてだけだと思い込んでいました。

            商品一覧ポータルにはすべての商品を表示させていたため時間がかかったようです。

            リレーションを変更したところ、処理が早くなりました。

            大変助かりました。

             

            ありがとうございました。