Добрый день, сэр / мэм,
Простите, что задаю этот вопрос, если когда-либо этот вопрос уже поднимался в сообществе, но я не могу найти правильный ответ на мою проблему.
У меня есть расширенный график, который содержит 2 пользовательских представления: ReservationDetails и PropertyItems .
GRAPH
public class SOOrderEntryExt : PXGraphExtension<SOOrderEntry>
{
#region Selects
public PXSelect<RECOReservationDetail,
Where<RECOReservationDetail.reservationNbr,
Equal<Current<SOOrder.orderNbr>>>> ReservationDetails;
public PXSelectReadonly<InventoryItem,
Where<InventoryItem.inventoryID,
Equal<Current<RECOReservationDetail.inventoryID>>>> PropertyItems;
#endregion
}
ЦАП
[Serializable]
public class RECOReservationDetail : IBqlTable
{
#region Reservation Nbr.
[PXDBString(15, IsKey = true)]
[PXUIField(DisplayName = "Reservation Nbr.")]
[PXDefault()]
public virtual string ReservationNbr { get; set; }
public abstract class reservationNbr : IBqlField { }
#endregion
#region Branch ID
[PXDBInt]
[PXSelector(typeof(Search<Branch.branchID>),
SubstituteKey = typeof(Branch.branchCD))]
[PXUIField(DisplayName = "Branch ID", Required = true)]
[PXDefault(typeof(AccessInfo.branchID), PersistingCheck = PXPersistingCheck.Nothing)]
public virtual int? BranchID { get; set; }
public abstract class branchID : IBqlField { }
#endregion
#region Inventory ID
[StockItem]
[PXUIField(DisplayName = "Inventory ID", Required = true)]
public virtual int? InventoryID { get; set; }
public abstract class inventoryID : IBqlField { }
#endregion
#region Salesperson ID
[PXDBInt]
[PXDefault(PersistingCheck = PXPersistingCheck.Nothing)]
[PXUIField(DisplayName = "Salesperson ID")]
[PXSelector(typeof(Search<SalesPerson.salesPersonID>),
SubstituteKey = typeof(SalesPerson.salesPersonCD))]
public virtual int? SalespersonID { get; set; }
public abstract class salespersonID : IBqlField { }
#endregion
#region Quantity
[PXDBDecimal(2)]
[PXUIField(DisplayName = "Quantity", Enabled = false)]
[PXDefault(TypeCode.Decimal, "1.0", PersistingCheck = PXPersistingCheck.Nothing)]
public virtual decimal? ItemQty { get; set; }
public abstract class itemQty : IBqlField { }
#endregion
#region Reservation Fee
[PXDBDecimal(2)]
[PXUIField(DisplayName = "Reservation Fee")]
[PXDefault(TypeCode.Decimal, "0.0", PersistingCheck = PXPersistingCheck.Nothing)]
public virtual decimal? ReservationFee { get; set; }
public abstract class reservationFee : IBqlField { }
#endregion
#region Reservation Cash Disc.
[PXDBDecimal(2)]
[PXUIField(DisplayName = "Reservation Cash Disc.")]
[PXDefault(TypeCode.Decimal, "0.0", PersistingCheck = PXPersistingCheck.Nothing)]
public virtual decimal? ReservationCashDiscAmt { get; set; }
public abstract class reservationCashDiscAmt : IBqlField { }
#endregion
#region Amount
[PXDBDecimal(2)]
[PXUIField(DisplayName = "Amount")]
[PXDefault(TypeCode.Decimal, "0.0", PersistingCheck = PXPersistingCheck.Nothing)]
public virtual decimal? ReservationAmt { get; set; }
public abstract class reservationAmt : IBqlField { }
#endregion
#region Product Type
[PXDBString(15)]
[PXDefault(ProductTypes.Lot, PersistingCheck = PXPersistingCheck.Nothing)]
[PXStringList(
new string[] {
ProductTypes.HouseConstruction,
ProductTypes.HouseLot,
ProductTypes.HouseLotAdjacentLot,
ProductTypes.Lot
},
new string[] {
"House Construction",
"House & Lot",
"House & Lot with Adjacent Lot",
"Lot"
})]
[PXUIField(DisplayName = "Product Type")]
public virtual string ProductType { get; set; }
public abstract class productType : IBqlField { }
#endregion
}
Теперь возникает проблема, когда я пытаюсь изменить идентификатор инвентаризации на своей странице. Он очищает значения всех элементов управления на странице.
ДО изменения идентификатора инвентаря
ПОСЛЕ изменения идентификатора инвентаря
Записи в элементах управления очищаются каждый раз, когда я меняю идентификатор инвентаря.
Я просто не понимаю, где я допустил ошибку при расширении графика.
Спасибо, и я надеюсь, что вы можете помочь мне с этой проблемой.
ОБНОВЛЕНИЕ - 10/01/2018
Это весь макет страницы.Я ввел заказ nbr / booking nbr , но идентификатор инвентаря в разделе сведений все еще очищает все, когда я пытаюсь его заполнить.
Я также пытался заменить идентификатор инвентаряуправление на странице, но это все еще не решило проблему.
FINAL UPDATE
Я наконец исправил проблему.Я не знаю почему, но после того, как я поместил атрибут PxParent в свой резервный nbr, это решило проблему очистки на дочерних вкладках.Большое вам спасибо за помощь.Удачного кодирования!
#region Reservation Nbr.
[PXDBString(15, IsKey = true)]
[PXUIField(DisplayName = "Reservation Nbr.")]
[PXParent(typeof(Select<SOOrder,
Where<SOOrder.orderNbr,
Equal<Current<RECOReservationDetail.reservationNbr>>>>))]
[PXDBDefault(typeof(SOOrder.orderNbr))]
public virtual string ReservationNbr { get; set; }
public abstract class reservationNbr : IBqlField { }
#endregion