Enable LaborDtl.Complete from Report.ReportQuantity BPM

Hi gang,

Last week, I made a quick BPM last week that opens a BPM data form whenever someone on the shop floors Ends Activity via MES. It asks “Is the Op complete?” and then sets true or false on LaborDtl.Complete accordingly. This works without issue.

This week, they asked for the same functionality in the Report Quantity screen. This is proving to be far less trivial. Here is what I tried so far:

This passes Validation, but when I try to Save I get this:

There is at least one compilation error.
CustomizationAdapter.cs(48,30): error CS0433: The type 'SelectSerialNumbersParamsTableset' exists in both 'Erp.Contracts.BO.Labor, Version=, Culture=neutral, PublicKeyToken=5d3fa3c7105d7992' and 'Erp.Contracts.BO.ReportQty, Version=, Culture=neutral, PublicKeyToken=5d3fa3c7105d7992'
CustomizationAdapter.cs(9,140): error CS0738: 'ReportQtySvcCustomization' does not implement interface member 'ReportQtySvcContract.GetSelectSerialNumbersParams(int, int, ref ReportQtyTableset)'. 'ReportQtySvcCustomization.GetSelectSerialNumbersParams(int, int, ref ReportQtyTableset)' cannot implement 'ReportQtySvcContract.GetSelectSerialNumbersParams(int, int, ref ReportQtyTableset)' because it does not have the matching return type of 'SelectSerialNumbersParamsTableset'.

I’m doing something wrong trying to commit the update. Invoke BO Method is calling Labor.Update. Am I barking up the wrong tree here?

You’re going to have to unwind some stuff to fix CS0433. Either move your calls to Erp.Labor to a function library or find a way to do without it. Unfortunately Erp.Labor and Erp.ReportQty both implement a “SelectSerialNumbersParamsTableset” class. So you cannot have both modules in one BPM or function library. Gotta keep them separate.

I wonder if your other error is downstream of the first one. Different implementations of GetSelectSerialNumbersParams(), one of which doesn’t return a SelectSerialNumbersParamsTableset?

I’d google StackOverflow or MS’s docs on that one.

Not sure because moving it to a function worked like a charm. I appreciate your help.