Difference between revisions of "Codeunit/Formevents"

From TempusServa wiki
Jump to navigation Jump to search
old>Admin
old>Admin
Line 3: Line 3:
Form events fires different actions during execution of a solution
Form events fires different actions during execution of a solution


LIST level event hooks are
=== LIST level event hooks ===


     public String appendListPageHead() { return ""; }
     public String appendListPageHead() { return ""; }
Line 11: Line 11:
     public void beforeRenderList() throws Exception {}       
     public void beforeRenderList() throws Exception {}       


ITEM level event hooks are
 
==== LIST execution order ====
# '''beforeSelectList'''
# Gather form data from database
# '''beforeRenderList'''
# Return list to user
 
 
=== ITEM level event hooks ===


     public String appendItemPageHead() { return ""; }     
     public String appendItemPageHead() { return ""; }     
Line 25: Line 33:
     public String afterUpdateRedirectContent()  {  return null;    }
     public String afterUpdateRedirectContent()  {  return null;    }


==== LIST execution order ====
# '''beforeSelectList'''
# Gather form data from database
# '''beforeRenderList'''
# Return list to user


==== ITEM execution order: viewing data ====
==== ITEM execution order: viewing data ====

Revision as of 13:23, 15 November 2013

Methods and events

Form events fires different actions during execution of a solution

LIST level event hooks

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


LIST execution order

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


ITEM level event hooks

   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;    }


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. if NO OTHER ACTION:
    • afterUpdateRedirectActive
    • if TRUE
      • afterUpdateRedirectContent
  9. Return content to user

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()