Difference between revisions of "Codeunit/Formevents"

From TempusServa wiki
Jump to navigation Jump to search
old>Admin
old>Admin
Line 32: Line 32:
# Return form to user
# Return form to user


=== ITEM execution order: viewing data ===
==== ITEM execution order: viewing data ====
# '''beforeSelectItem'''
# '''beforeSelectItem'''
# Gather form data from database
# Gather form data from database
Line 38: Line 38:
# Return form to user
# Return form to user


=== ITEM execution order: posting data ===
 
==== ITEM execution order: posting data ====
# '''beforeSelectItem'''
# '''beforeSelectItem'''
# Gather form data from database
# Gather form data from database
Line 50: Line 51:
#* afterUpdateRedirectActive /
#* afterUpdateRedirectActive /


== Event firing global ==
== Event firing ==
 
==== Event firing global ====
The following events are ALLWAYS fired
The following events are ALLWAYS fired
* beforeSelectList
* beforeSelectList
Line 58: Line 61:
* afterUpdateItem
* afterUpdateItem


== Event firing in UI (reserved for normal users) ==
==== Event firing in UI (reserved for normal users) ====
The following events will NOT be fired during imports etc.
The following events will NOT be fired during imports etc.
* appendListPageHead
* appendListPageHead
Line 67: Line 70:
* beforeRenderItem
* beforeRenderItem


== Event firing in UI depending on user actions ==
==== Event firing in UI depending on user actions ====
The following events are SOMETIMES be fired for normal users depending on navigation
The following events are SOMETIMES be fired for normal users depending on navigation
* afterUpdateRedirectActive
* afterUpdateRedirectActive

Revision as of 12:18, 15 November 2013

Methods and events

Form events fires different actions during execution of a solution

LIST level event hooks are

   public String appendListPageHead() { return ""; }
   public String appendListPageFoot() { return ""; }
   public void beforeSelectList() throws Exception {}    
   public void beforeRenderList() throws Exception {}       

ITEM level event hooks are

   public String appendItemPageHead() { return ""; }    
   public String appendItemPageFoot() { return ""; }    
   public void beforeSelectItem() throws Exception {}    
   public void beforeChangeItem() throws Exception {}
   public void beforeUpdateItem() throws Exception {}
   public void beforeRenderItem() throws Exception {}    
   public void afterUpdateItem() throws Exception {   return false; }
   
   public boolean afterUpdateRedirectActive() {   return false; }
   public String afterUpdateRedirectContent()   {   return null;    }


LIST execution order

  1. beforeSelectList
  2. Gather form data from database
  3. beforeRenderList
  4. Return form to user

ITEM execution order: viewing data

  1. beforeSelectItem
  2. Gather form data from database
  3. beforeRenderItem
  4. Return form to user


ITEM execution order: posting data

  1. beforeSelectItem
  2. Gather form data from database
  3. beforeChangeItem
  4. Update field values
  5. beforeUpdateItem
  6. Write changes to database
  7. afterUpdateItem
  8. Display result
  9. IF NO OTHER ACTION:
    • afterUpdateRedirectActive /

Event firing

Event firing global

The following events are ALLWAYS fired

  • beforeSelectList
  • beforeSelectItem
  • beforeChangeItem
  • beforeUpdateItem
  • afterUpdateItem

Event firing in UI (reserved for normal users)

The following events will NOT be fired during imports etc.

  • appendListPageHead
  • appendListPageFoot
  • beforeRenderList
  • appendItemPageHead
  • appendItemPageFoot
  • beforeRenderItem

Event firing in UI depending on user actions

The following events are SOMETIMES be fired for normal users depending on navigation

  • afterUpdateRedirectActive
    • Not executed in SUBFORM mode
    • Not executed in during imports etc.
  • afterUpdateRedirectContent
    • Depends on a TRUE result from afterUpdateRedirectActive()