0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OutSystemsで1からシステムを作ってみる:エンティティの作り方

Posted at

初めに

2023年の8月からOutSystemsを使った開発を始めました。
開発しやすく、かゆいところにも手が届くツールだと感じています。
半面、日本語の情報も決して多くはなく、細かいところを調査しようとすると英語の公式ドキュメントとコミュニティに頼らざるを得ません。
部署のメンバーが稟議を上げ承認者が承認否認を返す簡単な決裁システムを作ることを目標に、記事を投稿していこうと思います。
本記事では、システムで扱うデータの決定と実装について記述します。

環境

Outsystems O11
Reactive Web APP

取り扱うデータの設計

まず決裁システムでの稟議の内容と登場人物を洗い出します。

稟議の内容

簡潔に以下の内容にします。

  • 発議者
  • 承認者
  • 稟議内容(添付資料を含む)
  • 承認結果
  • 承認コメント

登場人物

上記の稟議の内容から、

  • 発議者
  • 承認者

が登場人物として考えられます。

Entityの作成

OutSystemsでは主にデータをEntityと呼ばれるDatabaseのTableのようなものに保存して扱います。
DBのように追加・取得・変更・削除(CRUD)することができます。

Entityの作成

image.png

ReactiveWebのModuleを開くと右側にタブが4つ並んでいます。
このうち一番右側にDataというグリッド状のアイコンのタブを選択します。
開いたツリーから「Entity>Database」を開き、この中にEntityを作成していきます。

「Database」を右クリックし、「Add Entity」で新しくEntityを作成します。新しくEntityが作成されるので、「Name」にEntity名を入力します。Descriptionの欄にはコメントとして何を管理するEntityなのかを記載しておくとよいです。ここでは従業員として発議者と承認者を含むMemberというEntityを作成します。
image.png

同様に、稟議のEntityとして「Approval」を作成します。

Attributeの作成

作成したEntityを右クリックし、「Add Entity Attribute」をクリックします。
新しくAttributeが追加されるので、Memberに必要な情報を追加していきます。
ここでは従業員の氏名、承認者か、という情報を追加します。

従業員の氏名は「Name」とします。文字列型24桁で、必須項目とします。

image.png

Data Typeには文字列、整数、真偽値等様々なものがあります。
桁数と合わせて適切に設定します。

Entityリレーションの設定

稟議のEntity「Approval」には、発議者と承認者の情報を持たせる必要があります。この二つの情報は「Member」Entityのリレーションとして設定します。「Basic Type」ではなく「Entity Identifers」から別EntityのIdentiferを選択することにより設定することができます。これで稟議の発議者を「Menber」Entityと紐づけることができます。

image.png

Entity Diagramの作成

DataModelを開き、EntityをドロップするとEntity Diagramを作成することができます。視覚的にわかりやすく、開発の助けになるため作成しておくと便利です。

image.png

今回作成したEntity

DataModel

Approval

Name Description Data Type Is Mandatory 補足
Id 稟議を一意に管理するID Long Integer(AutoIncriment) Yes
RequestedBy 発議者のMemberID Member Identifier Yes 発議した時に登録
ApprovedBy 発議者のMemberID Member Identifier No 承認・否認したときに登録
Content 稟議内容 Text(200) Yes
File 添付ファイル Binary No 添付ファイル
FileName 添付ファイル名 Text(50) No 添付ファイル
Response 承認結果 Boolean No 承認の場合True、否認の場合False
Comment 承認コメント Text(100) No
RequestAt 発議日時 DateTime Yes 発議したときに登録
ApproveAt 承認日時 DateTime No 承認・否認したときに登録

Member

Name Description Data Type Is Mandatory 補足
Id メンバーを一意に管理するID Long Integer(AutoIncriment) Yes
IsManager 管理者かどうか Boolean Yes 管理者であれば承認が可能
User OutSystemsのUserEntityと対応するID User Identifier Yes OutSystemsのユーザからユーザ名などを取得する
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?