Skip to main content

Getting the below error when trying to set value for a custom field. I can see the ContractID is in the cache.

All these steps are happening within a transaction scope , so values are yet to be saved to the DB , but are available in the cache.

Stack Trace : 

Error: oUsrMAKLContractID] 'XXXXXX' cannot be found in the system.

 at PX.Data.PXSelectorAttribute.throwNoItem(Stringt] restricted, Boolean external, Object value)
   at PX.Data.PXSelectorAttribute.Verify(PXCache sender, PXFieldVerifyingEventArgs e, Object& item)
   at PX.Data.PXSelectorAttribute.FieldVerifying(PXCache sender, PXFieldVerifyingEventArgs e)
   at PX.Data.PXCache.OnFieldVerifying(String name, Object row, Object& newValue, Boolean externalCall)
   at PX.Data.PXCache`1.SetValueExt(Object data, String fieldName, Object value)
   at PX.Objects.CR.MAKLQuoteMaintExt.ConvertNewSaleQuote(CRQuote quote) 
   at PX.Objects.CR.MAKLQuoteMaintExt.<>c__DisplayClass127_0.<ConvertToContract>b__0()
   at PX.Data.PXLongOperation.<>c__DisplayClass18_0.<StartOperation>b__0()

same steps worked for us in the previous version 2019 R1, currently we have the upgraded version 2022R1.


Hi, @vibindas  Are you creating the on-the-fly and trying to assign it to a custom field?


Hi @Naveen Boga , that is correct.


any thoughts on why the same works on 2019 , but not on 2022R1 version?


Hi @vibindas were you able to find a solution? Thank you!


@Chris Hackett , sorry no luck. Only option I see is to set the values outside the transaction scope, save to db and then try to fetch the values. But personally feel it’s not a good approach.


Reply