2019年9月3日火曜日

今から間に合う!一緒に、軽減税率対応のPOSレジを作りますかぁ? その10

軽減税率のPOSレジですが、片手間になってすみません。
仕事外でも多忙を極めておりまして、残念ながらここでストップいたします。
今からでも間に合うとか宣伝してすみません、でも、以前UPした状態のものでもカスタマイズの仕方によっては十分間に合います。

完成版が出来なくて本当に申し訳ありません(泣き)

以前アップしたファイルを自由に使ってください。
レシートの出力すらない状態ですがw、レイアウトは簡単です。


下のレイアウトは軽減税率対応前のものですが、消費税のところを
8%と10%の繰返し集計を(ファイルにあります)そのまま置くような感じで大丈夫です。ボディには「※」マークを追加すればOK
8cm幅のレシート幅に合わせます。



フィールドをそのまま置いてもいいですし、マージフィールドを使用しても良いと思います。


リストになるボディや配置によっては空白をつめる設定が必要です。
(レシートプリンタによってはプリンター側で空欄をつめてくれるものもあります)

(非軽減税率のレシートですがw)


パソコンPOSの良いところは、色々なレシートが作れるところですよね。以前は、おみくじ付や、当たり、外れくじ付き、花柄、スイーツ柄なんかも作りました。販促だけじゃなく、楽しいデザインは喜ばれます。

確か按分機能も作ったかと思うのですが、按分画面のポータルの明細テーブルで按分用のレシートも必要かと思います。

レシートプリンターはエプソンがお奨めです。
キャッシュドロアーと一緒に購入して、ドロアーはプリンターに繋ぐと、レシート印刷命令でドロアーが開くようになっています。


次に集計。
明細数が増えても基本的にはそんなに重くはなりませんが、計算式がやたらと多くなった場合や索引、集計を使用するとどうしても重く遅く感じることもありますので、日々の業務が終わったら受注データを売上ファイルにデータ移行(更新)させ、集計は売上側で行うとパフォーマンスが下がる事はありません。

今使っているファイルをコピーして、もうひとつファイルを用意します。
コピー側の受注と明細のフィールドを計算式ではなく全て数字に変えます。
業務終了後インポートをかけ売上にデータを持たせます。
(赤黒処理をするなら、受注側のデータは任意で消していいですよね)

あとは、売上側のデータを参照して集計や分析資料を作ればいいと思います。


おもいっきりはしおりましたが個別に質問や疑問がありましたらお答えします。
たぶんですが、9月から11月くらいまではブログ対応は出来ないかもしれません。













2019年8月4日日曜日

FileMaker 配列変数から取り込む

前回の
API_OpenWeatherMapをFileMakerに取り込む際、

1、改行テキストに変換
2、配列をグローバル変数に格納
3、GetValue関数を使ってLOOP処理でFMのデータ化させる

という流れでした。

OpenWeatherMapは項目とデータをグローバルフィールドで照合していて分かりずらかったと思いますので、今回はよくあるid、品名、分類のテキストにしました。






前回のものをデバッガで確認していただけたらOKなのですが、あえて順序だてたサンプルを用意しました。

1~4まで青枠のボタンがありますので、サンプルで確認してみてください。


FileMakerの場合、
配列変数からの取り込みは「変数設定の繰返し(繰返し変数)」を使用するのではなく、
グローバル変数を使った改行テキストからGetValue関数を使って抜き出すというのが一般的であると考えています。

------省略------
Loop
新規レコード/検索条件
フィールド設定 [id;GetValue ( ※1.整理する配列変数 ; 1 )] 
フィールド設定 [品名;GetValue ( ※1.整理する配列変数 ; 2 )]
フィールド設定 [分類;GetValue ( ※1.整理する配列変数 ; 3 )]
変数設定[$cnt;値:$cnt+1]
Exit Loop If [$cnt>$$cnt_mx]
End Loop
------省略------
※1.整理するというのは
Substitute ( GetValue ( $$source ; $cnt ); [ " " ; "¶" ] ; [ " " ; "¶" ] 
の事です。

変数設定の繰返し(繰返し変数)を使用した場合、どのように取り込むのかは、なんとも想像できません。(繰返し変数からインポートとか出来るようになったら・・・・かな。
僕が古いのかな・・・)




ダウンロード(FileMaker17Win)



追記
配列変数と書いてますが、FMの場合、他の言語とはまったく違います。
ここでは単純にテキスト改行にして一括取り出しをしているだけで、行や列という概念が無いですしインデックスを持たせられません。行、列の部分的な宣言、代入はできません。
( Dim C(3,4) ⇒ Dim B(3,4)の誤り )

このような宣言として配列変数を使用することが出来ないという事です。
残念ながらExecuteSQLにもありませんし(データを生成させてグローバル変数を利用して並べる事は出来ます)、
無償のSQLでいえば
MySQLにも配列変数が無いので、PostgreSQLか、高価なOracleとODBC連動という事も考えられますが、そこまでして・・・というめんどくささがあります。

行と列の変数での宣言、もしくは指定というより、抜き出す前の段階でデータを絞り込む事を考えた方が賢明かもしれません。


2019年7月31日水曜日

API_OpenWeatherMapをFileMakerに取り込んじゃう作戦


ピンクのとこ押すと今の天気を取得できちゃう。


POSレジ進めなきゃいけないのですが、ちと本業の納期が数件あったり、追加依頼だったり、修正だったりして遅れてすみません。ちゃんとやるからねー。

でも小売業にとても影響する天気情報をネットから取得しちゃう作戦を載せてみます。レジのジャーナルとか日報とかお天気の情報って、その日の朝の天気1回じゃないですか?今作ってるPOSに上の天気情報を移植すると何ができますか!?
そう、時間ごとに天気が取得できちゃいます。

特に、外食業界!天気がもろに影響しますでしょ、
行楽施設、百貨店、スーパー、ショッピングモール、路面店、その他小売店、ぜーーーんぶ天気に影響しますでしょ!?

なのに、日報では朝一回きり。大事ですよー
後にデータ分析の役に立ちます。


OpenWeatherMapさんのAPI
基本は無料なのですが、ビジネスとして使うなら、ちゃんと登録してお金払いましょう。APIを使用する場合はその辺のところをよく注意して使用しましょう。


API Keyを取得するにはアカウントを作る必要があります。Sign Upページで必要な項目を入力して「Create Account」します。設定すると次の画面でAPI Keyが表示されるはずです。






それをスクリプトの中のOpenWeatherMapのURLを生成 箇所がありますので、
ご自身のAPIKeyを取得して設定してください。



次に、自分の場所の緯度と経度を調べておいてください。API側のデータはJSON, XML, or HTMLにしなくても、ダイレクトにURLから取得できます。
ネット上から一旦、ズドン!とマスタ(情報ソース)にパラメータデータを取得して、それをデータテーブルの項目別の複数のテーブルに分けFileMaker用のデータとして生成します。配列変数からの取り出し詳細は、難しい話になるので後日またの機会ということでw



id:802でCloudsってなってるね、でも晴だよ・・・実際は803が曇り、ちと微妙だね



Temp_min:303.71 
最低気温303度?っておかしいべ!?死ぬべ!?
って、いろいろ調べると華氏から摂氏に変えないといけないので、各tempにマイナス273.15で計算すると33.6℃とか出たから安心(笑)



ダウンロード(FilemakerPro17 win)





2019年7月16日火曜日

今から間に合う!一緒に、軽減税率対応のPOSレジを作りますかぁ? その9

前回のダウンロードしたファイルがうるさい!とクレームがきたのですが(笑)、
FileMakerはPCのタッチパネルディスプレイを使用するときなどボタンに音を入れる事が出来ない(昔はハイパーカードみたいに出来た)ので、ウィンドウズのコントロールパネルの警告音を利用して音を入れています。必要がなければ、全てスクリプトから外すのも大変なので音量を下げて使用してください。使用する人は音源ファイルを入れてますのでコントロールパネルで設定してみてください。


按分

按分機能は、レストランやパティスリー、カフェ、居酒屋など外食産業に多く必要とされる機能ですが、最近はカルディなど小売店でも別会計に対応できるようなサービスを取り入れています。



少しレイアウトを変えました。
今回は、前回の会計に引き続き、会計の補助、個別会計ができる「按分機能」を作りました。

まずは動きを見てみます。


①最初は商品を選択する画面です。

商品ボタンを押すと、税区分「E」(イートイン)が選択されていれば、デフォルト値「E」で選択されてしまいます。数量は該当する商品数に追加されます。
「苺のショートケーキ3個」のうち1つをテイクアウェイにしたい場合は、商品名がボタンになっていますので、押すと「苺のショートケーキ」が最後の行にばらされて表示されます。税区分を「T」に変更します。


②ばらされた明細


「苺のショートケーキ」自体の数量は変わりませんが、税率が変わりますので、当然合計の金額が変わります。
このボタンは、商品の数量が2個以上あった場合のみばらされます。


③会計画面

また、少しレイアウトを変えました。黒背景の意味のない項目を削除しました。
下の税率別の計算数値が必要なければ消してもいいですが、軽減税率の仕組みや今後の税改正までは、こういうのがあった方がエビデンスのためにも分かり易くていいかもです。
(ちなみにうちの商品は、これが無いので、今回作っていて採用する事にしましたw)


④按分

商品名の背景がグレーに変わり、該当商品名を押すと、別会計のポータルに商品を1個移動します。「今までの明細がボタンに代わり、別会計用の新しい明細に打込む」という仕組みです。商品マスタから選ぶのでなく、受注された明細から数量のかたまりをばらしていきます。


⑤按分 その2

それぞれに会計を行います。会計後は「次の会計」ボタンを押します。

それぞれ、個別会計時にカードや割引、金券などの使用があった場合でも、累積されるようにしています。

最後の方まで会計をすませば、

⑥元の会計画面

商品の数量が全てばらされた会計画面に戻されます。(モンブラン2個というのは同じ方がお会計した場合、数量も合算されます)

累積される会計種別は、割引類、カード類、金券や商品券です。あとは釣銭なしの商品券・金券の預かりデータです。別会計に売掛は持たせていません。
釣銭が幾ら、ですとか、現金預かりが幾らとかは売上集計上あまり必要が無いので省きました。


この機能で重要なのは、リレーションです。
全て同じ受注明細テーブルのテーブルオカレンスを使用していることです。





実際に按分に必要な追加TOは③と④です。
按分の画面上は①のテーブルに通常の明細②のデータを④を使って③に移動すると考えればいいのですが、これはここで説明するより、分解して構造を見てください。
(壊れたら、またダウンロードすればいいです)



コメントが多いと気持ち悪いのですが、我慢してください。
デバッグで動きをみながら壊していくと中身が分かるかと思います。



ダウンロード(FileMakerPro17 Win)



次は、レシートとカスタマーディスプレイ
その次は、更新処理、売上ファイルにデータ移行、集計








2019年7月13日土曜日

今から間に合う!一緒に、軽減税率対応のPOSレジを作りますかぁ? その8

少し忙しくてPOSレジ方が遅れてます


今回は会計の画面ですね~
入力画面も少し変更しています。自由にカスタマイズしてくださいね。

今回作ってて思ったのですが、

●軽減税率と標準税率を分ける
●端数処理(ポータル明細内の各行と、受注側(3カ所の消費税計算)
●繰返しFと混在の計算(税を分けるところ)
●内税、外税

この4つの条件で一旦は作ったのですが、想像していた通り、重くなりまして、今後按分会計の開発を考えると、一番重い外税は一旦やめておくことにしました(笑)
(自社マスタで設定できていた内税と外税を外しデフォルト内税にしました)
外税が必要な方は、計算式内の /* 消し*/で残していますので自由に使ってください。

端数処理の重いのはしょうがないです。(遷移で止まるのはこれです)






この会計ですが、作っている過程を掲載するのは難しいですよね。


あるところまでは、一気に作り上げないと、逆に説明のしようがないです。

写真の赤まるの消費税の誤差ですが、左の消費税は
明細ごとに消費税を計算(当然明細ごとに端数処理をします)したもので
右の消費税は割引後の合計値を元に計算(合計に対しての端数処理)したものです。
当然、税率が変わります。

しかし、これは国税局が指導した端数処理(切り捨て)の範囲内であり、なんの
問題もありません。(請求する額が減っては困りますが)
今回のPOSシステムでは、この差をまるめるのではなく、あえて表示させ、今後も続くであろう軽減税率の対策に生かそうと考えています。
(例えば、明細上では小数点2位表示させ、その合計で端数処理とか)




今回の軽減税率で一番困る話


●今回8%と10%の対象品合計をレシート上で分けて表示すること。対象品は *マーク
(画像は国税局)

すごく、中途半端ですよね。
このシステムに補助金をかけて次回のインボイスに再び補助金がおりるのでしょうか・・。






●次回(2023年)は、インボイス方式で消費税も分けて表示すること。
(画像は国税局)

2段階目があるということです。




どんどん内容が変わる国税局。

上の絵は見た目は簡単ですが、
分けるということは、合計と消費税だけではなく、割引(クーポン割引)、クレジット(クレジット、やデビット、電子マネー、スマホ決済など、全て8%と10%に分けないと、消費税の計算が合わなくなります。 請求書を2つに分けるって、一体誰がそんなめんどくさい管理しずらいシステムを作るというのでしょう・・・・か!

あえて、段階的に税率を表示させましたが、この赤まるの消費税の計算の違いは


このように構成比を基に値を計算して分けないと、算出されません。
でも、ここでちゃんと分ければ、レシートや伝票を税率ごとに発行しないで済みますし管理もしやすいですよね・・・。




今回、時間が無くて十分なデバッグをしていません。
ちゃんと動かなかったらすみません。(あとでじっくりデバッグしますw)

ダウンロード(FileMakerPro17 win)

※タッチパネル用に、ボタンに警告音を入れています。使用する場合は
音源も入れてますのでWinのコントロールパネルで設定してください。



追記・・・

計算式だらけで、レコードが貯まる分、どんどんパフォーマンスが悪くなります。
どうするかというと、別ファイル(売上)の数字フィールド(計算フィールドは止める)に受注や明細データを売上にインポート(集計や分析資料に使用します)して、受注テーブル側のデータは消します(更新処理)。
なので、日々のパフォーマンスは悪くなりません。
更新後の修正は出来ないので、赤黒処理をします。
日次更新として日の終わりか、サーバーがあればチェック(承認)だけしておいて、深夜自動更新という手もあります。






2019年6月29日土曜日

今から間に合う!一緒に、軽減税率対応のPOSレジを作りますかぁ? その7

バーコード

会計機能を作る前にもう少し、入力の補助なんかを・・・。
バーコードは既に使っている人も多くいるかと思います。
POSレジでは、商品の決済時も使う事がありますが、在庫、棚卸とか発注(今回は作りません)とかではよく使いますので知っておくと便利です。



製造など外食では、バーコードは使わないかもしれませんが、
うちのお店では、棚にバーコードを貼って「ピ、数量」とかやってます。
主に発注で使っています。
番号は、オリジナルで大丈夫です。
(今回はUUIDのうちの12桁を商品バーコードにしています。重複しません)
物販業はJANコードなどありますから、仕入れ業者からデータをもらって商品マスタにインポートしておけばいいですよね。

POSレジのボタン数で間に合う場合は、そのボタンでいいのですが、一般販売業などは商品アイテムが多く、そもそもボタンを探してられない場合などに便利ですよね。
(商品アイテム1万以上の場合は次回別の方法も紹介します)

今はQRコードもありますが、A4シールに印刷して気軽に利用するなら通常のバーコードでぜんぜんOKです。(なるべく資材にもお金かけたくないですしね~)
独自の番号をシールなどで印刷して、下敷きやメニュー、棚に貼って「ピ」でも使えます。
で、そのバーコードなのですが、PCの場合はバーコードフォントというのがあって、一般的にはそれを使います。ですが、そのままでは使えません。というかバーコードリーダーが読み込んでくれません。



上の画像の右がフォントで表示されたコード39というバーコードなのですが、開始と最後にアスタリスクを付けないと読み込んでくれません。
また、印刷した状態にもよるとは思うのですが、幅が広く高さが無いので、読み込んでくれたり、読まなかったりでけっこうトラブルがありました。

そこで今回はJQuery Barcodeを使ってちょうどいい大きさで、しっかり読み込んでくれるバーコード生成ファイルを外部ファイルで結んで使用する事にしました。
だんだんJavaScriptとか使う頻度が増えそうですよねぇ・・・。


受注画面で商品を選ぶので、この外部ファイルを受注側のグローバルフィールドで結びます。使用する分には単純で難しくはないので(javascriptの中身じゃないですよw)、今回ダンロードファイルに一緒に入れておきます。在庫とか、発注なんかにでも使ってください。




バーコードのボタンを押すと「Lady Go!」と表示されます。
プレースホルダテキストに次の計算式を入れ
Case(Get ( アクティブフィールド名 ) = "g_バーコード読込結果";"  Lady Go!";"")
フィールドをフォーカスし(水色)、条件付き計算で
$$barcode_keycnt = 0  (ピンク色)
設定しただけです。


バーコードリーダーを使用すると、


トリガが発動します。


バーコードを発動させ読み込むスクリプトはけっこう人によって違うかな・・・
僕が紹介する複雑なものより、単純に商品を拾うというロジックで構わないと思います。
調べて好みのスクリプトを使用してください。



商品が決定されるとピンクになり、明細に商品が記載されます。




FileMakerPro17(Win)
ダウンロード







2019年6月23日日曜日

今から間に合う!一緒に、軽減税率対応のPOSレジを作りますかぁ? その6


今回は、消費税別の集計。

10%は幾ら、
8%は幾ら・・・というところ

受注側のテーブルに繰返し(2か3)のg_税率というグローバルフィールドを作ります。
受注明細テーブルはTOを2つ作ります。






受注明細と受注明細をg_税率と受注idで結びます。sys_D受注_D受注明細_税率集計でポータル内の10%と8%の合計を計算





受注と結ぶ、sys_D受注_D受注明細_税率でポータル内の10%と8%の合計を繰返しに表示


賛否はあるかと思いますが、フィールドの計算値が後の利用度が低く、他に極端に影響を与えない特性のものであれば、繰返しフィールドを使用しています。
僕的には、ここで繰返しを使用しないで何処で使うか・・・みたいな感じですかw

特に特別な計算式はありません。





商品明細の横に「*」アスタ表示

今回の軽減税率は、
●商品ごとに通常増税10%と、お米など軽減税8%を表す区分
●もうひとつは外食産業の様にイートイン10%は通常、テイクアウェイ8%は軽減税という2つの特性があり、これらは同じではありません。

しかし、今回僕が作るシステムの計算上は%の違いで合計計算をしています。
(第一段階の軽減税率はこの程度で、2023年からの第二弾でこの辺のところは変わって来るかと思います)ですので、自社マスタ(システムマスタ)で変更に対応できるように作る事が要求されるでしょう。

また、現場で入力する際、請求と違い、現金商売なのでお客様をなるべく待たせない。
いわゆる商品ごとの税の特性については商品マスタであらかじめ事前設定する事が必須になるでしょう。明細側で「これは、軽減税率対象品だから・・・」なんて考えたり調べたりしている場合ではありません。

入力画面では、ポータルの上に、明細のデフォルト値が反映されるように一般商材(通常増税、軽減税)、E(イートイン)、T(テイクアウェイ)が選択できるようになっています。ポータルの明細内でも、Eか、Tの変更、混在が可能です。また、ファミリーレストランの様にカウンター越しに物販などある場合は、おもちゃは”一般”を選択すれば10%、お米の販売があったとしても”一般”を選択すれば、商品マスタ側で事前に設定されている8%で計算されるというものです。一般とは、一般商材という意味です。(商品マスタ側で事前設定できます。消費税マスタもよく確認してみましょう)
たぶん、これらがクリアされていれば問題はないでしょう。

2023年からインヴォイス形式に代わります。
これ等は明細上で税率表記が義務ずけられるというものですが、システム的には今回からそのように作らないと、8%と10%を分ける事は出来ません。
更にクーポンや割引きです。以前は明細ごとの構成比を出し、値引き額を構成比ごとに按分させていいく方式で説明しました。(実際、納品しているPOSのほとんどがそれ //明細が汚くなりますけど)
しかし、今回は、%ごとの構成比でOKなので、10%と8%の金額の構成比を算出し、値引き額を算出します。
正直、2023年がどうなるか分かりません。もしかしたら、ほんとうに明細ごとに算出しなくてはいけなくなるかもしれません。
(でも、そんなに難しくないです。 ごちゃごちゃして汚いですけど)

今回も特に特別な計算式、スクリプトはありません。




(FileMakerPro17 win)








2019年6月17日月曜日

今から間に合う!一緒に、軽減税率対応のPOSレジを作りますかぁ? その5

iPadやiphoneを使用したPOSシステムについて
今回のPOSレジはiPad様には作っていません。
でも、使用は可能です。

2013年くらいから、ipad miniを使ったPOSレジを作りましたが
自分のお店含めて導入したお店など、現場をリサーチしてみて感じた事は
どの程度ipad側に働かせるか!?だと思います。

FileMakerに限った事ではありません。
逆にFileMakerで開発したほうがiPadの運用には向いてるかと思います。



POSレジとして、成立しないとか働かないのではなく、現場でトラブったとき、どういう対応を考えているか!?につきます。トラブルというのはVPNを含めたWiFiなどの回線トラブル(計上されていない)や、操作ミスなどで違うアプリを開いてしまった(そのようには作っていなくても、現場ではそうなる)場合、即座に現場が対応できる代案を用意した上でのシステムなのかどうかという事です。

現場の販売員さんたちは、皆iPad POSを使いこなせているわけではないですし、ネットワークなどに詳しいわけでもありません。

何よりも、打ち直しなどで、お客様を待たせてしまう事は大罪です。
これが一番の問題。
これが解決できないなら、止めた方がいい。

オーダーを受ける受注だけiPadを使用するとか、会計や集計はPC側で行うとか、役割を決めずに全てiPadなどのタブレットで処理を行うのは気持ちはわかりますが危険としかいいようがありません。

自分のお店でも使っていたのですが、接客サービスとして問題が多いので止めました。
ほとんどが、システム的な問題ではありませんでした。

・オーダーを取るのに使うにも、ゴツくて大きくて女の子には持ちずらい。(iphoneでは役不足)
・キャッシャー台の高さにもよるのですが常に接客姿勢が下向き加減
(これが嫌でしたね~。品が無いんです。優秀な子が駄目な子に見えてしまう。台が高すぎるとお客様に失礼すぎるし、普通だと下向き加減、PCに戻すとそうはならないですから)
・回線ですよねー。「少々お待ちください」というのが悔しい!というか、もう駄目です。VPNを使ってもそうなので、結果、LANになりますでしょ。ならPCの方がトラブルは無いですから。
・作業中、他のアプリを開く。これが致命的ですね、6人のお客様の別々の会計中とかに別のアプリを開いてしまうとか、最悪です。

居酒屋さんとか、LANでテーブルに置いてメニューオーダーするとかならいいかもしれませんね。ちゃんと役割を考えて導入しないと現場は忙しいのに別な事にイライラするだけです。


iPadは、病院の問診票とか美容室の顧客登録とか勤怠の打刻とかにいいですよ。アパレルでお客様と一緒に不在商品の画像を確認したりするにも最高です。

飲食のiPadPOSはね~、結局どうなったかというと、POSを止めて発注に使ってます。
これが便利!整理された棚別ではなく、倉庫やウォークイン冷蔵庫の中を、人が歩く順番、見る順番で商品在庫の発注数を入れられるようにしています。早いんです!あとは勝手に取り扱い業者が複数選択され、安い方の卸の方の発注枠にデータが入り、店長が承認すると発注となります。承認しないと発注されないので、回線に問題があれば、承認もできない。逆にそういう作りの方がいいわけです。 それと厨房へのオーダー(時間で点滅します)、製造原価計算に使っています。適材適所です(笑)







2019年6月16日日曜日

今から間に合う!一緒に、軽減税率対応のPOSレジを作りますかぁ? その4


今回はこのぐらいまで進めばいいかな・・。


うちのワンコの事情で全然進んでなかったです。すみません・・。





今までまったく触っていなかった受注テーブルを触ります。
分類と商品のグローバルフィールドを作っておきます。



更に、
受注テーブルのTo(テーブルオカレンス)と受注明細のToを受注idで繋ぎます。



更にもう一つ明細のToを作って受注idの他に、
受注側はグローバルフィールドのg_商品id、明細側は商品idを照合させます。
通常、売掛請求のような、データ入力に休みがある場合は、個数などの数字を入力しても問題はありませんが、現金商売の場合は、お客様を待たせることが出来ません。
しかし、sys_D受注_D受注明細2の意味は
商品のボタンを押したら、自動的に明細のポータル内に数量が1個入力されているような仕様にならなくてはいけません。更に、別の商品を入力した後、先に入力した商品を追加した場合、新たな行を追加するのではなく、その商品の明細に+1が入力されなくてはいけません。そのために受注テーブル側のg_商品id(グローバル)と明細側の商品idを追加で照合させます。



商品のボタンは、「雑貨」とか「日用品」分類で変わるように
受注テーブル側のg_分類id(グローバル)と、商品マスタのTo(sys_受注_M商品ボタン)で照合させます。
サンプルのファイルは、複雑にするために外食産業の分類データを入れています。
それについては、自由に設定してください。

受注のレイアウトは元々あったレイアウトとは別に複製させて
受注入力用の画面を作ります。
テーブルは設定_D受注ではなく、sys_D受注(こういうのは自由ですが、システムが複雑になってくると、どんなテーブルと繋がってるか、分かり易いし、説明しやすいので、規則的な名称を使用しますに変更し、フィールドも全てそのように変えます。FM17からは左にフィールド、オブジェクトのガイドが出るので随分と楽になりました。



sys_D受注_D受注明細(受注と繋がった明細)のテーブルをポータル化します。
デザインとかは、自由に好きにカスタマイズしてください。


その右横にsys_D受注_D受注明細_M商品(明細と繋がった商品マスタ)のポータルを置きます。同じポータルをコピーして、横にペーストしていきます。



ポータルフィルタで列を数値で分けるように設定していきます。
ポータルの中には商品マスタの画像と、表示用の商品名の2つが表示されるようにします。



ポータル枠と同じような図形ツールにボタン設定をして商品マスタ側の引数を入れます。
受注テーブルと商品マスタをグローバルフィールドで繋げているテーブルから参照させます。


分類は、そのままグローバルフィールドを繰り返しにして使用してもいいですし、
サンプルの様にボタンで反応させるのも有りかと思います。
ただ、分類が増えるようでしたら、タブやスライドなどを使うのも手かと思います。
※スーパーのように商品が多い場合は、こういうボタンではとても対応しきれません。その場合はバーコードリーダーに対応させるか、部品屋さんのなどは、PC-POSの強みとなる、品番のキー入力、グローバル検索、もしくはインクリメント検索などで瞬時に絞込み商品を選択するような仕様になるのかと思います。



スクリプトの説明は省きますが(下のサンプルをダウンロードして見てください)
受注側の税区分(一般、E、T)
一般的な商材、外食産業などのイートイン、テイクアウェイなどで明細の初期値の税率が変わるようになっています。明細ごとに変更が可能です。
(実際にイートインとテイクアウトは会計時に混在します)

また、商品のボタンを押すと、既に明細にある商品は数量が増え、無いものは明細のレコードが追加されます。


特に、今回のは基本動作だけなので簡単です。
次回は会計画面です。



FileMakerPro17 Win
ダウンロード
















最適化してますか?

 まるで入院していた患者が退院して元気に復活するような機能。 クラウドを使用するユーザーさんがほとんどなのですが、このゴールデンウィーク中は 最適化のメンテしときます。 データがピチピチしちゃいますよぅ。