Mike,
First of all, good to hear from you again! I'm currently in over my head customizing OFBiz for a
manufacturing operation. I think we can really help each other out! Welcome back!
Ask questions here frequently, so I can tell you what you don't know (if I know it). Also, try to
tell me what I don't know (that you know). In other words, "Help me Mike!". Thanks in advance. :)
That way, we won't waste time figuring things out that others have already discovered. All these
you are already doing. So, thanks!
To get you started, let me explain the terms I use:
Routing --- (aka ROUTING or Production Run template)
A collection of Routing Tasks (see below) to produce 0/more of a number
(1/more) of types of products. Here, you'll notice that you can use a single
Routing to produce a variety of types of products. Eg, you can use Routing
"Make_Soup_Noodle" to produce products "Spicy_Soup_Noodle" and
"Tangy_Soup_Noodle" and so on.
Routing Task --- (aka ROU_TASK or Task Run template)
A single task or step in the production of a product
Production Run --- (aka PROD_ORDER_HEADER)
An instance of a Routing, and also a collection of Task Runs (see below). So
you can have 10 Production Runs of the Routing "Make_Soup_Noodle" if you have
10 SO OrderItem(s) (SalesOrder order items) asking for soup noodles. NOTE:
Each Production Run can produce only a single type of product, but can produce
0/more.
Task Run --- (aka PROD_ORDER_TASK or ProductionRun RoutingTask on front-end)
An instance of a Routing Task.
Given the above, I'm also prompted to ask the community if it is possible to have a Routing Task
produce a product/component? Or are Production Runs the only way to produce anything at all? If
that's the case, we'll have to have a very nested tree of Production Runs just to produce
something as complicated as a bicycle with many subassemblies/components.
I suspect a Task Run can produce subassemblies/components. Can somebody confirm
this?
> I just figure out another way to help me to have a more useful "Calculated
> Completion Date" when I plan a production run.
>
> I first create different tasks for the same purpose, e.g.
>
> 1) 10 workers to gather all the raw materials
> 2) 20 workers to gather all the raw materials
>
> but each with a different "Estimated Run Time".
>
> So that I can assign different tasks to the job and have it re-calculate the
> "Calculated Completion Date" before I confirm the job.
Question. You managed to assign different Routing Tasks to different Production Runs (say they're
instantiated from Routing "Make_Soup_Noodle")? I thought it was only possible to assign Routing
Tasks to Routings, and not to Production Runs.
Or did you mean you had to create 2 different Routings, one "Make_Soup_Noodle" and another
"Make_Soup_Noodle_Faster" in order to achieve the above? If so, that sounds counter-intuitive. Why
not try to fix OFBiz to allow for adjustments of production capacity inside a Production Run
(rather than inside the template which is the Routing itself)?
But if you think the above "workaround" serves you, I'd say go for it. I may be inclined to adopt
that "workaround" too. In that case, thanks for the hint, Mike! Good catch.
> My next question is how to reserve the fixed asset that has a job already
> associated with. So as to prevent the fixed asset being occupy by more than
> one job at one time.
I don't think you can. There is currently no logic to do so (correct me if I'm wrong). I never
thought about this. I think you're right that this should be standard logic in manufacturing. We
need to consider production capacity of every fixed asset (teams of human/robot workers,
factories, sewing machines, etc). No sewing machine can sew an infinite number of shirts at one
time (can there?).
I'll look into this. (I mean reserving/occupying fixed assets, not the Super
Sewing Machine.)
> Regarding the fix for the "Calculated Completion Date", I think the current
> behavior is correct and is what we should expect.
It is? Why wouldn't you want the "Calculated Completion Date" to change to reflect any changes in
your Task Runs?
Jonathon
Mike Wong wrote:
Jonathon,
Thanks for the advice.
I just figure out another way to help me to have a more useful "Calculated
Completion Date" when I plan a production run.
I first create different tasks for the same purpose, e.g.
1) 10 workers to gather all the raw materials
2) 20 workers to gather all the raw materials
but each with a different "Estimated Run Time".
So that I can assign different tasks to the job and have it re-calculate the
"Calculated Completion Date" before I confirm the job.
My next question is how to reserve the fixed asset that has a job already
associated with. So as to prevent the fixed asset being occupy by more than
one job at one time.
Regarding the fix for the "Calculated Completion Date", I think the current
behavior is correct and is what we should expect.
Mike
-----Original Message-----
From: Jonathon -- Improov [mailto:[EMAIL PROTECTED]
Sent: Friday, January 19, 2007 1:26 AM
To: [email protected]; Tom Anderson
Subject: Re: Question on Rouning tasks
Mike,
I tried it myself. It seems that the "Calculated Completion Date", whether
for the production run
or the individual routing tasks, will not change. (Can anyone familiar with
this confirm this?).
To denote actual time spent, click on "Declare". In the field "Add Actual
Task Time", key in the
actual time it would take (in seconds, sorry for big number!), say 60 (for
60 seconds). Your
"Actual Time" field will show 60 (seconds).
Then when you have an extra worker, you will then enter -30 into the field
"Add Actual Task Time",
and your "Actual Time" field will now show 30 (seconds).
Note that your actual start time for the entire production run will be the
time you start your
first routing task.
Sorry, it seems you can't specify the start time ("From Date") for each
routing task. So, yeah, it
seems the value for "Actual Time" looks disembodied.
Yes, I know that it's irritating and counter-intuitive that the "Calculated
Completion Date"
values don't show you the changes. Even the "From Date" and "To Date" for
each routing task don't
seem to work at all.
But no worries! We can easily fix that! Or would you mind submitting a fix
for that yourself?
Jonathon
Mike Wong wrote:
Jonathon,
Yes, this is exactly what I want to achieve - "10 workers can gather
the raw materials in 10 hours, 20 workers would do so in 5"
As of now I can't figure out how to do it.
Mike
-----Original Message-----
From: Jonathon -- Improov [mailto:[EMAIL PROTECTED]
Sent: Thursday, January 18, 2007 10:08 PM
To: [email protected]
Subject: Re: Question on Rouning tasks
Mike,
There could be a bug, so that "Calculated Completion date" won't change.
But
I'm not sure, since
I'm not 100% familiar with all the business logics there.
What do you mean by "assign 20 workers to 2 of the task"? Every task in a
production run is a
distinct step. The first task could be "gather all the raw materials". So
if
10 workers can gather
the raw materials in 10 hours, 20 workers would do so in 5.
Likewise for the 2nd task, say "assemble the raw materials".
Jonathon
Mike Wong wrote:
Jonathon,
I've checked that I can only declare the actual setup time and the actual
time but not the number of the routing tasks. And the "Calculated
Completion date" won't change after I confirmed the "Production Run".
The question is how can I plan for a Production run.
e.g.
If I assign 10 workers to one of the task and the job can be completed on
25th Jan. But if I assign 20 workers to 2 of the task the job can be
completed on 10th Jan.
So I can play with that to plan for my resources usage.
Thanks
Mike
-----Original Message-----
From: Jonathon -- Improov [mailto:[EMAIL PROTECTED]
Sent: Thursday, January 18, 2007 7:41 PM
To: [email protected]
Cc: Tom Anderson
Subject: Re: Question on Rouning tasks
Mike,
Once you start a routing task (when inside the Production Run screen),
you
can "Declare" certain
numbers for the routing task. I believe you can set the completion time
there. Let me know what
you found? Thanks.
Jonathon
Mike Wong wrote:
Hi All,
One quick question.
With the current version of OfBiz is it possible to create a "Rounting
Task"
which can simulate a job that can be done by multiple workers?
All I can do now is a Task with an estimate usage time which will be
multiply with the quantity to calculate the estimate job end time. I
can't
configure the task to if I can assign 2 workers to that task and the
estimate end time should be cut to half.
Thanks
Mike