Skip to main content
Question

Panel fields in MUI not updating the related View

  • July 23, 2026
  • 4 replies
  • 28 views

Joe Schmucker
Captain II
Forum|alt.badge.img+3

Sorry for all the MUI panel questions.  I got panel to open and it does fire the custom action for the panel.

I have a simple panel on PO301000.  It opens and allows the user to enter a value in a field.  

I enter a value in the field and click OK.  The field in the view is a custom PXFilter DAC.

In debug, I get the current of the Filter and the field is always null.  

 

In debug, the value is null:

 

This is the HTML and TS

    <qp-panel id="ChangeLoanView"
caption="Change Loan"
auto-repaint="true">
<qp-template id="fvChangeLoanView_div0" name="1" qp-collapsible="">
<qp-fieldset id="fsChangeLoanView_lrChangeLoanView_fs"
slot="A"
view.bind="ChangeLoanView"
wg-container="ChangeLoanView_fvChangeLoanViewFields">
<field name="UsrLoan"></field>
</qp-fieldset>
</qp-template>
<footer>
<qp-button id="btnChangeLoanOK" caption="Ok" dialog-result="OK"></qp-button>
<qp-button id="btnChangeLoanCancel" caption="Cancel" dialog-result="Cancel"></qp-button>
</footer>
</qp-panel>


import {
PXFieldState,
PXView,
placeAfterProperty,
columnConfig,
createCollection,
PXFieldOptions,
viewInfo,
} from "client-controls";
import { AP301000, APTran } from "src/screens/AP/AP301000/AP301000";

export interface AP301000_Midwest_generated extends AP301000 { }
export class AP301000_Midwest_generated {
@viewInfo({ containerName: "Change Loan" })
ChangeLoanView = createCollection(ChangeLoanView)

@viewInfo({ containerName: "Change ALE" })
ChangeALEView = createCollection(ChangeALEView)
}

export class ChangeLoanView extends PXView {
UsrLoan: PXFieldState<PXFieldOptions.CommitChanges>;
}

export class ChangeALEView extends PXView {
UsrALE: PXFieldState<PXFieldOptions.CommitChanges>;
}

I tried putting commit changes on the field UsrLoan but it did not make a differenc.

 

This is the VS code

 

public class APInvoiceEntry_Extension : PXGraphExtension<PX.Objects.AP.APInvoiceEntry>
{
public PXFilter<ICSAPChangeLoan> ChangeLoanView;
public PXFilter<ICSAPChangeALE> ChangeALEView;

public PXAction<APInvoice> ChangeLoan;
[PXUIField(DisplayName = "Change Loan", MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select)]
[PXButton(Category = "Corrections", CommitChanges = true)]
protected virtual IEnumerable changeLoan(PXAdapter adapter)
{
if (ChangeLoanView.AskExt() == WebDialogResult.OK)
{
APTran aPTran = Base.Transactions.Current;
if (aPTran == null) return adapter.Get();

ICSAPTranExt ext = aPTran.GetExtension<ICSAPTranExt>();
if (ext == null) return adapter.Get();

ICSAPChangeLoan Filter = ChangeLoanView.Current;
if (Filter == null) return adapter.Get();

ext.UsrLoan = Filter.UsrLoan;

Base.Transactions.Update(aPTran);
Base.Save.Press();
}
return adapter.Get();
}

public sealed class ICSAPChangeLoan : PXBqlTable, IBqlTable
{
#region UsrLoan
[PXString(50)]
[PXUIField(DisplayName = "Loan")]
public string UsrLoan { get; set; }
public abstract class usrLoan : PX.Data.BQL.BqlString.Field<usrLoan> { }
#endregion
}

public sealed class ICSAPChangeLoan : PXBqlTable, IBqlTable
{
#region UsrLoan
[PXString(50)]
[PXUIField(DisplayName = "Loan")]
public string UsrLoan { get; set; }
public abstract class usrLoan : PX.Data.BQL.BqlString.Field<usrLoan> { }
#endregion
}
}
}

I MUST be missing something super obvious.

Edit: This panel works fine in Classic UI

 

4 replies

Forum|alt.badge.img+8
  • Captain II
  • July 23, 2026

Out of curiosity - is ChangeLoanView null (vs ChangeLoanView.Current)? I wonder if the value is sitting in the cache and hasn’t been committed to where would be considered ‘Current’.


Joe Schmucker
Captain II
Forum|alt.badge.img+3
  • Author
  • Captain II
  • July 23, 2026

Hi ​@Django !

I put this code in just now.  It does show a record inserted into the cache, but the value still looks null.

 

Edit:  This also shows the inserted record with a null value in the field:

 

 


Forum|alt.badge.img+8
  • Captain II
  • July 23, 2026

I wonder if you press Tab after entering the value if that makes a difference? 

I agree - it feels like this should be easy.

I am just about to embark on a similar MUI upgrade of a similar box so I’ll let you know how that goes.


Joe Schmucker
Captain II
Forum|alt.badge.img+3
  • Author
  • Captain II
  • July 23, 2026

Tabbing off the field did not matter.  Thank goodness that isn’t the fix!  That would be a hard sell to the customer.

FYI, I’ve been in panel h3ll for the last 2 weeks.  My popups work in classic, so I think my code is fine.  I have a support request in with Acumatica because in one panel, I cannot even get my fields to show in the popup.

I have about 15 popups with this issue (not saving to the cache) for a bunch of customers wanting to test the MUI in their sandboxes.  All this time, I saw the popup open, so I assumed it was working.  

I may end up submitting another support request.  This shouldn’t be that hard.  Especially since I am literally copy/pasting code from Acumatica html and ts files and just changing my fields and views.