Difference between revisions of "ZH/Case-Study-01-Journal-31"

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.
(Created page with '<返回中文首页> <返回本案例研究首页> =实施日志-31-脚本编写与Rule引擎= * 本文属于[[ZH/Case-Study-01|机械装备制…')
 
(Rule Engine下写脚本)
Line 26: Line 26:
  
 
   org.compiere.util.DB.executeUpdate(sql, A_TrxName);
 
   org.compiere.util.DB.executeUpdate(sql, A_TrxName);
 +
 +
* 学习了HumanFlash的动画视频,做了两篇笔记。见[http://bbs.erp100.com/thread-92283-1-1.html ADempiere教学动画学习笔记-脚本编写]
 
* 相关链接:
 
* 相关链接:
 
** [[Script Callout]]
 
** [[Script Callout]]
Line 41: Line 43:
  
 
   javax.swing.JOptionPane.showMessageDialog(null,"Doing something in Callout!");
 
   javax.swing.JOptionPane.showMessageDialog(null,"Doing something in Callout!");
 
  
 
=链接=
 
=链接=

Revision as of 06:30, 25 December 2010

<返回中文首页> <返回本案例研究首页>

实施日志-31-脚本编写与Rule引擎


2010-12-16

Rule Engine与脚本

  • 今天开始学习和探索Rule Engine(引擎)的Script(脚本编程)。
  • 主要目的:从于从RfQ(询价单)创建Purchase Request(采购申请)。
  • 介绍:ADempiere的Rule窗口可以写脚本,集成了BeanShell。
  • ADempiere的Rule Engine要用到BeanShell,于是了解了一下BeanShell。
  • 相关链接:

讨论栏

2010-12-17

Rule Engine下写脚本

  • 今天把Rule Engine(引擎)的Script弄清楚了。
  • Script Callout主要用于窗体,Script Process主要用于Process。
  • 对于从 询价单 生成 采购申请单,可以利用Script Process执行SQL语句来实现。
 org.compiere.util.DB.executeUpdate(sql, A_TrxName);

脚本使用体会

  1. 优点:脚本的功能很强大。同时脚本既不需要重新编译ADempiere源代码,也不需要重新布署ADempiere服务器,因为脚本规则都存储在数据库中了。
  2. 缺点:不容易进行错误调试。我今天测试的Script当中有个SQL语句语法错误,居然没有任何报错。

对Rule Engine的疑问

  • Rule Engine为什么要区分成不同Event Type?比如Callout与Process,为什么不合并在一起?
  • Rule Engine的Rule Type为什么是JSR 223 Scripting APIs,而不是BeanShell官方网站上JSR 274?
  • A_TrxName的TrxName是什么意思?
  • Rule Engine中能否实现弹出对话框?代码什么?
    • 后来找到一段代码,不过尚未测试:
 javax.swing.JOptionPane.showMessageDialog(null,"Doing something in Callout!");

链接