Difference between revisions of "Script Callout"

From iDempiere en
(→‎Configure the callout: making clear also that R&P can Callout)
Line 19: Line 19:
 
[[Image:01_BeanShell.png]]
 
[[Image:01_BeanShell.png]]
  
= Configure the callout =
+
= Configure Callout from Table/Column=
  
 
[[Image:02_BeanShellCallout.png]]
 
[[Image:02_BeanShellCallout.png]]
  
 +
*This '''Callout''' can also be called from the '''Report * Process Window'''. Just remember to set in the '''Rule''' window from where are you calling this Rule Script.
  
 
= Sample Code provided for copy/paste testing =
 
= Sample Code provided for copy/paste testing =

Revision as of 04:14, 26 January 2008

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 underscore _
  • Login context variables start with two underscores __
  • Parameters for callout start with three underscores ___
    • ___WindowNo
    • ___Tab
    • ___Field
    • ___Value
    • ___OldValue


01 BeanShell.png

Configure Callout from Table/Column

02 BeanShellCallout.png

  • This Callout can also be called from the Report * Process Window. Just remember to set in the Rule window from where 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:vValidateQtyOnHand
  • Set the Event Type as Callout and Rule Type as JSR 223 Scripting APIs

See Also

Cookies help us deliver our services. By using our services, you agree to our use of cookies.