メインコンテンツまでスキップ
バージョン: 20 R6

VP SET CUSTOM FUNCTIONS

VP SET CUSTOM FUNCTIONS ( vpAreaName : Text ; formulaObj : Object )

引数説明
vpAreaNameText->4D View Pro フォームオブジェクト名
formulaObjObject->フォーミュラオブジェクト

説明

VP SET CUSTOM FUNCTIONS コマンドは、4D View Pro フォーミュラから直接呼び出し可能な 4Dフォーミュラを指定します。 カスタムのファンクションはドキュメント内に保存されていないので、VP SET CUSTOM FUNCTIONSOn Load フォームイベント内で呼び出される必要があります。

VP SET CUSTOM FUNCTIONS で指定されたフォーミュラは、最初の文字が入力されるとポップアップメニューに表示されます。 詳細については 式と関数 を参照ください。

VP SET CUSTOM FUNCTIONS が同一セッション中に同じエリアに対して複数回呼び出された場合、最後の呼び出しのみが有効になります。

vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

formulaObj 引数として、4D View Pro フォーミュラから呼び出し可能な 4Dフォーミュラと、その追加のプロパティを格納したオブジェクトを渡します。 formulaObj 引数の各 customFunction プロパティが 4D View Pro エリア内でのファンクション名になります。

プロパティ説明
<customFunction>Objectカスタムファンクションの名前。 <customFunction> は、4D View Pro フォーミュラで表示するカスタムファンクションの名前を定義します (スペースは使用できません)
formulaObject4Dフォーミュラオブジェクト (必須)。 Formula コマンド参照。
parametersObject の Collection引数のコレクション (フォーミュラ内で定義されている順). 詳細については 引数 の章を参照ください。
[ ].nameText4D View Pro に表示する引数の名前。
[ ].typeNumber引数の型。 サポートされている型:
  • Is Boolean
  • Is collection
  • Is date
  • Is Integer
  • Is object
  • Is real
  • Is text
  • Is time
  • type は省略するか、デフォルト値 (-1) を渡すことができます (ただし、コレクション型の引数が 1つでも存在する場合は、引数の型宣言は必須です)。
    type を省略した、または -1 を渡した場合、値は型と一緒に渡されますが、日付と時間の値に関してはオブジェクトとして送られます。 typeIs object の場合、オブジェクト引数は .value プロパティに格納されて渡されます。 引数 の章を参照ください。
    summaryText4D View Pro に表示するフォーミュラの説明
    minParamsNumber引数の最小の数
    maxParamsNumber引数の最大の数。 ここに parameters の length より大きな値を渡すことによって、デフォルトの型を持つ "任意の" 引数を宣言できるようになります。

    警告

    • VP SET CUSTOM FUNCTIONS が呼び出された場合、VP SET ALLOWED METHODS コマンドにより許可されたメソッド (あれば) は同 4D View Pro エリアにおいて無視されます。
    • VP SET CUSTOM FUNCTIONS が呼び出されると、4D View Pro エリアは SET TABLE TITLESSET FIELD TITLES コマンドに基づく機能を無視します。

    例題

    4D View Pro エリア内で、フォーミュラオブジェクトを使用して、数値を追加し、顧客の苗字・敬称および平均売上を取得します:

    Case of
    :(FORM Event.code=On Load)

    var $o : Object
    $o:=New object

    // "addnum" メソッドを使用して "addnum" ファンクションを定義します
    $o.addnum:=New object
    $o.addnum.formula:=Formula(addnum)
    $o.addnum.parameters:=New collection
    $o.addnum.parameters.push(New object("name";"num1";"type";Is Integer))
    $o.addnum.parameters.push(New object("name";"num2";"type";Is Integer))

    // データベースフィールドから "ClientLastName" ファンクションを定義します
    $o.ClientLastName:=New object
    $o.ClientLastName.formula:=Formula([Customers]lastname)
    $o.ClientLastName.summary:="Lastname of the current client"

    // 引数を 1つ受け取る 4D式から "label" ファンクションを定義します
    $o.label:=New object
    $o.label.formula:=Formula(ds.Customers.get($1).label)
    $o.label.parameters:=New collection
    $o.label.parameters.push(New object("name";"ID";"type";Is Integer))

    // "AverageValues" メソッドを使用して "AverageValues" ファンクションを定義します
    $o.AverageValues:=New object
    $o.AverageValues.formula:=Formula(AverageValues)
    $o.AverageValues.parameters:=New collection
    $o.AverageValues.parameters.push(New object("name";"Mycollection";"type";Is collection))

    // "Title" という名の変数から "Title" ファンクションを定義します
    $o.Title:=New object
    $o.Title.formula:=Formula(Title)

    VP SET CUSTOM FUNCTIONS("ViewProArea";$o)

    End case

    参照

    4D functions
    VP SET ALLOWED METHODS
    4D View Pro: 4D フォーミュラをスプレッドシートで使用する (ブログ記事)