Difference between revisions of "Script Callout"
From ADempiere
This Wiki is read-only for reference purposes to avoid broken links.
m (→Configure Callout from Table/Column: link to Script Process example) |
|||
Line 7: | Line 7: | ||
Within the script you can use: | Within the script you can use: | ||
− | * Window context variables start with a single | + | * Window context variables start with a single dollar sign $ |
− | * Login context variables start with two | + | * Login context variables start with two dollar signs $$ |
− | * Parameters for callout start with three | + | * Parameters for callout start with three dollar signs $$$ |
− | ** | + | ** $$$WindowNo |
− | ** | + | ** $$$Tab |
− | ** | + | ** $$$Field |
− | ** | + | ** $$$Value |
− | ** | + | ** $$$OldValue |
Line 34: | Line 34: | ||
On the Rule Script: | On the Rule Script: | ||
− | if | + | if $$$Tab.getValue("Name") != null) { |
− | + | $$$Tab.setValue("Description", $$$Tab.getValue("Name")); | |
} | } | ||
result = ""; | result = ""; |
Revision as of 11:33, 26 January 2008
Contents
Status
- Testing for Next Release 340 - January, 2008
- A real huge contribution from Carlos Ruiz, Quality Systems & Solutions (QSS), Colombia
- Now it can work with any java scripting language such as Groovy and Jython, thanks to Víctor Pérez, E-Evolution (Libero), Mexico
Creating the Rule
Within the script you can use:
- Window context variables start with a single dollar sign $
- Login context variables start with two dollar signs $$
- Parameters for callout start with three dollar signs $$$
- $$$WindowNo
- $$$Tab
- $$$Field
- $$$Value
- $$$OldValue
Configure Callout from Table/Column
- This Callout can also be called from the Report & Process Window. Just remember to set in the Rule window from which Event Type are you calling this Rule Script.
Sample Code provided for copy/paste testing
On the Table and Column, callout reference:
@script:beanshell:BP_fillDescriptionFromName
On the Rule Search Key:
beanshell:BP_fillDescriptionFromName
On the Rule Script:
if $$$Tab.getValue("Name") != null) { $$$Tab.setValue("Description", $$$Tab.getValue("Name")); } result = "";
Scripting Languages
- Now standard Adempiere has uploaded jars to work with groovy, jython and beanshell
- to call a script from a Callout follow these sample syntax:
- @script:beanshell:ValidateQtyOnHand
- @script:groovy:ValidateQtyOnHand
- @script:jython:ValidateQtyOnHand
- When you create the rule, you have to set in the Search Key such as:
- Search Key : beanshell:ValidateQtyOnHand
- Search Key : groovy:ValidateQtyOnHand
- Search Key : jython:ValidateQtyOnHand
- Set the Event Type as Callout and Rule Type as JSR 223 Scripting APIs
See Also
- Script Process for event rule example from a Report & Process window.
- Script ModelValidatorLogin
- Rule Engine Implementation
- Java Scripting