Procedures

From nuBuilderForte
Jump to navigation Jump to search

Back to Documentation

Introduction

nuBuilder Forte can create Procedures.

A Procedure is PHP code run to manipulate the database.


Building a Procedure

Procedures are written in PHP to do things to the database directly.

Here are 2 examples of where a Procedure can be used.

  1. To create the table used in a Report.
  2. Update a stock table after an invoice is created in nuBuilder.

Code

A unique code for this Procedure.

Description

The description of this Procedure.

Group

A field that can be used to help order Procedures in a list.

Launch From

This is only necessary if you need it to...

  • Run it from the Run Procedure Button.
  • Reference Hash Cookies from a certain Edit Form.

It can still be used by nuProcedure().

A Launch Form will allow...

  • The user to define the information to be used by the Procedure.
  • Run the Procedure from an Action Button at the top of the Form.

Run

  • In a new window - Appears in a new window much the same as a Report.
  • Hidden - This runs behind the scenes but can display a result using nuDisplayMessage

PHP

A Textarea containing PHP code.

This code can also use Hash Cookies that will help you customise nuBuilder.

To edit this, double click on the Textarea and you will open Ace Editor in a full screen.

Running A Procedure

There are 2 ways to launch a Procedure.

  1. Click the Run Procedure Button on the Setup Tab of the Home Form.
  2. Create a Button with a custom click event to run nuRunHiddenPHP or nuRunPHP.

Adding PHP Elsewhere

PHP can be added to run in different places on Forms or Lookups.

These events are used to do different customisable tasks and are run at specific times.

Yes and No is decided by nuDisplayError() in the flowchart below.


EventFlow.PNG

Forms

Generally each event is used for different purposes.

Before Browse

  • Create a temp table to use as the browsable table.
  • Add Javascript to the Browse Form with nuAddJavascript().
  • Forum Post: Added nuOnProcessBrowseRows() in nuBuilder v4.5 on 2021-04-01
    • Example: Replace all 1 in column 1 with a ✓ character.
function nuOnProcessBrowseRows() {

   for($i = 0 ; $i < count($f->browse_rows) ; $i++){

      if ($f->browse_rows[$i][1] == '1') {
          $f->browse_rows[$i][1] = '✓';
      }
   }
}

Before Edit

Before Save

  • Check if saving is allowed.
  • Validate data entry.

After Save

  • Update other tables.

Before Delete

  • Check if deleting is allowed.
  • Update other tables.

After Delete

  • Update other tables.

Lookups

After Browse

This runs after a Lookup Object is changed.