最近のアクセス:
変数の呼び出し

ユーザーによる動的な呼び出しを可能にして、スマート デバイス アプリケーションの柔軟性を向上させます。呼び出されるオブジェクトは、設計時または実行時に定義できます。

構文

Call( {&var | ATT:att}   [ {, parm} … ]  )
&var または att の文字列の値は、<サポートされるタイプ>:<オブジェクト名> [ ?<パラメーター> [ {, parm} … ] ] の形式で表されます。

サポートされるタイプ

  • sd (Dashboard、Work With for Smart Devices パターンインスタンス、Panel for Smart Devices)
  • prc (REST プロシージャー)
  • wbp (Web オブジェクト)
例: 

&Object = "sd:WorkWithDevicesPerson.Person.Detail?"+&PersonId.ToString().Trim()
call(&object)

1) この例では、ユーザーがリストから人を選択すると、プロシージャーで実行するコントロールに応じて、ユーザーまたはプログラムフローをリダイレクトします。制御したいのは、選択したユーザーが、必要なデータをすべて持っていることです。 イメージ:17511.jpg
手順は次のとおりです: 人のリストを表示するスマートデバイス用の Work With を作成し、グリッドの既定のアクションを編集して、ユーザーがリスト内の人を選択するとアクションが実行されるようにします。 イメージ:17512.jpg
グリッドの選択イベント // MissingData は、選択された人の情報がすべて揃っているかどうかをチェックし、それに応じてユーザーを次の画面にリダイレクトするプロシージャーです。
Event 'Select'
  Composite
   MissingData.Call(PersonId,&object)
   call(&object,PersonId)
  EndComposite
EndEvent
MissingData プロシージャーのコード // このプロシージャーは、人の情報をチェックして、リダイレクト先のスマートデバイス用の Work With のパネルで使用される変数オブジェクトを返します。
for each 
  where PersonId = &PersonId
   &PersonAddress = PersonAddress
   &PersonName = PersonName
   &PersonPhone = PersonPhone
   &PersonPhoto = PersonPhoto
endfor
 
do case
  case &PersonAddress.IsEmpty()
  &ok = false
 
  case &PersonName.IsEmpty()
  &ok = false
 
  case &PersonPhone.IsEmpty()
  &ok = False
 
  case &PersonPhoto.IsEmpty()
  &ok = false
 
  otherwise
  &ok = true 
endcase
 
 
if &ok = false
   &Object = "sd:WorkWithDevicesPerson.Person.Detail.Update"
else
   &Object = "wbp:ViewPersonWeb"
endif
2) 固定パラメーターを持つディスパッチャー
Event 'ViewPerson'
    Composite
        &Object = GetPersonDetailLayout(PersonType)
        call(&Object,PersonId)
    EndComposite
EndEvent
procedure GetPersonDetailLayout
Parm(in:&PersonType,out:&Object);
if &PersonType = Type.Person
 &Object = "sd:WorkWithDevicesPerson.Person.Detail"
else
 &Object = "sd:WorkWithDevicesDean.Dean.Detail"
endif
3) 動的なパラメーターが割り当てられたディスパッチャー
Event 'ViewPerson'
    Composite
        &Object = GetPersonDetailLayout(PersonType,PersonId)
        call(&Object)
    EndComposite
EndEvent
procedure GetPersonDetailLayout
Parm(in:&PersonType,in:&PersonId,out:&Object);
if &PersonType = Type.Person
 &Object = "sd:WorkWithDevicesPerson.Person.Detail?"+&PersonId.ToString().Trim()
else
 &Object = "sd:WorkWithDevicesDean.Dean.Detail?"+&PersonId.ToString().Trim()+","+&SecurityLevelId.ToString().Trim()

endif

変数から固定

オブジェクトを呼び出す別の方法
1) Link 関数を使用
&Object = WorkWithDevicesPerson.Person.Detail.link(&PersonId.ToString().Trim())
call(&object)
2) 直接呼び出し (Call コマンドを参照)
WorkWithDevicesPerson.Person.Detail(&PersonId.ToString().Trim())

適用範囲

オブジェクト: スマートデバイスのプラットフォーム: Android、iOS

参考情報

Call コマンド 
ネイティブ モバイル アプリケーションのイベントからの Work With のエレメントの呼び出し





サブページ
Created: 14/09/18 03:10 by Admin Last update: 21/11/07 21:43 by Admin
カテゴリ
Powered by GXwiki 3.0