OutSystemsエンジニアの猛勉強ブログ

初心者OutSystemsエンジニアのブログです(ぺこり)。

コンボボックスを画面に実装させる(基礎トレ2.3)

前回、内部のプログラムにStatic Entityを生成させました。
次に画面上にコンボボックスを実装させていきます。

f:id:neomatsudaira:20160224210453p:plain

(とりあえず、ドラッグアンドドロップでコンボボックスの箱だけを設計した小林の開発画面です)

 

まだ、空の箱を作っただけなので、データの紐付を行います。
ここが一番エンジニアらしい仕事です。

f:id:neomatsudaira:20160224210800p:plain

 

 Source Entity欄にさっき作ったStatic Entity(Category)を選択すると

f:id:neomatsudaira:20160224211051p:plain

これ、選択できるデータベース名が全部英語です。
もうね、アホかと。非常に萎えます。
ここは日本国なのだよ

 

f:id:neomatsudaira:20160224211256p:plain

OutSystems Platformが自動的にこのデータベースの全てのレコード(記録)を取得してくれます。

つまり、何もプログラムを書く必要がないということです。普通だったら何百行とプログラミングしていくのに、マウス操作一つで終わってしまうため、開発スピードが爆速になります。

 

今やっていることは、コンボボックスでユーザーさんに選択したもらう項目の置いてある場所の特定です。BooksやMusicといった項目のデータがどこにあるのか?の指定です。

 

細部以外の設計が終わったので、プレビューモードで開発画面を見てみると

f:id:neomatsudaira:20160224211844p:plain

自分の開発画面にも既にコンボボックスが表示されていることから、Platformがデータの受け取りを理解してくれていることが分かります。

ただ、それでも上の真ん中の方に赤マルでバッテンマークが付いていることから、パブリッシュ(コンパイル)エラーになっていることが確認できます。
コンパイルエラーだからPlatformはソフトを構築・生成させるにはまだバグが残っているから、とりあえずバグ取れやゴルァアァアアー!!

とおっしゃっているのです。
上の画像で見た通り、コンボボックスの表示は既にできている。

それでもエラーになる原因は、ユーザーさんがコンポボックスからBooks、Musicなどを選択してSaveボタンを押したときに、そのBooksなどと選択したデータをどこに保存すればいいのか?のプログラムをまだ書いていないからです。

なんか、自分、いまモーレツにエンジニアっぽいことをしています。

 

Static Entityから受け取ったデータをProduct(製品)データベースへと届けるため、Productデータベースの外部キーを選択すればいいだけの話です。

f:id:neomatsudaira:20160224212603p:plain

これでユーザーさんが指定した項目のデータを製品データベースの項目欄に保存できるようになりました。

 

なんか知らんけど、朝からスキルアップしまくりです。
この技術を使えばオンラインショッピングサイトで1か月間で一番売れた商品や月間の売上高や利益率や儲けの金額をすべてデータベースに格納させておくことができます。

なので、何もしなくても月末にデータをPlatformが集計してくれるようになります。
それをExcelに出力して、プリントアウトして、提出すれば、上司がもんのすごく喜んでくれるはずです。

日本の就職活動とかで思うのですが、理系がとても有利なのは何かを生み出せる人だからです。
でも、別に文系でも、独学でこういう風に勉強をして、自分でモノを生み出し、貴社の業績に貢献できますよ!ってアピールすれば、私は、それほど就職難にはならないと考えています。

それは逆説すれば、何も特技がないからサラリーマンになるのであって、だからこそサラリーマンのお給料はそれほど上がらないということです。サラリーマンは替えが利くからです。エンジニアは専門家であり、替えの利かない希少な人材です。なぜなら、難しくて誰もやりたがらない内部のプログラムをこうして設計することができるからです。

エンジニアって何かを生み出せる人なのです。

そして、ITエンジニアの場合は、文系でも理系でもやる気のあるすべての人に、門戸が開かれている分野なのです。

 

話を戻します。
データの受取先を指定したので、Platformもエラーマークがリアルタイムで取り消され、いつでもコンパイルできるようになったのが確認できます。

f:id:neomatsudaira:20160224213631p:plain

上の画像は赤マルバッテンだったのに、今は緑色(正常モード)になっています。
小林はスキルアップしているのを今とても強く実感しています。

次はスペシャルリストの設計です。
スペシャルな障害者の小林にふさわしい仕事です(笑)。
(朝のためラリってます)

 

スペシャルリストとはブルタウンメニューの一番上に表示させるリストの名前のことだそうです。

f:id:neomatsudaira:20160224213925p:plain

なんで、”None”にしないといけないのかは意味不明なり。
”選んでね”とかじゃだめなんですかね。
ただ、Noneにしたときに0を引数としてどこかに送り込むことだけは分かった。

 

説明は当然一切ない(笑)。
いつものことである。

 

次、検索エンジンの内部プログラムに新しいフィルタリング機能を実装させ、検索エンジンを改造する。
カテゴリー「Books」だけを検索表示させたりできるようにするためのフィルタリング機能の実装である。

f:id:neomatsudaira:20160224214509p:plain

なんかもう、コンボボックスの設計はすでに終わっているのに検索エンジンを改造とか別にやらんでいいと思うのですが、ここから先は難しくなります。

 

ということでせっせと設計を開始する小林なのである

f:id:neomatsudaira:20160224214727p:plain

 

検索エンジンにデータを受け渡すときのProductが2つあってどっちだか分からないwwwwww

f:id:neomatsudaira:20160224214933p:plain

 

あ、どっちも使わないそうです(笑)。ローカル変数を引数として取るそうです。

f:id:neomatsudaira:20160224215118p:plain

 

生成したローカル変数「CategoryId」をコンボボックスにドロップする。

f:id:neomatsudaira:20160224215511p:plain

なんでドロップするのかの説明はない。
なんでローカル変数を使うのかの説明もない。
そして、ローカル変数の意味すらトレーニング動画は一切の説明をせず、初心者放うぽって、突っ走って行くのである。


いつものことである(笑)。これでは普及しないのも当然である(笑)。

 

虚無の境地でとりあえず、訳分からないところは模倣するのみである!
あ、動画の説明が雑過ぎて、だんだん訳分からなくなってきた。
切りのいいところで、トレーニングは次のエントリーへ続くのである。
次のエントリーでは、検索エンジンの内部プログラムを書いて完成させます!

 

(トレーニングは続く)