public override void IssueNumbers(PXCache sender, ARTran Row, decimal BaseQty) { PXResult <InventoryItem, INLotSerClass> item = ReadInventoryItem(sender, Row.InventoryID); INLotSerClass itemclass = item; if (itemclass.LotSerTrack != INLotSerTrack.NotNumbered && itemclass.LotSerAssign == INLotSerAssign.WhenReceived && (Row.SubItemID == null || Row.LocationID == null)) { return; } base.IssueNumbers(sender, Row, BaseQty); }
protected override bool IsTracked(ILSMaster row, INLotSerClass lotSerClass, string tranType, int?invMult) { string inTranType = INTranType.TranTypeFromInvoiceType(tranType, row.Qty); return((invMult == 0) ? false : base.IsTracked(row, lotSerClass, inTranType, invMult)); }
protected override INLotSerTrack.Mode GetTranTrackMode(ILSMaster row, INLotSerClass lotSerClass) { string inTranType = INTranType.TranTypeFromInvoiceType(row.TranType, row.Qty); return(INLotSerialNbrAttribute.TranTrackMode(lotSerClass, inTranType, row.InvtMult)); }
protected override void AppendSerialStatusCmdWhere(PXSelectBase <INLotSerialStatus> cmd, ARTran row, INLotSerClass lotSerClass) { if (row.SubItemID != null) { cmd.WhereAnd <Where <INLotSerialStatus.subItemID, Equal <Current <INLotSerialStatus.subItemID> > > >(); } if (row.LocationID != null) { cmd.WhereAnd <Where <INLotSerialStatus.locationID, Equal <Current <INLotSerialStatus.locationID> > > >(); } else { cmd.WhereAnd <Where <INLocation.salesValid, Equal <boolTrue> > >(); } if (!string.IsNullOrEmpty(row.LotSerialNbr)) { cmd.WhereAnd <Where <INLotSerialStatus.lotSerialNbr, Equal <Current <INLotSerialStatus.lotSerialNbr> > > >(); } else if (lotSerClass.IsManualAssignRequired == true) { cmd.WhereAnd <Where <boolTrue, Equal <boolFalse> > >(); } }