private void UpdatePhysicalQty() { INBarCodeItem item = AddByBarCode.Current; INPIHeader d = this.PIHeader.Current; this.SelectTimeStamp(); using (PXTransactionScope sc = new PXTransactionScope()) { INPIDetail detail = PXSelectReadonly <INPIDetail, Where <INPIDetail.pIID, Equal <Current <INPIHeader.pIID> >, And <INPIDetail.inventoryID, Equal <Current <INBarCodeItem.inventoryID> >, And <INPIDetail.subItemID, Equal <Current <INBarCodeItem.subItemID> >, And <INPIDetail.locationID, Equal <Current <INBarCodeItem.locationID> >, And <Where <INPIDetail.lotSerialNbr, IsNull, Or <INPIDetail.lotSerialNbr, Equal <Current <INBarCodeItem.lotSerialNbr> > > > > > > > > > .SelectWindowed(this, 0, 1); if (detail == null) { INPIEntry entry = PXGraph.CreateInstance <INPIEntry>(); entry.PIHeader.Current = entry.PIHeader.Search <INPIHeader.pIID>(d.PIID); detail = PXCache <INPIDetail> .CreateCopy(entry.PIDetail.Insert(new INPIDetail())); detail.InventoryID = item.InventoryID; detail = PXCache <INPIDetail> .CreateCopy(entry.PIDetail.Update(detail)); detail.SubItemID = item.SubItemID; detail.LocationID = item.LocationID; detail.LotSerialNbr = item.LotSerialNbr; detail.PhysicalQty = item.Qty; detail.ExpireDate = item.ExpireDate; entry.PIDetail.Update(detail); entry.Save.Press(); this.PIHeader.View.RequestRefresh(); } else { detail = PXCache <INPIDetail> .CreateCopy(detail); detail.PhysicalQty = detail.PhysicalQty.GetValueOrDefault() + item.Qty.GetValueOrDefault(); this.PIDetail.Update(detail); } sc.Complete(); item.Description = PXMessages.LocalizeFormatNoPrefixNLA(Messages.PILineUpdated, AddByBarCode.GetValueExt <INBarCodeItem.inventoryID>(item).ToString().Trim(), Setup.Current.UseInventorySubItem == true ? ":" + AddByBarCode.GetValueExt <INBarCodeItem.subItemID>(item) : string.Empty, AddByBarCode.GetValueExt <INBarCodeItem.qty>(item), item.UOM, detail.LineNbr); } AddByBarCode.Reset(true); this.AddByBarCode.View.RequestRefresh(); this.SelectTimeStamp(); }
protected virtual void INPIHeader_RowSelected(PXCache sender, PXRowSelectedEventArgs e) { INPIHeader row = (INPIHeader)e.Row; if (row == null) { return; } addLine.SetEnabled(row.PIID != null); addLine2.SetEnabled(row.PIID != null); }