記述されたスクリプトは、それぞれ記述された場所ごとに決まった局面で実行されます。実行される際には、あらかじめrowやvalueといった名前の変数にデータがセットされた状態で実行されます。またスクリプトの返り値が意味を持つ局面では、スクリプトの最後に実行された行がその返り値になります。データ受け渡しの具体的な動作は、スクリプトを記述した場所によって違います。以下にそれぞれの実行局面とデータ受け渡しの動作を説明します。
この場所に記述されたスクリプトは、その項目のデータが作成ボタンによって作成された際に実行されます。実行前に変数rowにObject型のデータがセットされ、そのObjectのプロパティにそのスクリプト実行(引数有り)項目の子項目のデータがセットされます。返り値はありません。
この場所に記述されたスクリプトは、その項目に対応するフォーム上のボタンがクリックした際に実行されます。データの受け渡しはありません。
この場所に記述されたスクリプトは、その単純型項目が入力された際に実行されます。実行前に変数valueに入力された値がセットされます。返り値はありません。判定スクリプトが入力された値を拒否したい場合(無効な入力値としてエラーにしたい)場合は、throw "invalid";のように例外を投げてください。
この場所に記述されたスクリプトは、その単純型項目のデータが作成される際に実行されます。またレコード更新時に再計算するのチェックが入っている場合はそれに加えてデータ更新時にも実行されます。実行前に変数rowにObject型のデータがセットされ、そのObjectのプロパティにその項目の兄弟項目の値がセットされます。スクリプトの返り値がその項目の値になります。
(他のボタンについても同様です)。この場所に記述されたスクリプトは、その項目の入力ページの「Ok」ボタンが押され、書き込みでエラーが起きずに正常終了した際に実行されます。実行前に変数rowにObject型のデータがセットされ、そのObjectのプロパティにその項目の子項目のデータがセットされます。スクリプトの返り値には、遷移先をあらわす文字列を指定してください。
この場所に記述されたスクリプトは少し特殊で、GWSが起動しデータベースの準備ができた際に実行されます。またデータベース構造に変更が加わった際にも実行しなおされます。この共通関数初期化スクリプトは、複数のスクリプトが利用するような汎用的な関数をここで定義しておき、個々のスクリプトを実行するたびにその関数を定義するのを避けることによって実行を高速化する目的のために使います。ここで定義しておいた関数は、この項目や子項目、すべての子孫項目のスクリプトから呼び出すことができます。共通化関数初期化スクリプトには、データの受け渡しはありません。
(この項はまだ文書化されていません)
(この項はまだ文書化されていません)