Reputation: 193
I'm trying to verify the value entered into my Support Split
table, why am I unable to grab my ItemExtension
?
protected void atcProjectCostCenterTable_CostCenterSplit_FieldVerifying(PXCache cache, PXFieldVerifyingEventArgs e, PXFieldVerifying InvokeBaseHandler)
{
if (InvokeBaseHandler != null)
InvokeBaseHandler(cache, e);
var row = (atcProjectCostCenterTable)e.Row;
if (row.ContractID > 0)
{
decimal? hun = 100;
PX.Objects.CT.ContractExt item = row.GetExtension<PX.Objects.CT.ContractExt>();
if (CostCenterSplit.Select().Count >= 1)
{
if (item.UsrCostCenterSum.Value != hun)
{
PXUIFieldAttribute.SetError<atcProjectCostCenterTable.costCenterSplit>(cache, row, "Support Percentages must equal 100%");
//throw new PXSetPropertyException("Cost Center Percentages must equal 100%", PXErrorLevel.Warning);
}
}
}
}
Upvotes: 0
Views: 495
Reputation: 193
Contract con = Base.Project.Current;
PX.Objects.CT.ContractExt item = con.GetExtension<PX.Objects.CT.ContractExt>();
Upvotes: 0
Reputation: 6778
Nick, please replace
PX.Objects.CT.ContractExt item = row.GetExtension<PX.Objects.CT.ContractExt>();
with
PX.Objects.CT.ContractExt item = Base.Project.Current.GetExtension<PX.Objects.CT.ContractExt>();
or
PX.Objects.CT.ContractExt item = Base.Project.Cache.GetExtension<PX.Objects.CT.ContractExt>(Base.Project.Current);
Your current code can not work because ContractExt extends Contract DAC, not atcProjectCostCenterTable. Since PMProject is inherited from Contract, DAC extensions defined for the Contract DAC are also available for PMProject instances.
Upvotes: 1