I have a job operation that is marked as quantity only, We want to maintain the burden rate of the operation. However when a emp clocks into the job, no matter how long or short the setup is they get assigned the full labor hrs of that operation. So if it takes 10mins to start an operation but the run time is 15hrs, the user’s time is clocked as 15 hrs.
What we want to do is to keep tracking the per hour’s work that a employee does for the quantity only labor entry.
I’ve attempted to add a pre-processing method directive on the labor update. I found the line transaction and if the emp is clocking out of a Quantity only job. and there I tried to set field to a specific amount to see if I could.
But after the update goes through, the value I manually added doesn’t show in the table. Is there a better place or do i need to do a update in the post processing?
TBH, if you want to track labor hours then setting the operation to quantity only is antithetical to your desires. It would be similar to asking Kinetic to monitor inventory for a non quantity bearing part.
What is the business problem that you’re trying to solve? Why was quantity only chosen for this operation when it’s clearly not what your company wants?
We are looking to maintain the estimate=actual behavior for “Burden Hours”. So we an have Burden hours = operation estimate and labor hours = Actual hours. It seems that to get the results of estimate = burden hours setting Qty was the only way.
Seems like it would be much easier to do a BPM to change Burden Hours back to the ProdStandard than it would be to try to track time on a Quantity Only operation.
I don’t think a UD Field would be necessary. A Data Directive on LaborDtl would probably do the job. You’ll definitely want to test this to see if I missed anything that you’d want to catch, but this should be a good starting point:
var ld = ttLaborDtl.FirstOrDefault( x => x.Added() );
if ( ld == null ) return;
var thisJobOP = Db.JobOper.Where( x =>
x.JobNum == ld.JobNum &&
x.AssemblySeq == ld.AssemblySeq &&
x.OprSeq == ld.OprSeq )
.FirstOrDefault();
if ( thisJobOp == null ) return;
ld.BurdenHrs = thisJobOp.ProdStandard * ld.LaborQty;