15
Views
12
Comments
Solved
How to use NotifyGetMessage

Greetings! I'm trying to get a value from a popup into my parent screen, I researched some discussions regarding this and saw that I can use NotifyGetMessage, but when I use it. I don't see any output variable from the popup that I can reference as the value I need from the popup. 


These are the properties requirements for my popup screen:

This Server Action is in the Popup screen:

Rank: #510
Solution

Hi Wilbye, 

I have made an example using RichWidgets/Popup_Editor_Notify and (System)/Deprecated_NotifyGetMessage. The OML file is attached.

Hope it helps.

PopupTest.oml

Rank: #510

Hi Wilbye,

As mentioned by the documentation of this Server Action, you can use events to take that value. What kind of widget or web block are you using?

Best regards

I'm using a Button Widget.

Rank: #510

I have this data from a Popup which I need to transfer to my parent screen. Before I got this data, there were activities with a combo box widget and a button widget which is the save screen action.

The Popup_Editor_Notify data (258) wasn't stored in the NotifyGetMessage.


This is the sequence of my Server Actions.

All of these are in the Popup which is a Web Screen widget.

Rank: #510

To use those deprecated features, you will have to do:

  1. Call the server action RichWidgets/Popup_Editor_Notify, passing the message in the parameter 'Argument', in the button from the popup screen;
  2. Call the server action (System)/Deprecated_NotifyGetMessage from the event handler of the OnNotify event from Popup_editor widget.

Hi, I checked the link you sent earlier and now is looking for an example where we used a Modal with a Web Block in it, also the Popup that I want to gather data from is from an another module.

If you could provide an example, it would be really nice so I can visualize it.

Rank: #510

Here is an example of using Modal in Traditional Web:

https://success.outsystems.com/Documentation/11/Developing_an_Application/Design_UI/Patterns/Using_Traditional_Web_Patterns/Content/Modal?origin=d

You can create the web block from the screen and then expose it. To make it work, I think that you will have to use the deprecated notifies.

In order to expose a web block, you need to follow these rules:

"A Web Block cannot be exposed when:

  • It has a parameter that is defined using an Entity/Structure that is not exposed.
  • It has a parameter that is defined using an Entity/Structure that is reused from another module.
  • It contains a Link widget, Button widget, or a consumed Web Screen with arguments of Binary Data, Record, or List data types.

When executing an exposed Web Block, data is handled between the modules under the same context, i.e. the same database, same session variables, same site properties, etc. However, the execution runs under the transaction of the Consumer module.

In case the execution of the Producer and Consumer modules are under different User Providers, the modules have different sessions. In this case, variables associated to the session can hold different values between modules."

Rank: #510
Solution

Hi Wilbye, 

I have made an example using RichWidgets/Popup_Editor_Notify and (System)/Deprecated_NotifyGetMessage. The OML file is attached.

Hope it helps.

PopupTest.oml

This solved my issue, Thank you so much Kadu Borges.


Regards,

Wil

Rank: #287

Hi Wilbye 

In addition to Kadu's answer, You don't need to use a deprecated action.

There is a Popup_Editor_GetMessage in the RichWidgets too.

Kind Regards,

Thank you for this Tom Zhao