LoginSignup
3
5

More than 5 years have passed since last update.

[OutSystems]構造体の定義(Recordの活用)

Last updated at Posted at 2019-01-26

初めに

OutSystemsでは通常、構造体をStructureとして定義しますが、ある程度の規模のシステムを開発していると、このStructureだらけになってきてしまいます。また、Entityとほぼ同じStructureを定義すると、初期作成が面倒なだけでなく、EntityのAttributeが変わったときにStructureまで変更するはめになり大変です。そこでRecordをうまく活用する方法を紹介します。

利用したOutSystemsのバージョン

  • サーバー:Version 11.0.118.0
  • Service Studio:11.0.207.0

ケース1:一覧画面へのチェックボックスの追加

例えば以下のような画面を作成するとします。チェックボックスを選択し、Deleteボタンを押すと選択したレコードが削除されるといった機能を持ちます。
image.png

このデータは以下のSample_Employeeに保持されています。当然ながらこのEntityにはチェックボックスのAttributeは存在しません。そのため、どこかにチェックボックスの選択/非選択の情報を保持する必要があります。このときにStructureを一から作るのではなくRecordを使うと便利です。
image.png

以下のようにPreparationのGetEmployeesの中のSourcesにBooleanを追加します(Structure BooleanはRichWidgets配下にあります)。当然、この処理でこのBooleanに値が設定されることはありません。
image.png

しかしながら先ほどのようにしておくことで、TableRecords内に配置したCheckBoxのVariableとしてBoolean.Valueが選択できるようになります。これによりEntity Sample_Employeeを拡張した(BooleanのAttributeを追加した)Structureを一から作ることなく、チェックボックスの値を保持できるようになりました。
image.png

ケース2:ActionのParameter、Variable

似たようなことはActionのParameterやVariableでも実現可能です。Data TypeとしてRecordを選択することで、任意のData Type(Basic、Entity、Structure)を組み合わせたRecordを作成可能です。再利用性の低いものはStructureを作成するのではなくRecordとして定義した方が効率的ではないかと考えています。
image.png

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5