In-Screen Popup Panels with iFrame

Hi Everyone,

Most probably you have seen the function in Acumatica where you can open a new screen in a iframe on top of the existing screen without navigation.
Acumatica Sales order Payment

This approach has some benifits and disadvantages. Have inplace pupup helps to have less redirection and less windows, but in the same time it blocks the previous page and you cant modify/see background untill you close the popup.
Choose the way you use wisely based on the requiranments and design you have.

How to call inline popup?

public PXAction<SOOrder> createPrepayment;
[PXUIField(DisplayName = "Create Prepayment", MapViewRights = PXCacheRights.Select, MapEnableRights = PXCacheRights.Update)]
[PXButton(ImageKey = PX.Web.UI.Sprite.Main.AddNew)]
protected virtual void CreatePrepayment()
    ARPaymentEntry target = PXGraph.CreateInstance<ARPaymentEntry>();

    throw new PXPopupRedirectException(target, "New Payment", true);

Another problem with this kind of popups is size of screens. If you put something inside the screen you have less space for most important content. All screens are different and sometimes you have to choose the size of the screen by yourself.

To set the size of the in-line popup you can use the Code Behind file of the ASPX page waht you want to open. In the example above we are opening ARPaymentEntry Screen that is AR302000.aspx page. So if we go there to Pages/AR/AR302000.aspx.cs

public partial class Page_AR302000 : PX.Web.UI.PXPage
    protected void Page_Init(object sender, EventArgs e)
        this.Master.PopupHeight = 550;
        this.Master.PopupWidth = 970;

If yo change it you can easily see how the defalt width/height changed. For example if you set With to 470 you’ll see following:
Size of Acumatica In-Line Popop

Have any one development!

Leave a Reply

Your email address will not be published. Required fields are marked *