ラベル FileMakerGO の投稿を表示しています。 すべての投稿を表示
ラベル FileMakerGO の投稿を表示しています。 すべての投稿を表示

2016年5月11日水曜日

FileMaker 15がやってきた!

こんにちは!

FileMakerの最新バージョン15がやってきました!

約1年で新しいバージョンになりました。

基本的に今回は大幅な機能の変更などはありません。

セキュリティ面での向上、作りやすさの向上がメインで、企業内で開発には携わらず、ユーザーとして使用している方にはあまり縁がないかもしれません。

FileMaker Pro 15新機能まとめ

マスク付編集ボックス

いわゆるパスワード入力のように入力した文字やデータが、「・・・・」で表示される編集ボックスです。

マイナンバーやパスワードを直接フィールドに入力してもらう場合に非常に役立つものです。待ってました!と思っていました。

※この機能はFileMaker 15だけの機能なので12~14では使えません。

スクリプトワークスペース

スクリプトワークスペースで、スクリプトを作成する場合に問題があるとその部分が強調されます。

アンドゥ(元に戻る)機能

これは助かります。

スクリプトワークスペースや計算式などで、今行った操作を元に戻せるようになりました。

無意識的に「あっ」と思っても、どの行を削除してしまったかなど今までは分かりませんでしたが、元に戻せるようになるので、よかったです。


セキュリティの向上

FileMaker Serverでホストされているデータベースを開いたり、SSLでメールを送ったり、URLから挿入などのスクリプトで、SSLサーバ証明書を検証するようになりました。

また、検証できなかった場合にこのホストを信頼するかを選択できるようになります。

信頼すると、今後このホストでは検証できないエラーが表示さなくなります。

試してみていないので、分かりませんが、オレオレ証明書など、自作の証明書が使えるのでしょうか?

もちろん、FileMaker社はサポートしないはずなので、自己責任ということにはなるでしょうが。

キーチェーン使用時のセキュリティ向上

FileMaker Goにてキーチェーン(パスワード保存機能)を使用している場合、iOSのパスコード、Touch ID(指紋認証)を求めることができるようになります。

開発側としては非常にうれしい機能です。

今まではパスコードなど設定していないiPad、iPhoneが盗難にあったりすると、ホストされるファイルではアカウントを止めるまでファイルを開けてしまったわけですが、これによりそれが防ぎやすくなります。

これで、強制的にパスコードやTouch IDを使えるようにすることができます。

新しいスクリプトステップ-テーブルデータを削除

いままでは、対象レコードを削除というステップしかありませんでした。テーブルの全データを削除したい場合は、全レコードを表示して削除する必要がありました。レコード数が多いと時間がかかりこともあります。

テーブルデータを削除はその必要がなく別のテーブルからこのステップを使うことですべて削除できますので、処理が早くなるケースも多いでしょう。

2015年12月8日火曜日

ファイルメーカー(FileMaker)を同期で使おう Part3

こんにちは同期シリーズ第3弾です。

今回から実際の作り方を見ていきます。

少しだけ、復習+α

同期モデルを選択する場合、いろいろな課題があり選択していくと思います。

1) インターネットに接続でいない場所(電波が悪い等も)でデータを見たい

2) 同時接続ライセンスを節約したい

などがあります。1)にはモバイル通信(3Gや4G)の場合も含まれます。モバイル通信だと、ソリューションの規模やサーバーのスペックなどにもよりますが、あまり本格的に閲覧したり、データ入力をするには厳しい場合もあり、同期モデルで作った方がいい場合もあります。

FileMaker GoからFileMaker Serverの共有ファイル開くポイント

FileMaker Goにあるファイル(iPad、iPhone上のローカルファイル)からFileMaker Serverの共有ファイルをリレーションするとFileMaker Serverの共有ファイルを開いた状態(接続ライセンスを消費)になる。


ということです。リレーションをしないで取り込むには、エクセルファイルか何かにエクスポートして、インポートするという手もありますが、個人的な見解としてあまりインポートをさせたくないという考えがあります。たまに、トラブルがあり、インポートが止まらなくなったりなどがあり、そういったことが少なく、確実性が高いを個人的に思っている方法を紹介します。

構成


まず図のようなイメージで

・入力用のファイル(client.fmp12)
・中間ファイル(container.fmp12)
・FileMaker Server上の共有ファイル(sample.fmp12)

という3つのファイルがあり、2つのファイルが同じデバイス上にあるとします。

このソリューションの前提

1) 営業社員が自身の担当顧客から注文が本社に入り、アシスタントがsampleに入力
2) 未確認の注文情報をダウンロード
3) clientファイル上で確認して、確認ボタンをタップ
4) 確認情報をsampleに戻す(入力・同期)する

という流れのソリューションであると思っていただければと思います。

1)FileMaker Server上の共有ファイルsampleの構成


FileMaker Serverの共有ファイルsampleの構成はこのようになっています。実際には、もっと項目が多くなると思いますが、分かりやすいように絞ってあります。



2) 中間ファイル(container.fmp12)の構成


中間ファイル(container.fmp12)にも同じ項目のテーブルを作成します。



一番下にあるフィールドは同期したタイムスタンプを保存しておきますが、共有ファイル上のファイルとのリレーションで、このファイルにレコードを作成するために主に使用します。

リレーションシップの編集

このファイルは共有ファイルとリレーションをして、そのリレーションを使ってこのファイルにレコードを作成したりします。


リレーションシップの管理で、このボタンをクリックします。


「FileMakerデータソースの追加」で共有ファイルを選択します。


このようにリレーションを作成します。「このリレーションシップによるレコードの作成を許可する」を忘れないようにします。

そして、先ほどのフィールドの設定にあったようにルックアップの設定をします。

次回は、中間ファイルに共有ファイルからデータを取得する流れについてみていく予定です。

2015年12月2日水曜日

ファイルメーカー(FileMaker)を同期で使おう Part2

こんにちは!

前回の続きです。

前回は、同期モデルのメリットや簡単な概念を紹介しました。

今回は、完全同期モデルでという名前で紹介した、3つのファイルでデータをやり取りするモデルを作成するにあたって、知っておきたいことを少し掘り下げます。

なぜ3つ必要か


前回紹介した画像です。すこし分かりやすく同じデバイス上にあるファイルを区切りました。

FileMaker Server上のファイルにあるテーブルオカレンスを中間ファイルのリレーションマップに配置して中間ファイルのテーブルオカレンスとリレーションを組み、データをやり取りすることになります。

この時点で、FileMaker Serverのファイルのデータを表示しようとしまいと、中間ファイルを開いている間は、FileMaker Serverに接続し続けます(iPhone、iPad等では同時接続としてカウントされます)。

ちなみに、中間ファイル上でスクリプトステップの「ファイルを閉じる」を実行して、FileMaker Serverのファイルを閉じようとしても閉じられません。

ただし、FileMaker Server上のファイルにてアカウントが設定されていて、アカウント情報を入力して必ず開くようになっている場合は中間ファイルを開くときに、FileMaker Server上のファイルのアカウント情報を入力するように求められますが、キャンセルしてしまえば、接続されずに中間ファイルを開くことはできます。

しかし、FileMaker Server上のファイルのデータを取得するのにはアカウントの入力が必要になり、一度ログインすると、中間ファイルを閉じるまでは基本的に接続し続けます。

こういったことから、データを取得(同期)したらFileMaker Serverの接続を解除したい場合は、3つのファイルが必要となります。

まず、入力用のファイルに中間ファイルのデータを表示しません。

入力用のファイルのリレーショングラフには中間ファイルのテーブルを表示しないということです。

2つのファイル(入力用のファイルとFileMaker Server上のファイル)で、同じように行うこともできます。

ただ3つにすることによって、FileMaker Server上のファイルにできるだけ変更を加えなくて済むというメリットがあります。

方法

基本的なやり方としては、中間ファイルにスクリプトを設定し、入力用ファイルからそのスクリプトを実行して、データのやり取りをします。

データのやり取りには、スクリプト引数をセットしたり、スクリプトの結果を利用して送ったりします。

データのやり取りが多い場合にはエクスポート、インポートでのやり取りが必要になりますが、個人的な感想として、エクスポートはともかくインポートがらみにでトラブルに見舞われることがあるので、あまり好きではないという理由で、今回はこの方法は紹介しません。

なお、同期モデルのやり方にはいろいろあり、その一つであるという前提でお読みいただけると助かります。

次回は実際の手順を紹介していきたいと思います。

2015年11月24日火曜日

ファイルメーカー(FileMaker)を同期で使おう Part1


こんにちは、いつもご覧いただきありがとございます。

FileMaker Server(ファイルメーカーサーバー)13より、無料のクライアントの同時接続ライセンスが導入されました。

これは、iPad、iPhoneのアプリFileMaker Go、WebDirectからFileMaker Serverでホストするファイルにアクセスする場合、FileMaker Serverに同時接続ライセンスを購入しないと接続できないというものです。

FileMaker Server14では、Proのクライアントソフトの値段と同じくらいの価格になり、地味に辛くなってきました。

できるだけ同時接続を節約したいと思う方は多いのではないでしょうか。

これから数回にわたって、そんな悩みの解決になればということで、同時接続を節約する同期モデルという方法について解説をしていきます。

今回ここで紹介するのは、FileMaker Goでの同期モデルの方法です。WebDirectではPHPを使ってアクセスすれば節約できますが、コーディングが必要になってきます。

同期モデルってなに?

FileMakerGoからFileMaker Serverホストされている共有ファイルを開くと、そのファイルを直接ファイルを開くことになり、同時接続ライセンスを1つ消費します。

また、そのファイルを開いている間はFileMaker Serverと繋ぎっぱなしの状態になり、同時接続ライセンスを繋ぎ続けることになります。

この繋ぎっぱなしをなくし、データのやり取り時だけ、サーバに接続するというのが同期モデルと言われるものです。

同期モデルのもう一つの効果

同期モデルには接続ライセンスを節約するということを目的にする場合と、Wi-Fiなどの電波が届かなく、インターネットに接続できない環境下でもデータを入力したい場合などに使われます。

また、接続できたとしてもクライアント側の電波状況が悪い場合で、FileMaker Serverとうまくつながらない状況下でも効果的です。

同期モデルの二つの方法

①まず、データをFileMaker Serverに送ったり、受け取ったりするとき(同期時)だけFileMaker Serverに接続する方法と、

②インターネットに繋がっている状況であれば、常にFileMaker Serverに繋がっている方法の二つがあります。

②は接続ライセンスの節約というよりは、クライアントにいろいろな状況があり、インターネットに繋がりにくい環境下で作業することがある場合です。

①は②に加えて接続ライセンスの節約もできるという方法です。

ここでは、①の方法を扱っていきます。

また、二つの方法がどう違うかを見ていきます。

①完全同期モデル

先ほどの①モデルでは、FileMaker Server上の共有ファイル、同じiPad、iPhone(以下デバイス)上の2つのファイルが必要になります。

入力用のファイルと、中間ファイルは同じデバイスにあります。

役割としては、入力用のファイルは入力(や閲覧)だけをするためにあります。

中間ファイル(コンテナ)は入力用のファイルのデータをFileMaker Serverのファイルを開いて更新したり、または受け取ったりします。

なぜ、このような複雑な方法と取るかというと、入力用のファイルに直接FileMaker Serverのファイルのデータを取得しようとすると、その入力用のファイルを開いている間、FileMaker Serverに接続している状態になるからです。

②簡易同期モデル



このモデルでは、入力用ファイルからFileMaker Serverのファイルに直接接続します。直接、データをサーバのファイルから移動します。

このモデルでも、インターネットに繋がっていなくても、入力用のファイルが開けますので、Wi-FiモデルのiPadなどで事務所でデータを同期(ダウンロード)して、Wi-Fiのつながらない場所に移動しても入力などができます。

次回は、①完全同期モデルでの開発と解説を行っていきます。

2015年6月15日月曜日

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part6

FileMaker Pro+Goで行う在庫管理システムを作ってみるの第6弾です。

以前の記事はこちら↓

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part1

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part2

part4で作成しましたレイアウトの「Scan」ボタンに設定するスクリプトはいたってシンプルです。

上の図のように1行だけなので、ボタン自体にスクリプトステップを割り当ててもいいのですが、今後その前後に何かの処理をさせたいということがあるかもしれないので、とりあえず1行のスクリプトを作成し、設定します。

このスクリプトを実行すると、カメラが立ち上がり、バーコードをとらえると自動で読み取り、設定したフィールド(ここでは「棚卸記録::kf_商品コード」)に入力されます。


スキャンすると上の図の「商品コード」のフィールドにバーコードの内容が挿入されます。

次に、日付と、在庫数を入力すればOKという流れです。

日付に関しては、先ほどのスクリプトにフィールド設定で「Get(日付)」を設定してもいいでしょうし、レコードが作成されたときに自動で、入力するようにオプションで計算値の入力を設定してもいいでしょう。

実在庫とデータベース上の在庫の差異調整スクリプト

棚卸が終わると、そのデータと商品マスター上のデータの差異を調べて、実在庫に合わせるように調整を行います。

下記がそのスクリプトです。



スクリプト内にある変数を設定「$現在庫数」の計算式は下記のようになっています。


また、「$実在庫数」は下記です。


スクリプトの流れとしては、棚卸の記録レイアウトで本日行った棚卸の記録を表示し、Loopで上から商品マスター上の在庫数を比較します。異なれば、「入出庫管理マスター」に移動して、差異を調整し、これを一番下のレコードまで繰り返します。

$実在庫数では、倉庫内に同じアイテムが別々の場所にある場合を想定していますので、複数の場所にあっても(棚卸記録テーブルに商品コードの重複したレコードがあっても)問題ありません。

非常に簡単ではありましたが、在庫を管理するだけという観点のソリューションになります。

2015年6月3日水曜日

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part5

FileMaker Pro+Goで行う在庫管理システムを作ってみるの第5弾です。

以前の記事はこちら↓

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part1

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part2

このソリューションでは、商品や棚にバーコードを貼り付け、それをスキャンすることで商品を識別し、実在庫数を入力し棚卸をします。

というわけで、どこかでバーコードを印刷したりするようにしなくてはいけません。

バーコードフォントというのがあり、入力した数値などをバーコードとして表示してくれるフォントがあります。

https://www.technical.jp/barcode/font/で無償配布されていますので、そちらを使わせていただきます。(Windowsのみのようです)

ここではCODE39という簡単なものを使用します。

インストールはいたって簡単で、ダウンロードしたファイルをダブルクリックで開いて、「インストール」を選択するだけです。

バーコードにはスタートコードと、ストップコードというのがあります。CODE39の場合は「*」です。これを商品コードの前後につけます。これを読み取ると商品コードを読み込んでくれます。

商品マスターをちょっと改造

バーコードを印刷できるようにするために、商品マスターに商品コードをバーコードで読めるようにするためのフィールドを作成します。

このフィールドには自動計算値入力で、

"*" & 商品コード & "*"

としました。このフィールドをCODE39のフォントでレイアウト上に表示するとバーコードになります。


レイアウトはこんな感じになります。

ブラウズモードで見るとこんな感じ

これを印刷して、貼っておけば、これをスキャンするだけで入力ができるようになります。

次回はいよいよスキャンするスクリプトを配置したり、レイアウトを調整していきたいと思います。


2015年5月26日火曜日

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part4

FileMaker Pro+Goで行う在庫管理システムを作ってみるの第4弾です。

以前の記事はこちら↓

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part1

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part2


レイアウトの作成

今回はレイアウトの作成を主に扱っていきたいと思います。

今回のテーマとして「FileMaker Pro+Go」ということがテーマとなっています。

PCとモバイルのハイブリットということですが、こういったケースの場合、それぞれのデバイスで行うことの役割というのは比較的明確になってくるでしょうか。

今回はPCは在庫数のチェックやマスターの登録。

モバイルは棚卸での利用を想定していますので、商品マスター等の閲覧はしません。

イメージとしては、iPhoneやiPodTouchを使って、バーコードを読み取り、在庫数を入力していくという作業に使います。ハンディターミナルや、バーコードリーダーの代わりということになります。

商品マスター

商品マスターのレイアウトは今回はリスト形式を採用します。

この例ではフィールド数が少ないので、リスト形式だけでいけますが、実際に業務で使っていくとなると、商品には様々な情報(画像や、商品の仕様など)あると思いますので、フォーム形式との併用ということになろうかと思います。

一覧表示(リスト形式)にボタンを配置し詳細画面(フォーム形式)に移動したり、一覧表示にポップオーバーボタンを配置し、そのポップオーバーにリスト形式では表示しきれないデータなどを配置するという手もあるでしょう。


棚卸用レイアウト(Go)

続いて、棚卸レイアウトです。

iPhoneやiPodTouch用のレイアウトを作成していきます。

レイアウト管理画面から「新規」をクリックすると、ウィザードが出ます。そこでタッチデバイス→iPhoneを選択すると、自動的にiPhone用の画面の大きさになります。

ただし、現在はiPhoneでもさまざまな画面サイズがありますので、基本的にはアンカーを使って、いろいろなサイズに対応していく必要があります。


上の図の赤枠部分がアンカーです。右側のアンカーを各フィールドに設定します。こうすることで、横画面や縦画面でその画面サイズに応じて、フィールド枠が広がります。

ズームの設定

iPadやiPhoneのモバイルデバイスでは、指先で画面の拡大や縮小が可能です。しかし、多くの場合、これをそのままにしておくと、画面がぶれる様な動きをすることがあり、扱いづらくなります。

スクリプトで、「ズームの設定[ロック;100%]」を作成し、OnLayoutEnterに設定しておくことで、これを防ぐことができます。


レイアウトはこのような感じにしました。

ボタンを配置し、「Scan」ボタンは、バーコードを読み取り、その内容を「商品コード」に入力、「New」で新規レコードを作成するという形になります。



2015年5月19日火曜日

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part3

FileMaker Pro+Goで行う在庫管理システムを作ってみるの第3弾です。

以前の記事はこちら↓

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part1

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part2


※FileMaker14が登場しましたので、FileMaker Pro 14での操作画面になりますが、基本は12でも13でも変わりありませんので、よろしくお願いします。

これまで+これから

前回までは、テーブルを作成し、フィールドを定義してきました。今回はリレーションを定義していきたいと思います。

リレーションシップの基本

リレーションシップの基本はこちらを参照していただくか、書籍などにも記載がありますので、詳しくは取り上げません。

しかし、一つ気を付けておいた方がいいことがあります。

通常のソリューションの作成として、「テーブル・フィールド作成」→「リレーション作成」→「レイアウト作成」→「スクリプト作成」という大きな流れがあると思います。

しかし、ガッツリこの流れで行うとリレーションマップが複雑(増えすぎ)てしまうということがあります。

「テーブル・フィールド作成」→「リレーション・レイアウト作成」→「スクリプト作成」というように、リレーションを作りこまずに進める方が、うまくいくケースが多く、リレーションが割とシンプルになってきます。

とはいっても、今回はそれほど複雑なものでもないので、リレーションを定義していきたいと思います。


一つだけリレーションを作成しました。とりあえずこれだけです。このリレーションは、在庫数を計算するためのものです。



また、フィールド定義を変更しました。

「現在庫数」として、図のように計算式を入れました。

Sum ( 入出庫管理マスター::入庫数 ) - Sum ( 入出庫管理マスター::出庫数 )

※「商品名」というフィールドを追加しました。

ちなみに、この「現在庫数」は非保存のフィールドになるので、レコード数が増えてくると重くなってくる可能性があるので、その時は考えなくてはいけないかもしれません。

次回はレイアウトを作成してきます。

2015年5月13日水曜日

FileMaker 14がやってきた!

こんにちは!
FileMaker14がやってきました!

FileMaker14ではおもに開発者が開発しやすいような機能の拡張や改善などが
多く見られました。

主な変更点などを取り上げていきたいと思います。

・メニューなどのデザインが変わった。
iOSに準拠したようなデザインになりました。

・スクリプトウィンドウのインターフェイスの大幅な改善
今までは必ずスクリプトステップをリストから選んでダブルクリックで選ぶ必要がありましたが、手で入力することができるようになりました。また、入力された文字から予測する機能もあるので、非常にスクリプトを素早く記述できるようになりました。

なんだか、プログラミングっぽくなった!

また、お気に入りが登場! このブログを読んでいただいたんでしょうか?
もしそうだとしたら感激です。

・スクリプト編集画面からスクリプトデバッガが起動できる
スクリプト編集画面にデバッガを起動できるボタンができました。


・スクリプト編集画面で色が変わる
If分やLoop分などで色が分かるようになりました。また、フィールドが使用されている部分も色が変わって表示されるようになりました。

・計算式設定ウィンドウのインターフェイス大幅改善
スクリプト同様に、入力を予測し、候補を表示し入力できるようになりました。これがほしかった!

・スクリプトデバッガでエラーの説明も
今まではデバッガでエラーが発生したときにはリンク付きの番号が表示されていただけでしたが、説明も一緒に表示されるようになりました。

・ボタンバー
レイアウトツールの一つに、複数のボタンを連結したボタンバーが登場しました。
レイアウトでボタンをくっつけて、メニューリストのように使うことはよくあるので、便利です!
今までは、ボタンのサイズや位置を調整するのが少し面倒だったので、楽になりました。

しかも、普通のボタンとポップオーバーを混在させることもできる!

・新しいフィールドラベル
フィールドが空で、非アクティブ時にフィールド内部にフィールド名が表示されるラベル(プレースホルダ―テキスト)が登場
配置するフィールドが多いレイアウトには重宝しそうです。

・新しいパートが追加
上部ナビゲーションパート、下部ナビゲーションパートという新しいパートが加わりました。

・チェックボックスなどのスタイルが変えられる。
今までは違うテーマからコピペなどで何とかしのいでいたチェックボックスなどのスタイルが変更できるようになった! すごい。
レイアウトを作成するときに、けっこう大変だった……

・アカウントの新しいウィンドウ
アカウントの管理で新しいインターフェイスになりました。
文字は大きくて使いやすいけど…と思ったいたら前のも使えてよかったです。

・デバイスにパスワードが保存できるように
FileMakerソリューションのパスワードがデバイスに保存できるようになりました。また、各ソリューションごとにさせてもいいか、させたくないかを選択できます。

新しい関数や、スクリプト


・許可される向きの設定
このレイアウトは横表示だけにしたいといったときに使うようです。

・ディレクトリを取得
簡単に言うとフォルダが作成できるようになりました。

・タッチキーボード
iOSやWindows8でタッチキーボードを切り替えることができるようになりました。出したくないときなどに重宝しそうです。

・OnExternalCommandReceived
ユーザがロックボタンなどを押したときに動作するスクリプトを設定できるようになりました。

細かい変更点はまだまだありますが、主な変更点はこんなところでしょうか。

イメージとしては、開発機能とモバイルデバイス用の機能が強化された印象です。
ユーザの方にはあまりバージョンアップしたことが実感的ないかもしれませんが、
開発者としては便利になったなといった印象を受けたFileMaker14です。

2015年4月28日火曜日

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part2

前回に引き続きFileMaker Pro(ファイルメーカー)とFileMaker Goで使える在庫管理システムを作ってみるをお届けします。

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part1

前回は基本的な構造(テーブル)作成を行ってみました。

今回は、フィールドを定義していきたいと思います。

フィールドの定義

FileMakerで、ソリューションを作成する場合、初めから詳細な設計図や要件定義書を作成したりしてから取り掛かるという場合は多くはないと思います。それが、FileMakerのよさであります。

少しずつ、付け足していけるということができるのがこのFileMakerなので、この段階でも完璧を求める必要はありません。思いついたものを定義していくという感覚で進めていきたいと思います。

商品マスター


上記の図のように、3つのフィールドを作成しました。

実際に使用する場合は、単価や、備考など管理のためにフィールドを追加する必要があるでしょう。

入出庫管理マスター


入出庫マスターは、仕入れがあったり、販売して出荷する際の記録をするためのテーブルです。図のようにフィールドを作成します。商品コードのフィールドは、リレーションで商品マスターの商品コードのフィールドと繋ぐことになります。

また、このテーブルは、棚卸で、このシステム上の在庫数と差異があった場合に調整のためのレコードが記録されるテーブルでもあります。

棚卸記録


このテーブルは、棚卸の記録をするためのものです。棚卸では、iPadやiPhoneを持ち、倉庫で実在庫を記録することを想定しています。ここで記録された在庫数と、商品マスターでの在庫数を比較し、調整を行います。

次回は、リレーションを作成しながら、フィールドの定義について見直していきたいと思います。

2015年4月16日木曜日

FileMaker Pro+Goで行う在庫管理システムを作ってみる Part1

はじめに

今日から数回に渡り、在庫管理をFileMaker Proで行う方法の一つを紹介していきたいと思います。

方法は他にもいろいろありますが、比較的単純な方法で行ってみたいと思います。

まず、何で在庫管理かというと、業務で使用するソリューションで会計管理、販売管理というのは双璧で、市販のソフトも充実しています。

その次として顧客管理や在庫管理も多く使われているかと思います。顧客管理はパッケージが多くあります。
在庫管理は販売管理とセットになって組み込まれている場合もありますが、別で管理することもあるでしょう。ということで、FileMaker Proを導入される方で作成されることも多そうなものをチョイスしてみました。

前提として、先ほども触れましたが比較的単純な方法で行います。

企業ごとに業務ルールなども違うと思いますので。

構造

・商品マスター
在庫のもととなる商品のテーブルです。このテーブルを大元として、データベースを作成します。

在庫数が変動する要素として、下記のようなことがあります。

・入庫
・出庫
・棚卸による差異の調整

よって、この3つの動きが個別にわかるようなテーブルを作成します。

「棚卸による差異の調整」に関してのテーブルは棚卸時の在庫数を入力できるようにし、このテーブルとマスター上の在庫を照合し、差異があるものと別のテーブルに記録し、調整します。

以上から作成する基本のテーブルは3つになります。


次回は、フィールドの作成とリレーションを見ていきます。

2014年12月15日月曜日

FileMaker(ファイルメーカー)の同期モデルについて考えてみる

同期モデル

以前FileMakerとiPad、iPhoneの進化にて、古いiPadの延命として、同期モデルが必須というお話をさせていだたきました。

私は昨年くらいから、利用頻度の高く、規模もあるシステムでは同期モデルを取り入れるようにしています。

しかし、運用を始める直前にあることに気づきました。

FileMaker Proの利点はいつでも、ソリューションの修正ができる、という点です。

開発スピードも速いので、導入後に現場の意見を吸い上げ、それをすぐに実行できるというというところから、どんどん改良を加えていくわけです。

同期モデルでは、iPadやiPhoneのローカルに保存されるFileMakerデータベースからサーバでホストされている別のデータベースへアクセスし、データを取得したり、またはデータをサーバへアップロードします。

ということは、ホストされているデータベースに変更を加える場合、その影響がローカルのファイルにも影響することがあります。

また、ローカルのファイルに問題があったり、改良することもあるので、改良されていないローカルなデータベースがホストのファイルと同期をとると問題が生じするケースも出てきます。

そのため、ローカルなファイルに対して、バージョン管理をしっかりと行い、ホストファイルにアクセスできる最低のバージョンを満たしていない場合に、同期させないという処理が必要になってくるわけです。

バージョン管理

最初は、そういう可能性に気づかず、危ないところでした。

もし、管理をせずに運用を始めると少し面倒なことになるところでした。

遠隔地で普段は顔を合わせない方も多いので、新しいバージョンにローカルファイルを更新したときにスムーズにファイルを入れ替えてくれるとは限らないからです。

ホストファイルに同期を許可する最低のバージョンの管理としていろいろな方法があると思いますが、ローカルのファイルにバージョン番号を持たせ、ホストファイルに接続できる最低のバージョン番号を保存し、同期処理前にその番号を比較し、最低バージョンを下回っている場合に同期させない。

ローカルファイルの作りや、業務上のルールにもよりますが、それだと問題が起きるケースも、考えられました。

ローカルファイルを開けたときに、ホストファイルと必ずしも接続する必要がない場合があります。

その時は、ローカルのファイルで入力などを行い、「さあ、同期しよう」となった場合、最低のバージョンを下回っていることを知り、同期できずにせっかくの入力が…となってしまうことが。

そういうことが起こりうるので、Webサーバにホストに接続できる最低のバージョン番号を記したファイルを置いておき、ローカルファイルを開くときに「URLから挿入」で、そのバージョン番号とローカルファイルのバージョン番号を比較する方法を取り入れています。

インターネットにさえつながっていれば、バージョン番号を取得できるので、けっこう便利です。

奥深い同期モデル

同期モデルに取り組む以前は、あまり想像もしていませんでしたが、けっこう奥深くて、いろいろと作っていくうえで勉強になりました。

また、いろいろと試してみていきたいと思います。

2014年11月27日木曜日

FileMakerとiPad、iPhoneの進化

こんばんは!

今日はFileMakerとiPad、iPhoneの進化についてちょっと考えてみたいと思います。

初めは……

初めにFileMakerのiOS用のアプリであるFileMaker GOが登場した時は、
iPad2、FileMaker11、iOS6が最新の組み合わせだったと思います。

当然、私もその時のスペックなどに応じた、できるだけ開発工数の少ないソリューションを作成しました。

誤算だったのは、恐ろしく早い開発スピードで、ハードやOSが変わることでした。

iPhoneやiPadをお使いの方は分かると思いますが、
2世代前のハードは、「かなり厳しい」と言わざるを得ません。

PC向けのソリューションよりかなり作った後のメンテナンスが重要で、iPadは買い換えられないのに、
OSだけが新しくなっていき、さらに経年劣化もあり、iPadが重くなっていく…

という中で、ストレスのないソリューションを作ることが求められるようになりました。

同期モデル

同期モデルは、ホストされているデータベースのデータの一部をiPad、iPhone上においてあるデータベースにダウンロードし、入力してホストされているデータベースに同期させるという仕組みです。

FileMaker Proだけの運用では必要のなかった同期モデルが、FileMaker GOでは必須になりつつあります。

特に、基幹業務のソリューションでは必須といってもいいかもしれません。

FileMaker GOが登場した当初は、電波の届かないところ(悪いところ)での作業ができることを目的としていましたが、iOSが7になったあたりから、古いiPadでもストレスなく入力作業などができるように同期モデルを導入することが多くなりました。

企業ではハードウェアはできるだけ長く使いたいと考えるでしょう。

PCは、5年は使いたいと思います。
5年前のPCでもWordを使ったり、FileMakerを使ったりするくらいの事務用とであれば、
5年前のハードでも使えます。

しかし、5年前のタブレットって、どうなんでしょうか。

タブレットの話ではありませんが、
私は5年前にiPhone3GSを購入しました。

5年たった今では、もう遅くてたまりません。

同じアプリを起動するにも、古いものは明らかに起動が遅いのです。

PC向けソリューションでは気にならなかったことも、気にしないといけなくなる時代が
やってきたわけです。

2014年11月20日木曜日

FileMakerGOのPC版があればいいのに.....なんて

FileMakerで開発をいろいろと行っていていつも思うことがあります。

たぶん、こう思っている開発者の方は私だけではないでしょう。

「FileMaker Proから開発用の機能を削除したソフトを出してほしい」

ということです。

簡単に言うと、FileMaker GOのPCソフト版です。

FileMaker GOにはデータベースの定義をいじったりする開発向きの機能はありません。
クライアント専用ソフトです。

それがPCでもあればいいのにとよく思います。

iOSでFileMakerのデータベースが扱えるようになって非常に業務利用での幅が広がりました。
これをPCでも行えば、PCからの需要がさらに増えのではないかと。

私が最初にFileMakerを検討したときに、いろいろなことを考えました。
なにせ、小さい会社なので、可能な限りコストを抑えたい。

・FileMaker + PHP
・FileMaker + インスタントWeb公開(その当時)
・FileMaker + FileMakerPro

のどれにするかを考えました。

コスト的には上から下にかけて高くなっていきます。ただし、開発工数や技術力がかかるのは、上が最もかかり、下にかけて楽になります。

本来であれば、FileMakerの特徴や機能を最大限に生かすには、メンテナンスが楽なのは一番下のパターンでしょう。しかし、初期費用が高く稟議が下りるか不安。

それでも、JAVA+商用データベース(すべて外注)ということになったりするよりかはるかに安く上がるのですが、小さい会社の幹部の方はなかなかそういった意識が少ないので、説得するのに苦労します。

そこで、FileMaker LiteみたいなイメージでFileMaker GOのPCでも版が安く購入できるものがあれば、最初からFileMaker + FileMaker Lite(勝手に名づけてすいません....)を考えられるのに、なんて勝手に考えてしまいます。

ただし、Liteを発売した場合ProのユーザーがそのままLiteに乗り換えるだけで、終わってしまい、ユーザが増える見込みが見えない。と作る側は考えるかもしれません。
結果、売り上げが落ちるだけということもあるかもしれません。

では、ホストされたファイルしか開けないFileMaker、その名も「FileMaker Cloud」(また勝手に名づけてすいません)はどうでしょうか?

これをFileMaker GOのように、無償で提供し、接続ライセンスを必要とする。

ねえ、どうでしょうか?

2014年11月19日水曜日

FileMaker(ファイルメーカー)でレストランなどの注文システムを作ってみる Part3

の続きです。

レイアウト

とりあえず、作ってみたレイアウトを下記に表示してみます。
















商品が表示されている左部分と、注文の履歴を表示する右部分に分かれています。

※このレイアウトのテーブルは「order_master」というテーブルオカレンスです。
リレーショングラフは下記を参照ください。

商品が表示されている部分

左部分はタブコントロール+ポータルで構成されています。

A,Bという名前を付けていますが、カテゴリー別にタブで分けることを想定しています。

タブを切り替えると商品のリストが変わります。

タブ部分にはポータルが乗っていて、2つに分かれています。

上の図の「りんご」「ハンバーガー」が同じポータル、右側の「パン」と「ローストチキン」が同じポータルになります。
ひとつのポータルには2行を設定しています。

現在のところ、ポータルにはフィルターを設定していませんが、カテゴリーでタブを分ける場合は、フィルターを設定することになるでしょうか。

「ご注文履歴」

右側の部分もポータルになっていて、「order_detail」のテーブルのレコードを表示しています。

商品の欄にある「注文する」ボタンを押すと、スクリプトが動き、右側のポータルの最後の行(新規レコードを作成するため)に移動し、注文内容を書き込みます。


ざっと、作ってみましたが、この後のことは考えていません.....

注文システムというと、その後の厨房に注文が入ったことを知らせたり、そのオーダーがお客さんに出されたことを記録したり、POSと連携したり、またはPOSを作らなくてはなりません。

こんな感じでできるんだとわかったので、個人的には収穫でした。




2014年11月17日月曜日

FileMaker(ファイルメーカー)でレストランなどの注文システムを作ってみる Part2

テーブルなど

前回に引き続き、FileMakerで注文システムを作ってみたいと思います。

まず、ここでは、細かい処理についてはあまり触れません。

最低限必要なテーブルとしては、

・商品リスト
・注文リスト

でしょうか。あとは卓を管理するためのテーブルなども必要になってくるでしょう。

実際には、

・商品マスター
・注文マスター
・注文リスト
(・テーブルマスター)※ここでは触れませんが、実際には必要でしょうか。

・注文リストは、注文マスターとリレーションする詳細のリストです。注文マスター側では、詳細のリストの注文合計金額を計算したりします。

注文マスターは、1テーブルの1会計=1レコードとしていて、注文リストには実際の注文内容が書き込まれます。

会計が終わり、テーブルを片すのと一緒に、端末で、注文マスターに新規レコードを作成します。

テーブルマスターを()としましたが、なくても大丈夫でしょう。このテーブルがあると、現在のテーブルの埋まり状況や、お客さんが入店してからの時間などが把握できるようになります。

リレーションマップを下記にようにしてみました。

実際お客様が見る画面のレイアウトのテーブルの割り当ては「order_master(注文マスター)」になります。

このレイアウトに、商品のリストも表示していきますので、「item_master(商品リスト)」とデカルト積(X)でリレーションしています。

※デカルト積では、すべてのレコードが表示(相手の全レコードが関連)されるようになります。

では、次回はレイアウトについて考えてみたいと思います。

2014年11月13日木曜日

FileMaker(ファイルメーカー)でレストランなどの注文システムを作ってみる

FileMakerで作るセルフオーダー注文システム


最近、レストランや居酒屋などで客席にタッチパネル式の端末を設置し、そこから店員を呼ぶことなくオーダーできるシステムをよく見かけます。

中にはiPadが設置されているものも見かけます。

やはりiPadを使う理由は端末の低価格と汎用性、価格の割に端末のスペックがいいというところでしょうか。

業務用端末の場合、耐久性が高いという特徴がありますが、価格的には多少高くなるでしょうか。

また、iPadの場合、たとえ壊れて代替えがすぐにほしい場合でも、近くに家電量販店などがあればすぐに手に入れ、交換することができます。セットアップもそれほど難しくはないでしょう。

そんな理由からiPadを選ぶところも多いかと思います。

価格面などのメリット


そこで、iPad+FileMakerGOで、これを作ることはどうなのかということについて少し考えてみたいと思います。

まず、価格面。

こういった業務用のシステムは価格も機能もまちまちなので、比較しようがない部分もありますが、
例として15端末(テーブル)として考えてみます。

・iPad Air @42,800円→15台合計 642,000円
・FileMaker Server+15接続ライセンス 412,200円
・ソフト開発費用(外注なら必要) ?円
・無線アクセスポイント @30,000円~
・サーバ機(クライアントOS使用) 80,000円くらい?
※FileMaker Pro+PC1台が必要(商品リストを更新したり、POS(注文リストを見たり)として使ったり)

ソフト開発費用に関しては自分で作ればタダですし、手伝ってもらう場合、作ってもらう場合で金額も違ってくるでしょう。

専用端末の場合は200~400万は覚悟しないといけないでしょうか?

FileMakerGOの場合、約110万円+開発費用です。

価格面でいうと、かなり抑えられる印象です。

あと、月額の保守用がかかる可能性があります。


あとは使い勝手や印象といった部分になってくるでしょうか。

自分的には非常に興味があるので、ちょっと作っていきたいと思います。

長くなりそうなので、続きは、次回へ…

2014年11月9日日曜日

iPadやiPhoneでホーム画面から直接ホストされてるデータベースにアクセス(FileMakerGO) Part2 ※iPhone構成ユーティリティを使ってのやり方

以前に触れました、iPadやiPhoneのホーム画面上から直接ホストされているデータベースにアクセスするアイコンの作り方についてです。


iPhone構成ユーティリティについてはこちらからダウンロードしてください。

iPhone構成ユーティリティを起動し、「新規」をクリックします。
iPhone構成ユーティリティ 新規







下の図のような表示が現れますので、特に赤枠部分を入力します。

・プロファイルの表示名
・識別子(ユニークな、世界中他のプロファイルと重複しない名前ということですが、接続するデータベースの名前や会社の名前などを加えておけば問題ないでしょう)
・プロファイルの組織名(会社名などを入力)
・説明(これがなんなのか後でわかるように入力しておきます)

※後の項目は特に変更しなくても、大丈夫です。

Webクリップを作成iPhone構成ユーティリティ


























左のメニューから「Webクリップ」をクリックし、右の部分が変化しますので、「構成」をクリックします。
Webクリップを作成iPhone構成ユーティリティ


















下の図のような画面になるので、以下の部分を入力します。

・ラベル(アイコンの名前で、アイコンの下に表示されます)

・URL(ホストとデータベースの名前を入力します)
fmp://(ホストやサーバのIPアドレスやドメイン名)/(データベース名)

※データベース名が日本語の場合、URLエンコードが必要です。
URLエンコードはこちらでできます。

Webクリップ
























上部メニューの「書き出し」をクリックします。

次に「エクスポート」をクリックします。
ファイルを適当な場所(デスクトップ等)に保存します。

エクスポートされたファイルをメールなどでiPadやiPhoneへ送ります。

iPadやiPhoneで受け取り、ファイルをタップすると下の図のようにプロファイルをインストールする画面になるので「インストール」をタップします。


iPhoneプロファイルのインストール
















さらにダイアログが出るので「インストール」をタップします。
これで、完了です。

ホーム画面へ戻るとアイコンが作成され、これをタップすると
FileMakerGOが起動し、データベースへ接続し、アカウント制御のあるファイルであれば、
アカウント名とパスワードを入力する画面が