Displaying Runtime Alarms and Errors

How is a programmer supposed to convey system alarms and errors to the user? I know the notifications are available via WBM, but this is really just a log and also not the usual interface. I understand how to register and program user alarms, but it is implied here: https://www.plcnext.help/te/Service_Components/Notifications/Notifications_of_PLCnext_Runtime.htm that runtime system errors are pre-registered. On that same page is the following note:
Note: If the notification is called by the embedded OPC UA Server then the NotificationName ends with .eUAServer.
If called by a function block then the NotificationName ends with .eCLR.

This implies that the runtime errors should be visible from an OPC UA Client but they are not. How can these runtime errors be managed by the programmer?

There is a difference between OPC UA “Alarms and Events”, and “Notifications”.
The runtime system errors etc. that appear in WBM and PLCnext Engineer are Notifications - they are only information messages, and (unlike Alarms) they cannot be Acknowledged or otherwise “managed”.
Notifications are not visible through the OPC UA Server.
The way for a user application to access historical notifications - like the ones that appear in WBM and PLCnext Engineer - is through the NotificationLogger RSC service, which includes a ReadStoredNotifications method. This RSC service can be accessed from a C++ component.

What does the Note that I reference mean then? What does it mean for a notification to be called by the OPC UA server? Does that mean that the OPC UA server can push items to the Notifications area? A function block can do the same thing?

I will check with the documentation people, but I’m pretty sure the note in the Info Center should be:
Note: If the notification is generated by the embedded OPC UA Server then the Notification Name ends with .eUAServer. If generated by a function block then the Notification Name ends with .eCLR.The listed notifications are generated by (for example) acknowledging an alarm from either a PLCnext Engineer project (using the ALM_ACK FB) or from an OPC UA Client like UA Expert.
To answer your questions:
Does that mean that the OPC UA server can push items to the Notifications area?Sort of. The OPC UA server does not generate notifications directly. Notifications are automatically generated by the Alarms service when the OPC UA client performs certain actions using the Alarms service (e.g. Acknowledging an alarm).
A function block can do the same thing?Yes, but just like with the OPC UA Client, a function block will not generate the notifications directly. Notifications are automatically generated by the Alarms service when a Function Block performs certain actions using the Alarms service (e.g. Acknowledging an alarm).

So there is no easy way for an IEC program to see runtime errors, is that correct?