初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2023-01-06 16:54:05

FM初心者
Guest

在庫管理について

お世話になります。

FMP18使用しています。

在庫管理のシステムを構築中です。

利用者テーブル
商品テーブル
商品利用実績テーブル

を作成しており
商品テーブルに在庫確認基準日と在庫数
商品利用実績テーブルに利用数を入力しようと思っています。

そこで質問があるのですが
商品Aを何度か使用した場合に、在庫確認基準日から今日までの間の使用数がカウントできますでしょうか?

期間を絞ったカウント方法があれば教えて頂ければ幸いです。
宜しくお願い致します。

#2 2023-01-06 22:21:18

Shin
Member

Re: 在庫管理について

在庫確認基準日とは、棚卸日と同じ意味でしょうか。
商品利用実績とは、出庫という意味でしょうか。それなら入庫もありますね。
棚卸日を期末として、例えば期末日に在庫をマイナスにし、おそらくその翌日(期首日)に同数を入庫する様なレコードをそれぞれ作っておきます。最初のレコードは,初期在庫数を繰入とします。
入庫 - 出庫 + 棚卸
という計算フィールドを作っておき、それを合計する集計フィールド(現在)を作ります。これが在庫数になります。
この構造ですと、棚卸日ごとの期間で在庫数の動きが見えます。また、商品テーブルからポータルで表示し,フィルターで期間を区切れば、その期間の集計ができます。
例えば、月末棚卸しでしたら、こんなデータ構成になります。
日付   商品     入庫    出庫    繰越    在庫
3/31  AAAA                      -30       0
4/01  AAAA                       30     30
4/01  AAAA   10                         40
4/02  AAAA             20               20
4/30  AAAA                      -20       0
5/01  AAAA                       20     20
この構成ですと,月単位でレコードを抽出しても在庫数は常に正しく、連続月とか年単位で抽出しても、繰越数は相殺されるので、在庫数は正しく計算されています。途中の繰り越しレコードが目障りでしたら、最初の繰入れレコード以外を対象外にすれば影響がありません。

Last edited by Shin (2023-01-07 11:22:09)

Offline

#3 2023-01-09 10:09:58

FM初心者
Guest

Re: 在庫管理について

shin様

返信ありがとうございます。

頭の中がこんがらかっているのですが、
この場合
商品利用実績テーブルでイベント(出庫・入庫・棚卸)があった場合に1レコードという認識で宜しいでしょうか?

#4 2023-01-09 13:08:47

Shin
Member

Re: 在庫管理について

1イベントで1レコードです。紙運用でも、1イベントで1枚書きますね。(棚卸しだけは、1回の柵おろしで2イベントが発生することになります)

Last edited by Shin (2023-01-09 15:15:29)

Offline

#5 2023-01-10 17:09:26

チポ
Member

Re: 在庫管理について

現状のままの解決法です。

商品テーブルで本日を入力する計算フィールド・グローバルを作ります。

リレーション
      商品テーブル  商品利用実績テーブル
                  商品 = 商品
    and
   在庫確認基準日 < 日付
    and
               本日 >= 日付

これで、商品テーブルで計算フィールド
  Sum ( 商品利用実績テーブル:: 利用数 )
で期間内の利用数の合計が求められます。

「在庫」と「利用」
と使われていますが、
商品のレンタルのようなものでしょうか?


> 使用数がカウントできますでしょうか
利用数の合計ですよね。
「カウント」
はFMで定義された用語で、件数のことを言います。

このような使い方は混乱の元になりますね。

Offline

#6 2023-01-11 18:06:42

FM初心者
Guest

Re: 在庫管理について

shin様
返信ありがとうございます。
現在、作成しています。
また何かありましたら相談させてください。

チポ様
返信ありがとうございます。
現状でも可能なんですね。
ありがとうございます。

在庫と利用は
利用者様のオムツの使用になります。

こちらも設定してみます。

#7 2023-01-12 15:39:27

FM初心者
Guest

Re: 在庫管理について

チポ様

同じ設定にしてやっているのですが
出来ません。

新規で一から作成したものでしたら出来たのですが
既存のモノですると合計数が反映されません。
リレーションやテーブルのミスはないとは思うのですが
他のテーブにリレーションをさせていることが問題でしょうか?

#8 2023-01-12 15:42:19

チポ
Member

Re: 在庫管理について

テーブルオカレンスをちゃんと合わせていますか?

ぐらいかな。。

Offline

#9 2023-01-12 16:18:27

FM初心者
Guest

Re: 在庫管理について

チポ様
再確認してみましたが、これ以外確認するところはありますでしょうか?

リレーション
http://deai.mokuren.ne.jp/up/src/up7901.jpg
リレーション編集画面
http://deai.mokuren.ne.jp/up/src/up7902.jpg

#10 2023-01-12 16:24:22

FM初心者
Guest

Re: 在庫管理について

追記

商品テーブルです。
http://deai.mokuren.ne.jp/up/src/up7903.jpg

#11 2023-01-12 17:33:18

チポ
Member

Re: 在庫管理について

商品テーブルから、
商品利用実績テーブルを参照したいのですよね。

この場合、
リレーションシップグラフで参照する側の商品テーブルはデフォルトを使い、
参照される側の商品利用実績テーブルをコピーして照合させます。

テーブルオカレンスの使い方にご注意を。

Offline

#12 2023-01-12 17:47:32

Shin
Member

Re: 在庫管理について

荒削りですが、こんな動きでどうですか。
https://www.dropbox.com/s/ia9qw71g0evbx … 2.zip?dl=0

商品テーブルに在庫確認基準日と在庫数を入れてしまうと、次の在庫確認で過去の数値を消してしまうことになります。それでは過去の作業を無にしてしまいます。それを含めて保存集計できます。

Last edited by Shin (2023-02-04 16:14:35)

Offline

#13 2023-01-13 13:48:06

FM初心者
Guest

Re: 在庫管理について

チポ様

おっしゃる通りで、テーブルオカレンスがめちゃめちゃでした。
修正したら治りました。

現在のやり方ですと、リアルタイムの在庫数と使用数が反映されるため
棚卸時点の記録としては反映されないように思えます(私の認識違いでしたら申し訳ございません)

別のテーブルに棚卸時のレコードをコピーペーストするのはナンセンスでしょうか?


Shin様

サンプルありがとうございます。
拝見しました。
私には難しくどこがどうなっているのか直ぐにはわかりそうにないです。
じっくり分析してみます。
棚卸時点のデータが反映されるので、ミスがあった場合は記録として残るのが良いですね。

#14 2023-01-13 14:45:32

Shin
Member

Re: 在庫管理について

> 現在のやり方ですと、リアルタイムの在庫数と使用数が反映されるため
> 棚卸時点の記録としては反映されないように思えます(私の認識違いでしたら申し訳ございません)
これは、最初の、「商品Aを何度か使用した場合に、在庫確認基準日から今日までの間の使用数がカウントできますでしょうか?」をそのまま反映した動きですよね。
在庫確認データが入出庫と関係ないテーブルに単回で存在するため、そのような面倒な動きになってしまう上に、それを保存することもできない構造なのです。

ですから、私の提案している構造にすると、
> 棚卸時点のデータが反映されるので、ミスがあった場合は記録として残るのが良いですね。
棚卸しを含めた在庫管理の作業の記録としては、ごく普通の処理だと思いますが。

Last edited by Shin (2023-01-14 08:44:09)

Offline

#15 2023-01-16 14:26:52

FM初心者
Guest

Re: 在庫管理について

Shin様

>ですから、私の提案している構造にすると

記録として残らないデータベースは意味がないですね。
Shin様の作成されてサンプルを展開してもう一度練り直してみます。
ありがとうございました。

#16 2023-01-18 15:37:49

FM初心者
Guest

Re: 在庫管理について

Shin様

現在、サンプルを基に既存のデータに入力しているのですが
棚卸のスクリプトの中身で

最初の部分から
ウインドウ選択
までの処理が理解できないのですが
教えて頂けると幸いです。

#17 2023-01-18 16:16:18

Shin
Member

Re: 在庫管理について

If [ 商品入出庫テーブル::適用 = "棚卸"  and not ( IsEmpty ( 商品入出庫テーブル::日付 ) or IsEmpty ( 商品入出庫テーブル::棚卸数 ) ) ]
    変数を設定 [ $win ; 値: Get ( ウインドウ名 ) ]
    関連レコードへ移動 [ 関連レコードのみを表示 ; テーブル: 「商品入出庫テーブル」 ; 使用するレイアウト: 「商品入出庫テーブル」 (商品入出庫テーブル) ; 新規ウインドウ ]
    ウインドウを選択 [ 名前: $win ; 現在のファイル ]
    レコード/検索条件確定 [ ダイアログあり: オン ]
    ウインドウを選択 [ 名前: "棚卸処理" ; 現在のファイル ]
    フィールド設定 [ 商品入出庫テーブル::適用 ; "繰越" ]
    フィールド設定 [ 商品入出庫テーブル::棚卸数 ; - 商品入出庫テーブル::棚卸数 ]
    レコード/検索条件複製
    フィールド設定 [ 商品入出庫テーブル::適用 ; "繰入" ]
    フィールド設定 [ 商品入出庫テーブル::日付 ; 商品入出庫テーブル::日付 + 1 ]
    フィールド設定 [ 商品入出庫テーブル::棚卸数 ; - 商品入出庫テーブル::棚卸数 ]
    ウインドウを閉じる [ 現在のウインドウ ]
    現在のスクリプト終了 [ テキスト結果: 0 ]
End If
これの、2回のウインドウを選択の3行でしょうね。普通でしたら要らないように思いますよね。
この3行を無効にして実行してみるとどうなるか試してみてください。

Offline

#18 2023-01-19 09:58:22

FM初心者
Guest

Re: 在庫管理について

shin様

今、その手前で行き詰っているのですが
スクリプトトリガを設定同じように
設定しているのですが、実行されません・・・。
設定するときに何か注意する点はありますでしょうか?

#19 2023-01-19 12:24:13

Shin
Member

Re: 在庫管理について

スクリプトデバッガーではどう動いていますか

Offline

#20 2023-01-19 17:06:45

FM初心者
Guest

Re: 在庫管理について

shin様

スクリプトデパッガを初めて使用しますが
エラーは無いように思えます。

https://dotup.org/uploda/dotup.org2928213.png

#21 2023-01-19 22:05:28

Shin
Member

Re: 在庫管理について

エラーが無ければ、スクリプトはきちんと動いているということになりますが
ステップ動作でも、思惑通りの動きになっていますか。

Last edited by Shin (2023-01-20 10:56:03)

Offline

#22 2023-01-20 18:07:02

FM初心者
Guest

Re: 在庫管理について

Shin様

一つ一つ確認していくと
テーブルが間違っていたことに気付き修正して無事できるようになりました。
ありがとうございます。

今、一覧日付フィルタの部分で
棚卸時の繰越日が反映されず悩んでいます。

また壁にぶつかったら相談させてください。

#23 2023-01-24 15:21:57

FM初心者
Guest

Re: 在庫管理について

お世話になります。

Shin様

だいぶ形になってきました。
ありがとうございます。

現在、各標品の在庫数を一覧で表示したいと思っているのですが
ポータルで集計したものになると一覧で表示するのが難しく上手くいきません。

助言をして頂ければと思っております。

宜しくお願い致します

#24 2023-01-24 16:56:44

Shin
Member

Re: 在庫管理について

基準日以前のレコードを抽出します。
商品キーをキーとした小計パートを作り、商品名と入出庫の合計の集計フィールドのみを配置します。商品キーでソートすればいいです。
ただし、最終レコードが繰越レコードになると0になってしまうので、そのレコードのみは除外するようにします。

基準日以前の全レコードを使うのが処理としては簡単なのですが、対象レコードが膨大になってくると集計が遅くなります。全商品の棚卸しが同時でしたら、適当な棚卸しより後に制限すればいいです。もし、商品毎の棚卸し日が異なる場合は、処理が面倒になりますが、普通はこんな運用はないですよね。

Last edited by Shin (2023-01-24 21:35:45)

Offline

#25 2023-01-31 12:03:48

FM初心者
Guest

Re: 在庫管理について

shin様

基準日以前というのはなぜでしょうか?

今小計パートで在庫数の所までなんとかいけました。
基準日(棚卸日)を値に入れて
トリガで
基準日以降を検索して表示させようと思っていますが
shin様の以前と記入されているので何でだろうと思っております。

補足して頂ければ助かります。
よろしくお願いいたします。

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.011 seconds, 11 queries executed - Memory usage: 617.89 KiB (Peak: 650.8 KiB) ]