We are attempting to upgrade from 24R2 to the 26R1 release of Acumatica, and one of the changes in this release or the previous one is that the Kit Assembly Component Splits looks to prevent the line from defaulting the location for parts with serial numbers that are user-entered on receipt.
public class INComponentLineSplittingExtension : LineSplittingExtension<KitAssemblyEntry, INKitRegister, INComponentTran, INComponentTranSplit>
{
protected override void SetUnassignedQty(INComponentTran line, decimal detailsBaseQty, bool allowNegative)
{
base.SetUnassignedQty(line, detailsBaseQty, allowNegative);
UpdateUnassignedLine(line);
}
protected virtual void UpdateUnassignedLine(INComponentTran line)
{
if ((line.UnassignedQty ?? 0) == 0
|| line.TranType != INTranType.Assembly) return;
if (line.LocationID != null
line.LocationID = null;
if (line.LotSerialNbr != null)
line.LotSerialNbr = null;
if (line.ExpireDate != null)
line.ExpireDate = null;
}
}This becomes an issue specifically for serialized items because we normally scan items in which is location based. We contacted Acumatica support and they responded saying it works as intended and we'd need to override the logic to fit our business model.
I've had several failed attempts of overriding this particular section and I'd like a recommendation of preventing the nulling of the location.