Most Powerful Open Source ERP

Movementで使うCategoryたち

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

MovementというERP5の主要素の一つを紹介した記事でMovementには様々なNodeを関連づけられることを書きました。今回はこれについて詳しく説明します。

おさらい

Movementは移動を表す要素です。移動の具体的な例としては受注や発注、サービスの提供、権利の譲渡、保管場所の移動などです。何が移動するのかを表すのにResourceという要素を使います。どこからどこに移動するのか、"どこ"ということに関わる情報はNodeという要素を使います。Nodeは人や法人、組織、倉庫などを表す要素です。Movementが表す移動にどんな意味を持ってNodeが関わっているのかを表すのに様々なCategoryを使います。

sourceとdestination

Movementが最も頻繁に使うcategoryはsourceとdestinationです。sourceはMovementの始点を表し、destinationはMovementの終点を表します。Movementによって表される移動で運ばれるものはResourceで表しますので、sourceはResourceで表されるものが出ていくところで、destinationはそれが入るところとなります。多くの場合、sourceとdestinationは倉庫や会社、人物を表します。概念的なものを表すときの例としては例えば会計伝票をERP5で表現するときにsourceとdestinationは勘定科目になります。勘定科目はお金を入れる箱と考えられるからです。

このあとに紹介する色々なcategoryはみんな接頭語としてsourceかdestinationが付いてきます。先に書いたようにMovementは始点と終点がある移動です。始点、つまり送り手のほうの立場として登場するNodeにはsourceなんとかというcategoryを使い、受け手のほうの立場として登場するNodeにはdestinationなんとかというcategoryを使うという決まりになっています。

source_sectionとdestination_section

この2つも非常に頻繁に使うcategoryです。sourceとdestinationという接頭語にsectionが付いています。これで表しているのは基本的に所有権を持つ者が誰かということです。sourceとdestinationは場所についての情報、source_sectionとdestination_sectionは所有権についての情報となります。売買取引を表すときにはsource_sectionは今回の取引で売買されるものの元の所有者で普通は売買によってお金を得る者です。そしてdestination_sectionは売買されるものの新しい所有者で売買によってお金を払う者です。

これらの組み合わせで表現できるものの例

sourceとdestination、source_sectionとdestination_sectionを使うと色々な出来事を表現できます。実際、ERP5で何らかの移動を表現しようとすれば必ずこれらのCategoryを使うことになります。

それ以外のCategoryたち

sourceとdestination、source_sectionとdestination_section以外にも様々なCategoryをERP5はあらかじめ用意しています。これらは今までのERPプロジェクトの経験などを元に作られていて、もしも新たな共通に使える概念を見つけることができたら随時追加しています。いくつか良く使うものを取り上げてみます。

  • source_administration 送り手側の事務処理を担当している組織
  • destination_adminitration 受け手側の事務処理を担当している組織
  • source_decision 送り手側で移動を行うことを決めた者、売買で言えば納品業者の営業担当者、プロジェクト管理で言えばプロジェクトを請け負った側のプロジェクトマネージャ。
  • destination_decision 受け手側で移動を行うことを決めた者、売買で言えば顧客企業の購買担当者、プロジェクト管理で言えば顧客側のプロジェクトマネージャ。
  • source_trade 送り手のさらに送り手、売買で言えば納品業者の納品業者、孫請けの業者。
  • destination_trade 受け手のさらに受けて、顧客の顧客。

これらのCategoryのセットをArrowと名付けてERP5のProperty Sheetの一つとして登録しています。興味のある方はソースコードをみてみてください。

https://lab.nexedi.cn/nexedi/erp5/tree/master/product/ERP5/bootstrap/erp5_property_sheets/PropertySheetTemplateItem/portal_property_sheets/Arrow

次回もMovementとArrowをもう少しみていきたいと思います。

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