示例代码:

data/scheduler.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data
noupdate="0">
       
<record forcecreate="True"
id="ir_cron_dispatch_service_card_scheduler_action"
model="ir.cron">
           
<field
name="name">自动更新服务卡过期状态</field>
           
<field eval="True" name="active"
/>
           
<field name="user_id"
ref="base.user_root"/
>
           
<field
name="interval_number">12</field>
           
<field
name="interval_type">hours</field>
           
<field
name="numbercall">-1</field>
           
<field eval="True"
name="doall"/
>
           
<field eval="'dispatch.service_card'"
name="model"/>
           
<field eval="'process_change_state'"
name="function"/
>
           
<field eval="'()'"
name="args"/>
           
<field
name="priority">0</field>
       
</record>
    </data>
</openerp>

service_card.py

    #自动更新服务卡过期状态,每天早上自动执行一次
    def
process_change_state(self, cr, uid, ids=None,
context=None):
       
service_card_ids=self.search(cr,uid,[("state","=",'1')],
context=context)
        if
service_card_ids:
           
DATE_FORMAT =
"%Y-%m-%d"
           
try:
               
for rec in self.browse(cr, uid, service_card_ids,
context=context):
                   
if  rec.remaining_times == 0:
#已用完
                       
self.write(cr, uid, rec.id,
{'state':'2'})
                   
elif rec.due_date < datetime.datetime.strftime(datetime.date.today(),
DATE_FORMAT):
#已过期
                       
self.write(cr, uid, rec.id,
{'state':'3'})
           
except
Exception:
                
_logger.exception("更新服务卡过期状态出现异常!(dispatch.service_card.process_change_state)")
       
return False

backup_data.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data
noupdate="1">
       
<record forcecreate="True"
id="ir_cron_dispatch_auto_backups_scheduler_action"
model="ir.cron">
           
<field
name="name">自动备份数据库</field>
           
<field eval="True" name="active"
/>
           
<field name="user_id"
ref="base.user_root"/>
           
<field
name="interval_number">8</field>
           
<field
name="interval_type">hours</field>
           
<field
name="numbercall">-1</field>
           
<field eval="False"
name="doall"/>
           
<field eval="'db.backup'"
name="model"/>
           
<field eval="'schedule_backup'"
name="function"/>
           
<field eval="'()'"
name="args"/>
           
<field
name="priority">0</field>
       
</record>
    </data>
</openerp>

openerp学习笔记 计划动作、计划执行(维护计划)的更多相关文章

  1. JVM学习笔记:字节码执行引擎

    JVM学习笔记:字节码执行引擎 移步大神贴:http://rednaxelafx.iteye.com/blog/492667  

  2. Linux学习笔记之Linux计划任务Crontab

    0x00 cron 简介 cron 是 UNIX, SOLARIS,LINUX 下的一个十分有用的工具.通过 cron 脚本能使计划任务定期地在系统后台自动运行. 0x01 cron 命令 cront ...

  3. 重温JSP学习笔记--JSP动作标签

    上一篇笔记写的是jsp的三个指令九个内置对象,这篇随笔开始写jsp的动作标签,动作标签是由服务器(Tomcat)来解释执行,与java代码一样,都是在服务器端执行的,jsp动作标签有十几多个,这里只写 ...

  4. AMQ学习笔记 - 11. Spring-JmsTemplate之执行

    概述 前面我们分别介绍了发送.接收和浏览,这三个的实现都依赖于将要介绍的执行. 执行算是一个相对比较底层的方法系列,一般情况下,我们不需要直接面向将要介绍的方法. 执行 1.关于回调接口 在讲执行之前 ...

  5. openerp学习笔记 模块结构分析

    以OpenERP7.0中的 hr_expense 模块为例: 如图中代码所示: __init__.py :和普通 Python 模块中的__init__.py 作用相同,主要用于引用模块根目录下的.p ...

  6. 1.2(学习笔记) JSP动作元素

    动作元素 jsp:useBean:根据指定类实例化一个对象,类似Preson per = new Preson(); <jsp:useBean id="对象名" class ...

  7. Linux学习笔记(三):系统执行级与执行级的切换

    1.Linux系统与其它的操作系统不同,它设有执行级别.该执行级指定操作系统所处的状态.Linux系统在不论什么时候都执行于某个执行级上,且在不同的执行级上执行的程序和服务都不同,所要完毕的工作和所要 ...

  8. 《Linux内核设计的艺术》学习笔记(六)执行setup.s

    参考资料 1. 8259A可编程中断控制器 jmpi , SETUPSEG // 0x90200 到这里,bootsect.s的执行就算结束了.控制权转移到了setup.s文件的手中. setup程序 ...

  9. spring学习笔记--quartz和定时任务执行

    前言: 最近要写一个定时任务, 用于同步数据. 以往这种涉及数据库操作的定时脚本, 都会采用python+crontab的方式来实现. 这次画风大转, 决定试试用spring+quartz来实现一下. ...

随机推荐

  1. SQL语句复习【专题七】

    SQL语句复习[专题七] 完整性约束分类1)域完整性约束(非空not null,检查check)2)实体完整性约束(唯一unique,主键primary key)3)参照完整性约束(外键foreign ...

  2. visio连接线随形状移动自动伸缩

    粘附可保持形状和连接线彼此依附.粘附打开时,可在移动形状时保持连接线跟着一起移动.粘附关闭时,移动形状时连接线将不会跟着移动. 1.在“视图”选项卡上的“视觉帮助​​”组中,单击对话框启动器 . 2. ...

  3. 【vue lazyload】插件的使用步骤

    VUE图片懒加载-vue lazyload插件的简单使用

  4. docker安装kafka快速入门

    docker安装kafka快速入门 1.安装zookeeper docker search zookeeperdocker pull zookeeperdocker run -d -v /home/s ...

  5. (五) 结构化查询语言SQL——3

    4. 数据更新 1)增 对应INSERT语句.格式为INSERT INTO T[(A1,…,Ak)]  VALUES (C1,…,Ck),其中A代表表T的属性,C代表常量,A可以缺省,此时C必须严格按 ...

  6. Winforms界面开发DevExpress v19.2:Map、Pivot Grid等功能增强

    DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅.美观且易于使用的应用程序.无论是Office风格的界面,还是分析处理大批量的业务数据,DevExpr ...

  7. 一款强大的Visual Studio插件!CodeRush v19.1.9全新来袭

    CodeRush是一个强大的Visual Studio® .NET 插件,它利用整合技术,通过促进开发者和团队效率来提升开发者体验.CodeRush能帮助你以极高的效率创建和维护源代码.Consume ...

  8. hdu 6059 Kanade's trio

    题 OwO http://acm.hdu.edu.cn/showproblem.php?pid=6059 解 由于每个数字最多是30位,枚举数字每一位考虑, 建一棵记录前缀(位的前缀,比如10拆成10 ...

  9. 【Python之路】特别篇--多线程与多进程

    并发 与 并行 的区别: 解释一:并发是在同一实体上的多个事件,并行是在不同实体上的多个事件: 解释二:并发是指两个或多个事件在同一时间间隔发生,而并行是指两个或者多个事件在同一时刻发生. 并发:就是 ...

  10. word粘贴图片到ekitor

    最近公司做项目需要实现一个功能,在网页富文本编辑器中实现粘贴Word图文的功能. 我们在网站中使用的Web编辑器比较多,都是根据用户需求来选择的.目前还没有固定哪一个编辑器 有时候用的是UEditor ...