系统接入点

 

系统接入点是指系统在运行时,可以通过脚本来进行控制的地方。比如点菜功能中,如果菜品的单价不是固定的,而是根据人员或部门分别有不同的单价。那么可以通过“系统接入点”来进行控制。一个“系统接入点”就是一个任务。通过任务脚本来进行定制。比如当定义了一个代码为“wiseoa_system_get_foot_price”的任务,那么点菜时,菜品的单价就由该任务的返回值进行控制。

 

系统当前支持如下接入点:

接入点描述 执行时机

任务代码

参数 返回值
菜品的单价 点菜时 wiseoa_system_get_foot_price var p=JSON.parse(args); p.foodid表示的当前的菜品的ID 返回菜单的单价
特殊的新闻查询 进入新闻查询页 news_search.jsp wiseoa_system_get_more_search_link 无意义 返回一段 HTML代码,该代码会展示在新闻查询中的特定搜索下
新闻维护的权限控制 在对新闻进行“审核”“置顶”“精华”,“锁定”,“标题修饰”时 wiseoa_news_do_something

var p=JSON.parse(args);

p.action表示在做什么操作
p.news 是新闻ID,如果是多个ID,那么用英文逗号分隔

返回 true表示允许执行该操作,false表示禁止操作
系统备份时控制表是否参与备份 当执行备份时,系统会对每张表执行一次“询问”,如果返回 false则表明此表不需要备份 wiseoa_system_exporttable_needed

var p=JSON.parse(args);

p.path 表示当前备份到的目录

p.table 表示当前备份的表

返回 true表示需要备份,返回false 表示此表不需要备份
备份完成时 备份完成后可以执行一些操作 wiseoa_system_backup_end

var p=JSON.parse(args);

p.path 表示当前备份到的目录

示例:

function main(arg)
{
var p=JSON.parse(arg);
var path=p.path;
dirZip( path , "d:/aa.zip");

}

无需返回值
单据审核或取消审核,或工作结束或撤销结束时 单据审核或取消审核,或工作结束或撤销结束时 wiseoa_system_work_or_bill_state_change

参数:
var p=JSON.parse(args);

p.table 哪个表
p.id 记录的ID
p.action :可以如下值

  • verify 表示单据审核,
  • unverify表示单据取消审核 ,
  • over 表示工作结束,
  • unover表示工作撤销结束

 

无需返回值
树形代码项目删除 在树形代码删除前触发 wiseoa_system_treecode_deletecheck

参数:
var p=JSON.parse(args);

p.table 哪个代码表

p.ids 被删除的代码记录的ID,多个ID之前用英文逗号分隔

如果返回空字符串,表示允许删除。如果返回非空字符串,则该信息会显示给客户端,并终止删除操作。
树形代码修改 在树形代码修改后触发 wiseoa_system_treecode_changed

参数:
var p=JSON.parse(args);

p.table 哪个代码表

p.ids 被修改的代码记录的ID数组 

p.cols 被修改的字段名数组 

 

 

示例:

 

需求:根据不同的人员,可能存在一些特殊的新闻查询需求。

操作步骤 :

1 增加一个任务高度,设置任务的代码为:wiseoa_system_get_more_search_link

 

2 编辑脚本:

 

function main(arg)
{
var userid=currentUserId();
if( userid==1)
{
var url=safeURL("news_search.jsp?urlwhere= subject_id=2857 and not exists (select id from news_news b where b.id_ref=news_news.id) and publish_date> sysdate-7 and assessor_id >0 ");
var html="<TR><TD height='24'><img src='image/edit.gif'></TD><TD align='left'>"+
"<A href='"+url+"'>等待审稿的工作动态</A></TD></TR>";
return html;
}else
{
return "";
}

}

 

3 运行效果: