Hi, in the detail of the Purchase order application, we have Referred Location column with a field action which opens the Update Backorders/Referrals mini app. Is there a way to hide the “Add record” button for certain Personas with read only access in this mini app where the status of the Purchase Order detail row is Open or Partially Received?
It sounds like the Update Backorders/Referrals mini app is of type Advanced List, where users can add individual rows in the list form. If the personas you are referencing already have read-only access, they will not be able to insert a record regardless [though they will still see the Add button by default].
There’s a few ways to go about doing this, two of which I’ll detail here:
Option 1:
- Use app settings to prevent detail row creation
- This requires actually having two different app links from Purchase Orders
- When workflow state = Open or Partially Received, hide one field action and show the other using logic on the Purchase Order Detail
- One set of app settings fully allows inserts; the other uses system/control actions to hide
Detail Row Add
Option 2:
- Use
Form Is Initializedlogic in the mini app - Either pass the Purchase Order Detail workflow state into a work field (tricky, as this will act as a filter field) or re-fetch the Purchase Order Detail
- If workflow state = Open or Partially Received, use the logic block
Hideaction to remove various system actions a user can take - These can include
Detail Row Add,Create,Create A Copy,Row Edit, etc.
Hi @ross
Many thanks for your input. We need some guidance please. Please find attached the changes we made to the Application which was then added to the Logic Block to hide the “Add Record“ button.
Why does the Hide option as set in the Application, not get picked up in the Logic Block?
We did resave and re-generated the Application as well.
The goal is to have the Parts_Counter not see the Add Record button when the Update Backorders/Referrals mini app is launched through Purchase Order.
The post won’t allow me to attach all the screenshots from the nsCoxProcurementOrderDetailExt app where we added the Hide Field and Row options, my apologies.
Many thanks.
LC we work in: US1799169_Add_nsCox_INV_PartsManager
Hi Charmaine, thanks for the detailed response.
As long as everything is in the same lifecycle and generated, I would expect the following behavior to be possible given you’re implementing what I detailed as Option 1:
- App link titled
UpdatensCoxOEMPartsOrderHideis connected to a Row or Field action calledUpdate Backorders/Referrals Hide - It should be possible in your logic to specify within the hide action:
- Application =
HD app - Field Location =
Detail - Detail Application =
Detail app - Page, Row, Field, or Action name =
Update Backorders/Referrals Hide
- Application =
What I’ve noticed is that the name of the application you’re referencing in the Logic Block is different than the name of the application you’re showing in app builder, which is why I’ve specified “HD App” and “Detail App” above.
The logic block is currently referencing
- Detail Application =
nsCoxPurchaseOrderDetailsLayout - Application (HD) =
nsCoxPurchaseOrdersHDLayout
While the screenshot of app builder is over
- Detail application =
nsCoxProcurementOrderDetailExt - HD =
nsCoxProcurementOrdersExt?
A couple of follow up questions might get at why it isn’t appearing:
- Did you generate the extension app (HD, header, and detail) as well as this particular app layout (HD, header, and detail)?
- Can you confirm that the detail layout application shows the Hide version of the field action and app link?
- Have you tried hiding/showing the field action on the extension detail and HD applications and not the layouts?
It is my understanding that hide/show will work over the base application (the extension, in this case) and not the application layout. If you implement (3), i.e. switch the Hide action to reference Detail application = nsCoxProcurementOrderDetailExtand HD = nsCoxProcurementOrdersExt, I believe the field action will appear for you and work as expected.


