Skip to main content
Question

Remove the Discount % from the Review Order screen in the Self Service Portal

  • Nov 6, 2026 7:07 PM UTC
  • 2 replies
  • 15 views
  • Translate All

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

This is a nit-picky request by the customer, but I aim to please.  

In 2026 Modern UI Self Service Portal

I’m trying to remove the Discount column from the Orders Items section of the Review Order screen SP504004.

 

My research leads me to believe this comes from the sp-ordered-items file as shown here in the SP504004.html file.

In that file, there is this:

It looks to me like the discount is not really a field I can remove as it is buried in the fieldTotal field.

Would I be correct in saying that since it is not a field that can be modified, that this request isn’t possible without completely removing the <qp-data-feed section and adding my own?  If that is even possible.

 

 

 

 

 

2 replies

Forum|alt.badge.img+8
  • Captain II
  • Nov 6, 2026 8:32 PM UTC

You should be able to replace the qp-data-feed and replace it with your own. But, I’d be curious to see if hiding the field in the .ts file would work better.

Add an extension folder for the SP504004 file (usual Modern UI customization).

Something like:

SP504004_XXClientMod.ts

import { SOLine } from “../../view-models”;  //check this path for correctness

export interface SP504004_XXClientMod extends SP504004 {}
export class SP504004_XXClientMod {}

export interface SOLine_XXClientMod extends SOLine {}
export class SOLine_XXClientMod {
  DiscPct: PXFieldState<PXFieldOptions.Hidden>;
}

 

Translate

Steve Milner
Varsity III
Forum|alt.badge.img+7
  • Varsity III
  • Nov 6, 2026 11:27 PM UTC

@Joe Schmucker your read is right. The column isn't bound to a field. The header is a plain div that prints msg.Discount, and the cell prints a discount getter on the SOLine class in SP504004's view-models.ts, which reads SOLine__DiscPct and falls back to 0.

That's why hiding a field in TypeScript won't take it off (the field in that view is SOLine__DiscPct, not DiscPct). Django's first suggestion, replacing the markup, is the route.

The catch is that the data feed isn't in SP504004.html. The screen only has <compose class="sp-full-width" view-model="../sp-ordered-items">, and the build merges your HTML extension into the screen's own HTML without pulling composed templates in. A selector aimed at dfOrderedItems throws a build error: "screen HTML doesn't contain any elements that satisfies such querySelector".

The compose line is what you can reach. Remove it in your SP504004 extension and add your own copy of the ordered-items markup after the Fifth fieldset, minus the two discount divs. Your copy binds to SP504004's msg (its Labels class), which has no UnitOfMeasure, so give that header its own text.

The same template is composed on the Order screen (SP504000), so Discount still shows there unless you do the same on that screen.

Translate