Upgrade to Pro — share decks privately, control downloads, hide ads and more …

情シス担当が1人で VBレガシーシステムの移行に挑んだ話 / GrapeCity ECHO week 2020

情シス担当が1人で VBレガシーシステムの移行に挑んだ話 / GrapeCity ECHO week 2020

2020年12月21日~25日 開催
オンラインイベント「GrapeCity ECHO week 2020」、2日目のセッション資料です。

「情シス担当が1人で VBレガシーシステムの移行に挑んだ話」

丸喜株式会社
情報システム部
荒川 雄介 様

Transcript

  1. 情シス担当が1⼈で VBレガシーシステムの移⾏に挑んだ話 荒川 雄介 GrapeCity ECHO 2020/12/22 1

  2. 事業内容 丸喜(株) 何を 宗教⽤具卸 仏壇・仏具 葬具⽤品・棺、⾻壺 誰に 仏壇店 葬祭業者 GrapeCity

    ECHO 2020/12/22 2
  3. 規模 従業員数 139名 全国展開 京都本社 東京 名古屋 徳島 中央物流(静岡) 札幌

    GrapeCity ECHO 2020/12/22 3
  4. ⾃⼰紹介 荒川 雄介 あらかわ ゆうすけ 丸喜(株) 情報システム部 システム管理 PCやスマホの管理整備 プログラムは書けなくはないが⾃信がない

    GrapeCity ECHO 2020/12/22 4
  5. システム概要 GrapeCity ECHO 2020/12/22 5

  6. 専⽤伝票システム 商品出荷時に4-5枚つづりになった指定伝票を印字するプログラム。 業際統⼀伝票、家具統⼀伝票、チェーンストア伝票等の伝票を使うこともある。 その多くはお客様指定のレイアウト。 印字する項⽬等もお客様ごとに違う。 それら60種類の帳票を売上データを元に印字する。 GrapeCity ECHO 2020/12/22 6

  7. システムの詳細 開発環境 VisutalStudio 2017 Professional (VB.NET) ActiveReports for .NET 12.0J

    Standard 主な作業 1. 売上⼊⼒ 2. 弊社、納品書発⾏ 3. 専⽤伝票(指定伝票)出⼒ <-- これを出⼒するためのプログラム GrapeCity ECHO 2020/12/22 7
  8. 使い⽅ 1. 「取込」ボタンを押す 2. DataGrid内の印字したいデータ を選択 3. 「印刷」を押す。 GrapeCity ECHO

    2020/12/22 8
  9. A5の複写伝票 独⾃レイアウト 全体の半分ぐらい GrapeCity ECHO 2020/12/22 9

  10. 再発⾏ 1. 売上伝票noを⼊⼒ 2. 「検索」ボタン 3. DataGrid内の印刷したい売上デ ータを選択 4. 「印刷」を押す

    GrapeCity ECHO 2020/12/22 10
  11. 指定伝票 業際統⼀伝票 12 x 5 inch GrapeCity ECHO 2020/12/22 11

  12. VB.NET側では売上のデータを投げるだけ ActiveReports側のテンプレートで処理 消費税の計算 ( 軽減税率含む ) 歩引(割引)の計算 ⾦額の合計 軽減税率商品の有無 GrapeCity

    ECHO 2020/12/22 12
  13. ERD GrapeCity ECHO 2020/12/22 13

  14. DFD GrapeCity ECHO 2020/12/22 14

  15. システムを開発(移⾏)するに⾄った背景 GrapeCity ECHO 2020/12/22 15

  16. 以前のプログラム VB6 GUI FileMaker 4.0 帳票印刷 GrapeCity ECHO 2020/12/22 16

  17. VB6 GUI GrapeCity ECHO 2020/12/22 17

  18. 帳票印刷 GrapeCity ECHO 2020/12/22 18

  19. 多くの問題 動かない。 Windows7以降動かない 古いWindowsXP端末で運⽤ 開発できない Windows10にVB6がインストールできない VirtualBoxの中でWindowsXP⼊れて開発 ソースが複雑 運⽤が複雑 帳票を追加するのにファイルメーカーのスクリプトを編集する必要がある。

    ソースを編集するシステムって…。 GrapeCity ECHO 2020/12/22 19
  20. 僕が作るのも… 作ったことない。 GUIのWindowsプログラムを1から作ったことはない ソースコードは⼀応読めるけど…。 GrapeCity ECHO 2020/12/22 20

  21. システム会社に作ってもらう 基幹システム移⾏でVisual StudioとActiveReportsを⼀部導⼊ ついでに作ってもらう VB.NET ActiveReports for .NET 12.0J 10帳票はサンプルで作ってくれることに

    メンテナンスは僕 ⾃分のPCに開発環境 \ (^ 0 ^) / Visual Stuido 2017 Professional ActiveReports for .NET 12.0J Standard ActiveReportsを勉強 残り50帳票作るからね GrapeCity ECHO 2020/12/22 21
  22. システム会社のプログラムを納⼊拒否 帳票追加するのに4箇所もVB.NETのソース修正 時代遅れのセクションレポート もっとシンプルにつくれるんじゃないの︖ 作るしかない⾃分⾃⾝で︕ 開発環境はある GrapeCity ECHO 2020/12/22 22

  23. 開発で苦労した点 GrapeCity ECHO 2020/12/22 23

  24. ツールの選定 VB.NET ActiveReports for .NET 12.0J で決定。 予め、ActiveReportsの学習を⾏っていた。 使っているうちにできそうな実感がわいた。 少なくとも帳票部分はすべて解決できる。

    GrapeCity ECHO 2020/12/22 24
  25. 誰にも聞けない システム会社も実は詳しくなかった 社内もいない。(システム会社じゃないんで) 解決策︓ GrapeCityに直接メール 「ActiveReportsでODBC接続するときに32bit以外で接続できないの︖」 CodeZine⾏脚 ActiveReports2Jの時代から記事がある。 なんかヒントになる作り⽅があるはず。 GrapeCity

    ECHO 2020/12/22 25
  26. Googleれ ⼤体ヒットするのはこの2つ ActiveReportsのマニュアル GrapeCity.devlog とにかく作ってみる 試⾏錯誤あるのみ JavaのiReports DesignerやJaspersoft Studioも使ったことある。 ⼤きな使い⽅は⼤体変わらないはず。

    GrapeCity ECHO 2020/12/22 26
  27. 仕様書はない VB6とFileMakerのデータから分析 現場担当者に聞く 100%の正解はない 7割は辿り着ける どんなにソースを読んでも現場担当者に聞いても100%にはならない 取り合えずリリースしようぜ︕ GrapeCity ECHO 2020/12/22

    27
  28. 現場担当者も分からないことがある システムに依存し過ぎて現場担当者も答えが分からない。 歩引は四捨五⼊︖それとも切捨︖ ⾃分で答えを探すしかない。 GrapeCity ECHO 2020/12/22 28

  29. 収束するまで時間がかかる 3⽉末に作り始め 5⽉1⽇ 令和対応 5⽉17⽇ 旧システムと並⾏稼働 7⽉17⽇ 歩引の端数処理が四捨五⼊だと発覚 10⽉1⽇ 軽減税率対応

    11⽉ぐらいには⼤体収束 忍耐と強いハートが必要。 GrapeCity ECHO 2020/12/22 29
  30. ActiveReportsの導⼊効果 GrapeCity ECHO 2020/12/22 30

  31. ActiveReports デザイナが単体で使えること。 帳票が60個もある。 帳票作成は帳票ツールだけで作ってしまう。 GrapeCity ECHO 2020/12/22 31

  32. フィールド内の計算やスクリプト 下記の事を帳票側でやらせている。 帳票側に表現⼒が⾼いツール出ないと難しい。 ActiveReportsは表現⼒が⾼い。 フィールド内の計算等で処理 消費税の計算(消費税 軽減税率と分けて合計) 歩引(割引)の計算 ⾦額の合計 軽減税率商品の※印

    GrapeCity ECHO 2020/12/22 32
  33. スクリプトで対応 お客様固有の事象 この得意先cdの場合はこの会館コード、会館名を出⼒ この区分の場合はこれを表⽰ 納品先名がある場合は納品先名を表記 四捨五⼊関数 (VB.NETのRoundはBank Round) これによりVB.NET側のソースコードがかなり短くできた。 GrapeCity

    ECHO 2020/12/22 33
  34. 和暦 ⽇付フィールドで⾊んな表現ができたので助かった。 勿論、令和対応も。 ⽂字の間隔(CharacterSpacing) 升⽬に⽂字を合わせるのに便利 指定伝票は升⽬が印字されているため、 升⽬に合わせる作業がある。 GrapeCity ECHO 2020/12/22

    34
  35. レイアーと背景 専⽤伝票(指定伝票)は罫線の書かれた帳票に印字する。 レイアーと背景は位置を合わせるのに⾮常に重宝した。 1. ⽤紙設定と背景画像で⼤体の位置合わせ 2. 印字 3. 全体をずらせて位置合わせ と効率よく帳票を作成できた。

    GrapeCity ECHO 2020/12/22 35
  36. ページレポート 機能が豊富で使いやすいページレポートを使⽤ Tableの機能 ページングが必要な帳票でも作れる。 セクションレポートでないといけない点はページングぐらい。 ページングがページレポートでもできるのであれば使わない⼿はない。 GrapeCity ECHO 2020/12/22 36

  37. 今後の展開 GrapeCity ECHO 2020/12/22 37

  38. Webサービス化できないかな︖ 専⽤伝票を印字するプログラムは東京、名古屋、京都で使っている。 帳票の印字調整後の帳票テンプレートも各⽀店のPCに送り付けないといけない。 Webサービス化して1つのサーバーから帳票を印刷すれば⼿間も省ける。 そんなことできないかなぁ…。 GrapeCity ECHO 2020/12/22 38

  39. End GrapeCity ECHO 2020/12/22 39