5 返信 最新の回答 日時: May 24, 2016 1:19 AM ユーザー:wadats

    ポータルのフィールドに別のウィンドウの選択値を設定したい

    wadats

      ポータルの各行のボタンで、選択肢を表示するポータルのダイアログのウィンドウを開いて、選択した値をもとのポータルのフィールドに設定しようと思います。

       

      しかし、もとのポータルの2行目以降のボタンを押しても、1行目のフィールドに設定されます。

      ボタンを押されたタイミングで、

      新規ウインドウ[ ダイアログ ... ]

      選択肢を選択されると、

      ウィンドウを閉じる[ 現在のウインドウ ]

      フィールド設定[ {元のポータルのフィールド} ; {選択した値} ]

      のように、スクリプトを作りましたが、1行目に設定されます。

       

      試しに、ボタンを押されたタイミングで、直接値をフィールドに設定するときちんと2行目以降に設定されます。

       

      ちなみに、

      変数を設定[ $$rowno ; Get( アクティブポータル行番号 ))]

      で選択後、

      ポータル内の行へ移動[ ダイアログなし ; $$rowno ]

      ※ ここで、Get( アクティブポータル行番号 ) は$$rownoと同じになっています。

      とやっても同様です。

      何が不足しているのかお教えいただければと思います。よろしくお願いいたします。

        • 1. Re: ポータルのフィールドに別のウィンドウの選択値を設定したい
          user14047

          ポータルのボタンに Get ( アクティブポータル行番号 ) を引数として割り当て、スクリプトの方で、Get ( スクリプト引数 ) でその値をとってみてはいかがでしょうか?

          • 2. Re: ポータルのフィールドに別のウィンドウの選択値を設定したい
            wadats

            user14047 による書き込み:

             

            ポータルのボタンに Get ( アクティブポータル行番号 ) を引数として割り当て、スクリプトの方で、Get ( スクリプト引数 ) でその値をとってみてはいかがでしょうか?

            3段階スクリプトを通るため、グローバル変数で受け渡してみました。

             

            ボタンを押されたタイミングで、

            変数を設定[ $$rowno ; Get( アクティブポータル行番号 ))]

            新規ウインドウ[ ダイアログ ... ]

            選択肢を選択されると、

            ウィンドウを閉じる[ 現在のウインドウ ]

            ポータル内の行へ移動[ ダイアログなし ; $$rowno ]

            フィールド設定[ {元のポータルのフィールド} ; {選択した値} ]

             

            ひとつ気になるのが、スクリプトデバッガのステップインでは、ウインドウを閉じるでウインドウを閉じることができません。

            元のポータルに移動していないのでしょうか。

            • 3. Re: ポータルのフィールドに別のウィンドウの選択値を設定したい
              wadats

              フィールド設定[ {元のポータルのフィールド} ; {選択した値} ]

              の前にカスタムダイアログを表示しても、ウインドウは閉じていません。

               

              ウインドウを確実に閉じる方法がありますか?

              • 4. Re: ポータルのフィールドに別のウィンドウの選択値を設定したい
                user14047

                3段階のスクリプトというのは、

                • ボタンを押されたタイミング(そのボタンに割り当てられたスクリプト)
                • 選択肢を選択された(選択したボタンのスクリプト)

                これ以外にもスクリプトが動くわけですか?ウインドウを閉じないというのは、スクリプトトリガ?のスクリプトで何かしていたりします?

                 

                よくわからないことがあるので、何が原因でうまく動いていないか絞れないのですが、選択肢のスクリプトをこんな感じで動くと思います。

                レイアウトモードでインスペクタを出して、ポータルに自分の好きな名前をつけておいてください。

                 

                 

                変数を設定 [ $$CUSTOMERID ; 値: 選択肢の表示されているフィールド ] 
                ウインドウを閉じる [ 現在のウインドウ ] 
                オブジェクトへ移動 [ オブジェクト名: "ポータルに名付けたオブジェクト名" ] 
                ポータル内の行へ移動 [ 選択 ; ダイアログあり: オフ ; $$PORTALROWNUMBER ] 
                フィールド設定 [ 元のレイアウトのポータル内のフィールド ; $$CUSTOMERID ] 
                
                • 5. Re: ポータルのフィールドに別のウィンドウの選択値を設定したい
                  wadats

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

                   

                  ご指摘の通り、閉じるウインドウのOnLayoutExitからフィールドの設定をしていたため、結果として、元のポータルに設定することができていませんでした。

                   

                  user14047様、ご回答ありがとうございました。