Most Powerful Open Source ERP

ERP5はArrowで事実を客観的に表す

  • Last Update:2021-09-28
  • Version:001
  • Language:ja

2014年3月20日

  • 株式会社Nexedi 田原

 

 

前回はMovementという移動を表すERP5の主要素でArrowというプロパティシートにまとめられているsourceやdestinationというCategoryを使っていることを説明しました。今回はそれの続きです。

ERP5は移動の事実を客観視する

source、destinationというCategoryたちを使って移動の始点と終点、送り手と受け手に関係する様々な人物や組織をモデル化できます。ERP5はこれを使ってあらゆる取引をモデル化してデータベースに記録できるようになっています。このときに自分や自分の会社はどこに表われるかというとそれは状況によって変わってきます。ERP5では事実を客観的に表現するので、自分のデータは必ずここに当てはまって相手のデータは必ずあそこに入るというような仕組みにはなっていません。このおかげでデータベースの一つのテーブルで色々なパターンのデータを表すことができます。

例を挙げてみたいと思います。自分が自分のところにあるものを売るとき、買い手は自分ではない別の誰かです。このときには自分はsource_sectionとsourceになります。そして買い手はdestination_sectionです。destinationは買い手自身のこともあればそうでないこともあります。

自分がモノを買って自分に届けてもらうとき、売り手は自分ではない別の誰かです。このときには自分がdestination_sectionとdestination、相手がsource_sectionになります。売るときと買うときで自分の視点は変わりますが取引を客観的にみるERP5の視点からはsouceとdestinationで表せる同じ構造の出来事だと分かります。

もう少し複雑な例を挙げます。自分のものをある場所から別の場所に移すとき、このとき自分は持ち主のままですからsource_sectionとdestination_sectionになります。元あった場所がsourceで新しい場所がdestinationです。

自分が預っている誰かのものが別の誰かに譲渡されたとき、このときは自分はものを預ったままですからsourceとdestinationになります。そして元の持ち主がsource_sectionで新しい持ち主がdestination_sectionです。

自分がまったく登場しない移動を表現することもできます。例えば自分が製造業を営んでいるとして、自社の製品が取引先の卸売業者から小売業者へ売られたときの情報をもらったとします。その情報を営業情報として記録したい、そんなときには自分がまったく登場しない移動の事実を記録することになります。自分は一切登場しませんから登場するのは全て他者です。卸売業者がsource_section、sourceは卸売業者の倉庫、小売業者がdestination_sectionで小売業者の店舗がdestinationになるでしょう。

sourceとdestinationの考え方は値を扱うときでも同じ

Categoryは情報をあらかじめ列挙した選択肢を使って分類するときに使う道具ですが、sourceとdestinationという考え方はどんな値が入るか分からない自由な値を扱うときにも使います。source_referenceとdestination_referenceというプロパティがERP5には用意されていて好きな文字列を保存することができます。これはその名前から想像できるようにsourceとdestinationに関係があります。source_referenceは送り手が決めた情報を特定するための値という意味、destination_referenceは受け手が決めた情報を特定するための値という意味で使います。例えば、自分が売り手のときに顧客から注文番号を指定された場合、これは顧客つまり受け手が決めたのですからdestination_referenceに保存します。もし自分が顧客に注文番号を発行するならばそれは自分は送り手ですからsource_referenceに保存します。

以上、ERP5はsourceとdestinationという考え方を使って移動や取引というMovementで表される出来事を客観的に表現できることをみてきました。この考え方はMovementだけでなく契約や取決めを表すのにも使います。次はこれについて説明したいと思います。

読んでいただきありがとうございました。