Ya ... the one thing I wondered about was the Employment entity. I believe PartyRelationshipType has it set as hasTable = "Y" but then it redundantly stores the role, party to/from as well as the from/thru dates. I would think if Employment is a sub-class of PartyRelationship, it should only have its unique fields (I think two termination related fields).

I would think a "fundamental" type like supplier may have its own SupplierRel table, but things that can be very vertical specific (dealers / houseowners) might be something better stored in an Agreement. Would seem to me to jive with other "supplier" entities that already exist in the system.

Another thought that occurred to me is that we could have a PartyRelationshipIdent entity (like Good & Party) where we could store all sorts of identification numbers on the relationship. This would give a nice place for the employee's number, and the other identification numbers we are talking about. Waddya think about that?


On Apr 29, 2010, at 5:28 PM, Adrian Crum wrote:

My thoughts have changed a bit since that previous thread on the subject.

We have similar needs here with parties in other relationships. Our dealers have dealer numbers and license numbers, our suppliers give us numbers (the same as the previous thread), and the homeowners have a customer number and other bits of information we have to maintain for them.

The solution I came up with here was to create a properties entity for each party type. Each properties entity contains fields for the various bits of information we need to track for each party type.

The reason I mentioned that is to point out that there can be more than one piece of information you need to attach to a party. If those things are added to the party relationship, then that entity might start to look like a kludge. The same thing could happen if those fields are added to the agreement entity.

So now I'm undecided. If I had to choose between Party Relationship or Agreement, I would lean toward Agreement.

-Adrian


On 4/29/2010 1:42 PM, Bob Morley wrote:

My use case here is very similar to this thread --

http://ofbiz.135035.n4.nabble.com/Customer-number-from-suppliers-td142646.html#a142646

I think this thread would suggest the choices are ...

1) New field on PartyRelationship; something like "accountNumber" which would be similar to "positionTitle" in that it really is only applicable to
some of the PartyRelationshipType sub-classes.

2) Formalize the sub-class by setting hasTable = "Y" on the type and
creating a new "SupplierRel" entity that contains this "accountNumber".

3) Leverage the agreement model for this relationship.

What I was personally going to do was #2 from this list (before reading the thread) but after seeing positionTitle I am kind of leaning towards doing
#1.  Since I have to do this for our solution I want to do it in an
acceptable manner for inclusion into Ofbiz (providing we at least agree that
this would be a good thing).


Reply via email to