Difference between revisions of "Features/Custom code"
Line 28: | Line 28: | ||
=== Status actions === | === Status actions === | ||
Actions will allow certain code to run as if it where a normal status action: Timed, On enter, On | Actions will allow certain code to run as if it where a normal status action: Timed, On enter, On leave | ||
Link via: Designer > Entity > STATUS > STATUS ACTION > Codeunit | Link via: Designer > Entity > STATUS > STATUS ACTION > Codeunit |
Revision as of 10:55, 10 November 2024
Usage
In some cases there will be a need for specialized functionality.
Using codeunits you use all of the existing nocode features, and just do the special features in custom code.
The platform will handle WHEN to execute the code, while you make the code do WHAT you want.
Note that custom extensions are loaded dynamically, so the platform can still be updated independntly of your custom code.
Many extension points
Your custom code can be plugged into various ponts
Pages
A page will display file or HTML content, with or without navigation wrapped around it.
Normal pages will only be served to authenticated users, while the public variant can be served to anyone accessing the URL.
Link via: URL (example: main?command=xxx)
Event handlers
An eventhandler will extend the behavior of an existing entity.
Multiple function handles ensure your code can be executed at the right time: beforeSelect, beforeRender, beforeUpdate etc.
In addition it is also possible control navigation flow after updates or build custom permission schemes (see below).
Link via: Designer > Entity > Advanced > Codeunit
Status actions
Actions will allow certain code to run as if it where a normal status action: Timed, On enter, On leave
Link via: Designer > Entity > STATUS > STATUS ACTION > Codeunit
Scheduled code
This is used for custom code that you need to run without user intervention.
Link via: Designer > Modules > Configuration > serviceRunCustomCodeunitClass
Global content
This codeunit can inject HTML content into all pages on that instance.
Link via: Designer > Modules > Configuration > dk.p2e.blanket.codeunit.common.PageStaticContent