過去の桐井戸端BBS (桐ver.7)
2425 在庫管理で「前日在庫」の計算方法 おさるのまいき- 1999/8/18-11:43
こんにちわ。はじめてメールします。
私は、ある会社のシステム開発をまかされています。新社屋設立にあわせて
「もっと業務を自動化したい」という管理部からの要望で、新しいシステムを
作ることになり、さんざん迷った挙げ句、桐Ver.7を選びました。
業務内容は、簡単に言うと在庫、入荷、発注、の管理なのですが
在庫のところでひっかかってしまい、どうにも先に進まなくなってしまいました。
本日在庫=前日在庫+本日入荷数+本日材料使用量 という計算で
やりたいのですが、「前日在庫」を桐でどうやって計算させるのかが
全くちんぷんかんぷんです。
桐のパワーユーザーの皆様方、
どうかこんな初心者のまいき−を助けてください!
2427 Re: su 1999/8/18-12:49
記事番号2425へのコメント
おさるのまいきさん、こんにちは
桐のパワーユーザーでは全くないのではずしていたらごめんなさい。
[本日在庫]の項目計算式に
#直前値( [] , 0) +[本日入荷数]+[本日材料使用量]
[前日在庫]の項目計算式に
#直前値( [本日在庫] , 0)
これでよいかと思うのですが。

ちなみに[本日入荷数]と[本日材料使用量]の項目属性の"入力後再計算"チェックを入れて
おくと、それぞれ入力終了と同時に計算され便利ですね。
あ、こんなこと知っているって。すみません。m(_ _)m

それと、結合表をお使いのようであれば、桐Ver.7を桐Ver.7.1UP2にアップグレードす
ることをお勧めします。
結合表の再定義などある組み合わせの作業を行いますと、それまで作っておいた各種条件
や、一覧表印刷などがおかしくなったり、消えて無くなったりのバグがあります。
これにはずいぶんと泣かせられました。
2429 がんばります おさるのまいきー 1999/8/18-13:48
記事番号2427へのコメント
suさん、
早速のアドバイス、感謝感謝です。
ありがたく試させていただきます。
うまく動かなかったら
また教えてくださいね(調子良さすぎ?)
2435 Re: su 1999/8/18-18:32
記事番号2429へのコメント
うまく動かなかった場合、ちゃんとアドバイスできるかどうかかなり不安ですが、
きっとその時は桐の達人のみなさんが応援してくれると思います。
ネ、そうですよね皆さん。
では、幸運を祈ります。
2441 在庫の計算式 おさるのまいきー 1999/8/19-10:12
記事番号2435へのコメント
suさん、きのうはホントーにありがとう!
在庫の計算できました。が!!実はもう一つ問題が・・・
きのう教えてもらった計算式は、1日に対して
1つの製品が対象のときは何の問題もないんですけど
1日に発生する使用材料が何件もある場合
単に #直前値([当日在庫],0)ではマズイんです・・
直前値の計算式に条件式(IFみたいな)を付随させる事は
可能なんでしょうか?解決策知ってたら教えてください。
あと、「うちの会社は桐で材料発注・在庫管理してるよ」
という方がいたら、ぜひぜひその方法なんて
教えていただけないかなー。
皆様、なにとぞよろしく・・・
2442 Re: おさるのまいきー 1999/8/19-10:34
記事番号2441へのコメント
書き足しでーす

今現在は
稼働日(工場が稼動する日)
生産計画(1ヶ月分の生産予定)
製品マスター(完成品)
材料マスター(使用材料)
材料使用量マスター(製品1つに必要な材料の使用量)

以上のテーブルを作成して
日別使用量を計算するために
5つのテーブルを結合させて
日別使用量 という結合表を作成しています。
この結合表を元に在庫管理と発注業務がしたいと
思っているんです。
で、困っているのはこのような場合なんです。

日付 材料名 日別使用量 前日在庫 当日必要数 発注数 当日在庫
7/1 A 10
7/1 B 5
7/1 C 20
7/2 B 10
7/2 E 15
7/3 A 5
7/3 C 25

こんなふうに作ってます。
もっと簡単な方法とかあったら
教えてくださいませ。
2445 Re: 宮城 1999/8/19-12:21
記事番号2442へのコメント
おさるのまいきーさん、こんにちは。

自分のやりかたであれば、表を材料ごとに分けます。項目計算式や一括処理
ロジックでコリコリに頑張っても可能ですが、どちらがわかりやすいでしょうか?
2447 Re: 宮城 1999/8/19-12:31
記事番号2445へのコメント
追伸

もし仮に、材料種類が不特定であるなら、メインで使うものを個別表、あとを
その他でくくったらどうでしょうか。

なにがでてくるかわからないものの在庫管理。どこまでパソコンでやり、どこ
からは手集計という切り分けの問題だと想います。

蛇足のような気もしますが。
2456 お礼です おさるのまいきー 1999/8/19-17:34
記事番号2447へのコメント
宮城さん、こんにちは。
的確なアドバイス、ありがとうございます。
桐を使い始めてまだ1ヶ月の、"超"初心者の私なので
桐の機能をうまく使いこなす事が出来ず、
かなりイライラした毎日をおくっています。

何を自動化にして、何を手動でやるのか
もう一度整理してみようと思ってます。

ちなみに、我が社は自動車シートの縫製を
しています。原材料は主に反物ですが、
理論在庫と実在庫にかなり隔たりがあって
問題になり、(今まではほとんど手作業でやってたんですよ、
いまどき、なんちゅう会社じゃ)
それを解消するためにデータベース化を進めることと
なったわけです。

まだまだ、桐ユーザーとしては
かなり頼りない私ですが、(っていうか それ以前?)
また 壁にぶち当たったら顔出します。
そのときは、どうぞよろしく。

つたない私を応援してくださった
SUさん、そして宮城さんへ

ありがとうございました。
2457 Re: 宮城 1999/8/19-18:59
記事番号2456へのコメント
私のところでは、桐V5で在庫管理をしています。
いくつか気になる点がありますが、桐から離れた話になってしまい
ますので、よろしければメールください。
2486 Re: Ogo 1999/8/23-04:11
記事番号2442へのコメント
>日付 材料名 日別使用量 前日在庫 当日必要数 発注数 当日在庫
>7/1 A 10
>7/1 B 5
>7/1 C 20
>7/2 B 10
>7/2 E 15
>7/3 A 5
>7/3 C 25

一括処理を使っていいのなら、特に難しくはないでしょう?

材料名ごとに選択をして、日付順に整列をかけて、[前日在庫]を先般教わった
計算式で置換するという手順でいいはずですが。

もちろん、概念だけ述べてますので、実際にプログラミングするにはそれなり
の配慮が必要ですが。
2490 Re: おさるのまいきー 1999/8/23-14:52
記事番号2486へのコメント
Ogoさん、はじめまして。良いヒント頂いてうれしいです。
さっそく試してみたところ、在庫の計算、できました!

ただし、材料数が700近くあるので、
1つの材料につきこの処理を700回するのも
かなり手間がかかるのではないでしょうか?

それとも、一括処理の中で、すべての材料に対して
教えていただいた処理を行う事が可能なのですか?

なにぶん桐を使い始めたばかりの初心者ですので
ご指導よろしくお願いします。
2499 Re: Ogo 1999/8/24-20:02
記事番号2490へのコメント
>ただし、材料数が700近くあるので、
>1つの材料につきこの処理を700回するのも
>かなり手間がかかるのではないでしょうか?

通常なら、ループを組んで繰り返し処理をします(一括処理の「繰り返し」参照)。
ただし毎日700もの材料があるなら、これはちょっとかったるいですね。
それならば、別の方法を考えるまでです(自分でも少しは工夫してみたんでしょうねぇ?)。

しかし、当初に書いてあった各項目の定義内容と後から書いた定義内容が
一致しておらず、各項目の数値を求める計算式がどうも怪しいとしか言え
ないので、具体的に提示するのは困難です。

が、次の前提で書きます(多分、これで充分ヒントになると思う)。

項目は4つのみ。 [日付] [材料名] [前日在庫] [本日在庫]
毎日毎日700もの材料の前日在庫数を、前日の本日在庫数を調べて入力
するのは大変なので、なんとか一括処理で自動転記できないものか。

1.整列 [材料名]正順,[日付]逆順
2.選択−単一化−[材料名]
3.書き出し−表−TMP.TBL [材料名][本日在庫]
4.選択解除/整列解除/終端へ移動
5.TMP.TBL を読み込み [材料名] -> [材料名],[本日在庫] -> [前日在庫]
6.選択 [日付]=#未定義
7.置換 [日付]=#年月日

以上

要するに、最終日の「持ち越しデータ」を別表に書き出して、現在の表の
本日の各材料データに取り込むと言うことです。

上記の場合は[日付]と[材料名]も一緒に作成してしまいますが、既にその
2項目のデータが存在する場合は、

書き出す時は[材料名]で単一化する前に [日付]<#年月日 で事前に本日の
データを除外しておいてから書き出します。
当然、読み込みを行わず、[材料名]を照合項目に指定して[前日在庫]欄に
併合(置換)で書き出した表の[本日在庫]欄を複写します。

p.s. 日付は 1/1 〜 12/31 の間が正しく整列するような形式でないと、
   何をやっても徒労に終わります。
   また、上記で #年月日 と書いてある部分は、[日付]と同じ形式での
   本日を意味します。
2503 Re: 宮城 1999/8/25-09:39
記事番号2499へのコメント
700もの在庫管理、人間業ではないと思います。いかにパソコン化しても
わかりますか?

それはさておき、であるならば、併合を使ったらいかがでしょう。
入荷・使用都度、つぎのとおり処理します。

表 "在庫"
併合 "受け払い"¥
  ,両方¥
  ,{[材料名]照合[材料名]¥
   ,[受け] 加算[入荷量]¥
   ,[払い] 加算[使用量]¥
   }

当然、在庫は前残+受け−払いにしておいてください。

これで「記録」はできます。ただし、「管理」はどうかな? 在庫の上下限
限界を設定し、アラーム設定はできますが。

自分の経験では100ぐらいしか管理できないと思いますけど。
2531 Re: おさるのまいきー 1999/8/27-15:45
記事番号2499へのコメント
Ogoさん、こんにちは。
いつもいいヒントありがとうございます。


>それならば、別の方法を考えるまでです(自分でも少しは工夫してみたん
>でしょうねぇ?)。

ない頭と桐の微量な知識(悲しい・・)を絞って、やってはいるんですよぉ。
とりあえず、毎日在庫の管理をする必要の無い物を省いて300ぐらいに減らしました。

>通常なら、ループを組んで繰り返し処理をします(一括処理の「繰り返し」
>参照)。
>しかし、当初に書いてあった各項目の定義内容と後から書いた定義内容が
>一致しておらず、各項目の数値を求める計算式がどうも怪しいとしか言え
>ないので、具体的に提示するのは困難です。

うっ、すごく耳が痛いお言葉です。
で、定義内容等もう一度書き直します。

月間稼働日.tbl 工場が稼動する日
オーダー.tbl メーカーからのオーダー予定表。1ヶ月分まとめて入ってくる
材料マスター.tbl 各材料の名称、ロット数
製品マスター.tbl 完成品の名称
材料使用量マスター.tbl 製品ごとの使用材料と使用数

以上のテーブルの中で手入力が必要なのは月間稼働日(月いち)とオーダー(変更度)
です。
この5つのテーブルを結合させ、材料計算.viwを作りました。

項目は「日付」「材料発注日」「材料名」「ロット」「使用量」「オーダー数」
「日別必要量」で、日別必要量には オーダー数×使用量 の項目計算式が
入っています。この結合表をテーブルにかき出し、管理表とし、以上の項目に
「前日在庫」「発注数」「当日在庫」の3項目を追加しています。

前日在庫=#直前値[当日在庫]
発注数=#条件選択([前日在庫]<[日別必要量],
#切り上げ([必要数]/ロット,0)×ロット数)

まだ怪しいでしょうか・・・。

戻る