サーバー上のスクリプト実行
現在のファイルを共有しているサーバー上で一覧から指定されたスクリプトまたは名前から推定されるスクリプトを実行します。
オプション
- 指定:
- [一覧から] を使用すると、実行するスクリプトを選択することができます。
- [名前で] を使用すると、計算式でスクリプト名を指定することができます。スクリプト名では大文字と小文字が区別されません。
- [引数] では、指定したスクリプトのスクリプト引数を指定します。
- 「終了するまで待つ」により、[サーバー上のスクリプト実行] によって呼び出されるサブスクリプトがホスト上で終了するまで、クライアント上のスクリプトを一時停止します。スクリプト結果またはエラーコードをホストからクライアントに返すには、「終了するまで待つ」を選択する必要があります。結果を処理するには Get (スクリプトの結果) 関数を使用します。またはエラーコードを処理するには Get (最終エラー) 関数を使用します。
互換性
製品 | サポート |
FileMaker Pro | はい |
FileMaker Go | はい |
FileMaker WebDirect | はい |
FileMaker Server | はい |
FileMaker Cloud | いいえ |
FileMaker Data API | はい |
カスタム Web 公開 | はい |
起点バージョン
13.0
説明
現在のファイルは FileMaker Server または FileMaker Cloud で共有する必要があります。その他の場合 [サーバー上のスクリプト実行] はエラーを返します。FileMaker Server および FileMaker Cloud でのスクリプトの実行を参照してください。
メモ
-
[名前で] を使用して別の FileMaker Pro ファイル内スクリプトを指定する場合、計算式では <データソース名>::<スクリプト名> を対象として評価をする必要があります (「請求書::3 か月ごとに請求」など)。データソース名およびスクリプト名のいずれも大文字と小文字が区別されます。
-
このスクリプトステップはサーバーサイドスクリプトによってこれ自体を実行できるため、サーバーのパフォーマンスに影響するデッドロックまたは無限ループ (例: スクリプト A がスクリプト B を呼び出し、スクリプト B がスクリプト A を呼び出す) を引き起こすおそれのあるシナリオを避けるように注意してください。
例 1
サーバー上でスクリプトを実行して現在のレイアウト名、顧客 ID、顧客の電子メールアドレスをスクリプト引数として送信します。サーバーは、レコードまたは引数内で指定されたレコードに移動して現在のレコードのスナップショットリンクを保存し、引数で指定された電子メールアドレスにスナップショットリンクを送信して結果を返します。クライアントはスクリプトの結果をサーバーから取得して、これをカスタムダイアログボックスで表示します。
メインのスクリプト: スナップショットリンクを電子メール送信 (クライアント)
サーバー上のスクリプト実行 [指定: 一覧から ; 「スナップショットリンクを電子メール送信 (サーバー)」 ; 引数: List (Get (レイアウト名) ; 顧客::ID ; 顧客::電子メール) ; 終了するまで待つ: オン]
カスタムダイアログを表示 [Get (スクリプトの結果)]
サブスクリプト: スナップショットリンクを電子メール送信 (サーバー)
レイアウト切り替え [GetValue (Get (スクリプト引数) ; 1)]
検索モードに切り替え [一時停止: オフ]
フィールド設定 [顧客::ID ; GetValue (Get (スクリプト引数) ; 2)]
検索実行 [ ]
変数を設定 [$パス; 値: Get (テンポラリパス) & "スナップショット.fmpsl"]
レコードをスナップショットリンクとして保存 [「$パス」; 現在のレコード ; フォルダを作成: オフ]
メールを送信 [SMTP サーバー経由で送信; ダイアログあり: オフ; 宛先: GetValue (Get (スクリプト引数) ; 3); 「$パス」]
現在のスクリプト終了 [テキスト結果: "スナップショットリンク送信済み"]