2014-04-20 10:35 GMT+02:00 Albert Cervera i Areny <alb...@nan-tic.com>:
> 2014-03-15 19:04 GMT+01:00 Albert Cervera i Areny <alb...@nan-tic.com>:
>> Hi,
>> I just uploaded a review [1] for module production_route which should
>> be part of the functionality of a previous review for a
>> production_operation [2] module. The division of production_operation
>> into several modules was discussed here [3].
>>
>> So let me explain most important changes of the new proposal:
>> - The route does not bind to productions because that should be done
>> in a separate (production_operation) module. This module should be
>> used for documenting processes only.
>> - By now I kept WorkCenter in this module. For me it is ok to move it
>> to production_operation, although now it is just not required.
>> - Cédric had concerns on production_operation linking production
>> operations to route operations because it prevented evolution of the
>> route. On the other hand I was concerned about not having such link
>> for possible after-production analysis. That is solved by creating a
>> "production.operation.type" model where all possible operation types
>> would be defined ("painting", for example). This way, route operations
>> link to operation types and production operations will also link to
>> operation types. So it will be possible to make routes evolve while
>> keeping some information for later analysis in productions.
>> - I've constrained operations to managing time only. In the end any
>> other thing does not make much sense as any other measure (such as
>> cycles) can eventually be converted to time. Also, if we want to add
>> planning later, the only valid measure is time.
>> - I've added an important missing point and that is how time links to
>> a given production. It is now possible to say that an operation takes
>> 5 minutes no matter how many items we're manufacturing *or* that it
>> takes 5 minutes for the workcenter to create 2 items, for example.
>> This is important from a documentation point of view (the main purpose
>> of the module) as well as for the future production_operation module.
>> - Instead of linking the route to the product or a bom, by now I've
>> left it as the most simple manner: just defining the unit of measure
>> of the product to be produced. This is the unit of measure that should
>> be taken into account when defining the time information explained in
>> the previous point. A link to a product or bom should be added. I'm
>> thinking of adding it to 'product.product' as a Many2Many or to
>> 'product.product-production.bom'. Opinions?
>> - There was some discussion about the possibility of creating an
>> employee group or something like that. I think we need to decide if we
>> add the workcenter type to work center categories. And if such
>> employee group or category is appropriate and if so, to which module
>> it should be added.
>> - The module works with 3.0. I would later migrate it to trunk.
>>
>>
>> For more information about the initial blueprint take a look at this thread 
>> [4].
>>
>> [1] http://codereview.tryton.org/4411002/
>> [2] http://codereview.tryton.org/1311002/
>> [3] https://groups.google.com/d/msg/tryton-dev/X5do2teK0mU/4M-wMcKXsEIJ
>> [4] https://groups.google.com/d/msg/tryton-dev/njRiRaecLTQ/oneecYq6tyEJ
>
> I've just updated the patch to link route with the product but I'm not
> yet satisfied with it. The reason is I think route and bom cannot be
> disconnected if we want them to be useful to describe the real
> production process. Even if the link is between bom and route (instead
> of route and bom to product) current models are not able to describe
> the complete recipe, if we take the cooking analogy.
>
> In cooking we do have the bom as we currently have it in Tryton (that
> is, the ingredients) but there is no route without products. That is,
> you cannot say you "need to spend 10 minutes mixing" and "15 minutes
> in the frying pan". You must say which ingredients of the bom must be
> mixed and which ones must be put in the frying pan. Of course, there
> may be some exceptions where all the components of the bom are used
> for all operations but that is only for the simpler cases.
>
> Let me put a simplified real example of the steps necessary for
> producing paint colors:
>
> - Put the container on the scale
> - Add the following components in the following order:
>   - P1 50Kg
>   - P2 4Kg
>   - P3 2Kg
>   - P4 500g
>   - P5 300g
>   - P6 100g
> - Check total weight
> - Add the following components while mixing:
>   - P7 50Kg
>   - P8 2Kg
> - Mix during 10 minutes
> - Add the following components while mixing:
>   - P1 4Kg
> - Mix during 10 minutes
> - Add the following components while mixing:
>   - P10 1Kg
> - Mix during 15 minutes
>
> For me, it would be possible to describe that easily by simply adding
> a new model to current production module that contains several
> "production.bom" model. Here I rename existing "production.bom" into
> "production.process.step" because I think it would be more
> appropriate:
>
> class Process:
>     __name__ = 'production.process'
>     steps = fields.One2Many('production.process.step')
>     inputs = fields.Function(fields.One2Many('production.bom.input'))
>     outputs = fields.Function(fields.One2Many('production.bom.output'))
>
> class Step:
>     __name__= 'production.process.step'
>     name = fields.Char('name')
>     description = fields.Char('Description')
>     inputs = fields.One2Many('production.bom.input')
>     outputs = fields.One2Many('production.bom.output')
>
> Another module could add operation-related information to
> 'production.process.step':
>
> class Step:
>     __name__ = 'production.process.step'
>     operations = fields.One2Many('production.route.operation')
>
> It is also possible to add the Process concept in another module
> instead of current production one but I think it is simpler this way.
> For example, production module adds a m2o from production to bom which
> should be replaced by a link to process if it is created in a separate
> module.
>
> Before taking that road I'd like to have some feedback. Anybody sees a
> need of route without bom link? If so, how would you achieve a
> reasonable user interface when the link is necessary? Pros and cons
> for keeping it in/out of main production module?

Here's a first draft of what it could look like if we wanted to keep
processes as an extension to production_route. As I said, I don't
think it is the way to go, but it is doable:

http://codereview.tryton.org/10281002/



-- 
Albert Cervera i Areny
Tel. 93 553 18 03
@albertnan
www.NaN-tic.com

Reply via email to