Esempio n. 1
0
        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);
        }
Esempio n. 2
0
            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));
            }
Esempio n. 3
0
        protected override INLotSerTrack.Mode GetTranTrackMode(ILSMaster row, INLotSerClass lotSerClass)
        {
            string inTranType = INTranType.TranTypeFromInvoiceType(row.TranType, row.Qty);

            return(INLotSerialNbrAttribute.TranTrackMode(lotSerClass, inTranType, row.InvtMult));
        }
Esempio n. 4
0
        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> > >();
            }
        }