社会不安障害:SAD、ボランティアとセカンドライフ

SADで会社を休職したが、一年で復帰し、無事定年を務めて、その後の生活とボランティアについて気ままに掲載中

新システムの自動実行プログラムその1

2009-08-11 21:32:16 | ITについて

この年で業務処理に追われ、遂にプログラムの作成を考えざるを得なくなるで掲載した様に、昨日一日合間をみてUWSCで新基幹業務システムを動かしながら、その操作を記録して、不要な部分を削除して、スクリプトを追加してゆく作業をしてた。何とかこれを利用して自動実行プログラムを作ろうと考えている。しかし残念ながら一点が解決せず、先に進めない状況であるし、家からでは、検証ができない為、休み明けに再度テストするしかない。

今まで新業務基幹システムの落とし穴新業務基幹システムの落とし穴その4と掲載してきたが、この年で業務処理に追われ、遂にプログラムの作成を考えざるを得なくなるに到った。実はこの手のツールを使うのは初めてであったが、おおよその仕組みは予想できていた。問題は今の所一点と言うか2点となりそうである。

新基幹業務システムのプロセスの基本は工事物件対応の為、当部の機器売りには全く有っていない。しかし、システムの流れとしてはそれ程悪くは無いとも思っているが、現状では余りにも問題が多い。以前でも書いたかも知れないが、再度流れを列挙すると以下のようになる。

  1. 見積もり入力
    (これは、今回は使わない。既に事前に電話等やメールで処理している為)
     
  2. 受注入力
    ・新しい工事番号を新規で取り、受注先と納品先を入力し、子工番をとる。
     もちろん、作成日と検収日予定日と営業担当者も入力する。
    ・この子工番の中に、同じ納期毎、納入先毎製品の受注額の合計と仕入額の合計を入力する(システムを使っているが、電卓を使って計算してキー入力している)。
     更に、発注予定日と検収年も入力して最後に登録して一旦終了。
     
  3. 受注確定
    上記、受注入力で入力した、新規の工事番号を変更で入力してCRキーを入力して、上記受注入力のデータが表示されたのを確認されたのを確認して受注日を入力して登録する。
     
  4. 受注確定出力(印刷)
     
  5. 仕入れ(原価)入力
    ・上記受注入力で入力した、工事番号を入力してCRキーを入力して、上記の小工番を選択する
     この子工番の納入先を入力していく。
    ・一つ一つの製品の製品名と型名を仕入先とメーカーを入力して、仕入れ原価を入力していく。
     
  6. 仕入れ(原価)確定
    上記、工事番号を入力してCRキーを入力して、子工番を入力して、確定日を入力して登録する。
     
  7. 手配入力
    上記、工事番号を入力してCRキーを入力して、子工番を入力して、それぞれの製品の納品先を入力する。しかも製品毎に・・・。
    これが終了すると(殆どコピペの繰り返しとなるが・・・)、発注予定日を入力して登録する。
     
  8. 発注入力
    仕入先コードを入力して、発注予定から、発注する商品毎にチェックマークをいれ、登録する。
     
  9. 注文書発行
    注文日を範囲で選択して、実行を押すと注文書が印刷される。
     
  10. 検収入力
     
  11. 出荷入力
     
  12. 売上げ入力
    (納品案内が自動で出力されない為、エクセルでデータを作り、発送する)
     
  13. 請求書出力
    (明細データがない為、これも別途プログラム化をせざるを得ない)

と言うような処理を行なわなければならないが、上記1~9までを私が処理した後で、注文書を部下の女性に渡すと、今度は親会社への手配が上記の様な手間はなく、ほぼ一回の操作(入力)で、処理され、物流への出荷依頼と共にデータが自動で流れるようになっているし、翌日には必要な納品報告書も、月末の請求書も指定するだけで印刷できる様になっている。

仕事のオーバーフローと残業(代)についてで人の評価に付いて掲載したが、実はこの辺の所の実務の大変さを知っているのは、現場の人間しかいない。所詮社長や親会社の幹部は知る由もないし、知る気もないのだろう。

さて、上記のプロセスを見ると、余りにも無駄な処理が多いが、それなりの必要性もある事も理解できる。最も当部では、1~9までは一つの処理に過ぎないしそうでなければ、たまったものではない。これが私が仕事のオーバーフローと残業(代)についてで社長に言ってまでも、部下の女性にこの仕事をさせるのを躊躇している最大の問題である。

余りにも、無駄な作業はさせたくないからである。システムが不備なのは分かるが、そうも言ってはいられない。

と言う事で最初の話に戻るが、先週一週間の処理で大半の処理が分かり、上記の流れでは、肝心の納品書も自動で作成できない事が分かった。

どう言う事かと言うと、上記2で子工番では受注額の合計と仕入額の合計しか入力されていない為、システムのデータベースには、納品書(明細付き)に必要なデータが入力されていない事になる。そこで最初の話に戻るが発想を全く変えて、納品書を先にメモできる様な形(エクセルでもよい)で作成し、このデータを基に自動でシステムに必要なデータをインプットできないかと考えたのが、このUWSCを使っての自動実行プログラムを作成する事にした最大の理由でもある。

大抵と言うか、メニューやボタンなどの入力は、いたって簡単に、操作を記録する事で理解できた。 従って、BTN(LEFT,CLICK,X,Y,時間)と仮想キーによる入力の繰り返しは、前回で心配した操作ののろさなどの問題も無く、かなり高速で実現できる事が分かった。

問題は、変数にセットした文字列(数値との区別がこのUWSCにはない)が、指定の入力範囲に入力できない事である。一部入力できる現象も確認した為、おそらく、GETIDと言う関数の使い方に問題が有るのだろうと推定している。SENDSTR()を使用すれば基本的に入力できるはずなのだが、これを確認できれば後はどうにでもなりそうな気がするのだが・・・。

つまり、仮想キーでの入力では以下の様な記述になる為、現実の対応にはチョット困難となる。

<日付として20090807を入力する仮想キーによる入力例>

KBD(VK_NUMPAD2,CLICK,2672)
KBD(VK_NUMPAD0,CLICK,219)
KBD(VK_NUMPAD0,CLICK,110)
KBD(VK_NUMPAD9,CLICK,359)
KBD(VK_NUMPAD0,CLICK,187)
KBD(VK_NUMPAD8,CLICK,437)
KBD(VK_NUMPAD0,CLICK,719)
KBD(VK_NUMPAD7,CLICK,437)

※最後の時間はミリセカンドなので実際は10でも十分入力は追いつくが、問題はこの記述では洒落にならない。

UWSCだけで自己完結したいが、最悪エクセルのVBAを使って、UWSCのプログラムを自動生成する(上記の仮想キーのプログラム等を発生させる方法もある)事も考えられるし、この方が今度は、納品書の自動発行や、請求書の明細発行を考えると、この方法も一つの方法かも知れない。

マアーこの夏休みに、UWSCのGETID()の処理について更に研究しておこうと考えている。


最新の画像もっと見る

コメントを投稿