摘要: Linux多线程与同步作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!典型的UNIX系统都支持一个进程创建多个线程(thread)。在Linux进程基础中提到,Linux以进程为单位组织操作,Linux中的线程也都基于进程。尽管实现... 阅读全文
posted @ 2014-05-02 12:27 cnshen 阅读(179) 评论(0) 推荐(0) 编辑
摘要: Linux从程序到进程作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!计算机如何执行进程呢?这是计算机运行的核心问题。即使已经编写好程序,但程序是死的。只有活的进程才能产出。我们已经从Linux进程基础中了解了进程。现在我们看一下从... 阅读全文
posted @ 2014-05-02 12:24 cnshen 阅读(207) 评论(0) 推荐(0) 编辑
摘要: Linux用户与“最小权限”原则作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!Linux的用户在登录(login)之后,就带有一个用户身份(user ID,UID)和一个组身份(group ID,GID)。在Linux文件管理背景... 阅读全文
posted @ 2014-05-02 12:04 cnshen 阅读(232) 评论(0) 推荐(0) 编辑
摘要: Linux进程关系作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!Linux的进程相互之间有一定的关系。比如说,在Linux进程基础中,我们看到,每个进程都有父进程,而所有的进程以init进程为根,形成一个树状结构。我们在这里讲解进... 阅读全文
posted @ 2014-05-02 12:02 cnshen 阅读(170) 评论(0) 推荐(0) 编辑
摘要: Linux信号基础作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!Linux进程基础一文中已经提到,Linux以进程为单位来执行程序。我们可以将计算机看作一个大楼,内核(kernel)是大楼的管理员,进程是大楼的房客。每个进程拥有一... 阅读全文
posted @ 2014-05-02 12:00 cnshen 阅读(104) 评论(0) 推荐(0) 编辑
摘要: Linux进程基础作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!计算机实际上可以做的事情实质上非常简单,比如计算两个数的和,再比如在内存中寻找到某个地址等等。这些最基础的计算机动作被称为指令(instruction)。所谓的程序(... 阅读全文
posted @ 2014-05-02 11:57 cnshen 阅读(113) 评论(0) 推荐(0) 编辑
摘要: Linux文本流作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!文本流文件用于数据的存储,相当于一个个存储数据的房子。我们之前说,所谓的数据是0或者1的序列,但严格来说,Linux以字节(byte)来作为数据的单位,也就是说这个序列... 阅读全文
posted @ 2014-05-02 11:53 cnshen 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 1.安装 mysql ,安装过程中将提示设置 root 用户的密码,默认可以设置为 rootadmin 。$ sudo apt-get install mysql-server2.安装 mysql 开发工具(不安装时,安装 MySQL-python 提示错误"mysql_config not fou... 阅读全文
posted @ 2014-04-30 14:25 cnshen 阅读(1147) 评论(0) 推荐(0) 编辑
摘要: Linux文件管理相关命令作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!在了解了Linux文件管理背景知识之后, 我们可以学习一些命令来管理我们的文件。文件操作相关有一些命令可以帮助我们"修剪"之前看到的文件树。$touch a.... 阅读全文
posted @ 2014-04-27 20:38 cnshen 阅读(133) 评论(0) 推荐(0) 编辑
摘要: Linux命令行与命令作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!Linux的命令是很重要的工具,也往往是初学者最大的瓶颈。有朋友用了很长时间的Linux图形界面,基本不使用命令行输入命令执行,所以装的Linux最终成了摆设。这... 阅读全文
posted @ 2014-04-27 20:36 cnshen 阅读(116) 评论(0) 推荐(0) 编辑
摘要: Linux架构作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!我们以下图为基础,说明Linux的架构(architecture)。(该图参考《Advanced Programming in Unix Environment》)最内层... 阅读全文
posted @ 2014-04-27 20:33 cnshen 阅读(120) 评论(0) 推荐(0) 编辑
摘要: Linux文件管理作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!对于计算机来说,所谓的数据就是0和1的序列。这样的一个序列可以存储在内存中,但内存中的数据会随着关机而消失。为了将数据长久保存,我们把数据存储在光盘或者硬盘中。根据我... 阅读全文
posted @ 2014-04-27 20:31 cnshen 阅读(117) 评论(0) 推荐(0) 编辑
摘要: Linux开机启动(bootstrap)作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!计算机开机是一个神秘的过程。我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面。然而,计算机开机又是个异常脆弱的过程... 阅读全文
posted @ 2014-04-27 20:29 cnshen 阅读(121) 评论(0) 推荐(0) 编辑
摘要: Linux简介与厂商版本作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!1. Linux简介Linux可以有狭义和广义两种定义。狭义来说,Linux实际上指Linux kernel (内核)。内核负责管理硬件,并为上层应用提供接口。... 阅读全文
posted @ 2014-04-27 20:27 cnshen 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Python标准库02 时间与日期 (time, datetime包)作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!Python具有良好的时间和日期管理功能。实际上,计算机只会维护一个挂钟时间(wall clock time),这... 阅读全文
posted @ 2014-04-27 12:54 cnshen 阅读(152) 评论(0) 推荐(0) 编辑
摘要: Python标准库01 正则表达式 (re包)作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!我将从正则表达式开始讲Python的标准库。正则表达式是文字处理中常用的工具,而且不需要额外的系统知识或经验。我们会把系统相关的包放在后面... 阅读全文
posted @ 2014-04-27 12:35 cnshen 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 1.下载安装 python 安装工具,下载地址:http://pypi.python.org/pypi/setuptools ,可以找到正确的版本进行下载。2.解压缩后双击 ez_setup.py 进行安装,相关文件将自动安装至当前 python 版本的 scripts 目录下,如:C:\Python27\Scripts 。(或在 cmd 下执行 python ez_setup.py ,即可自动安装 setuptools )。3.安装 python 模块时,首先 cmd 进入 C:\Python27\Scripts 目录,执行安装命令,如安装 phonenumbers 模块时执行 " 阅读全文
posted @ 2013-07-29 23:37 cnshen 阅读(12603) 评论(0) 推荐(0) 编辑
摘要: 1.检查业务逻辑中的错误,终止代码执行,显示错误或警告信息: raise osv.except_osv(_('Error!'), _('Error Message.'))示例代码: #删除当前销售单,需要验证销售单的状态 def unlink(self, cr, uid, ids, context=None): for rec in self.browse(cr, uid, ids, context=context): if rec.state not in ['draft']: raise osv.except_o... 阅读全文
posted @ 2013-07-22 21:46 cnshen 阅读(2876) 评论(0) 推荐(1) 编辑
摘要: 1.多对一(一对一)关系:采购单与供应商之间的关系 'partner_id':fields.many2one('res.partner', 'Supplier', required=True, states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)],'done':[('readonly',True)]}, change_default=True, track_vis 阅读全文
posted @ 2013-07-16 23:26 cnshen 阅读(4866) 评论(1) 推荐(2) 编辑
摘要: 1.webkit 打印需要安装的支持模块 请首先安装 Webkit 报表引擎(report_webkit),再安装 Webkit 报表的支持库(report_webkit_lib),该模块讲自动安装和设置 wkhtml2pdf 的路径。 另外,安装 oecn_base_fonts 模块可解决打印中文 阅读全文
posted @ 2013-07-16 22:24 cnshen 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 1.在Action中定义,context用于传递搜索条件和分组条件,在搜索视图中默认显示:示例代码: Leaves Summary hr.holidays form tree,form {'search_default_group_type': 1, 'search_default_validated': 1} [('holiday_type','=','employee')] View... 阅读全文
posted @ 2013-07-14 19:58 cnshen 阅读(3066) 评论(2) 推荐(0) 编辑
摘要: 1.在Action中定义,domain用于对象默认的搜索条件:示例: Sales Orders ir.actions.act_window sale.order form tree,form,calendar,graph {} [('state','not in',('draft','sent','cancel'))] C... 阅读全文
posted @ 2013-07-14 12:43 cnshen 阅读(4603) 评论(1) 推荐(0) 编辑
摘要: 深入理解报表运行机制原文:http://blog.sina.com.cn/s/blog_57ded94e01014ppd.html1) OpenERP报表的基本运行机制OpenERP报表的一般定义语法是:这个定义的含义是,在对象hr.holidays上增加报表操作(model="hr.holidays"),该报表操作的显示字符是C2C Demo Report(string="C2C Demo Report"),当用户点击该操作字符(C2C Demo Report),系统调用名为sandbox_c2c_reporting_tools(name=" 阅读全文
posted @ 2013-07-14 10:49 cnshen 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 深入理解工作流(Workflow)原文:http://shine-it.net/index.php/topic,2494.0.html一、工作流定义: workflow.name resource.model True | False model:固定取值"workflow"id:任意值,唯一标识本工作流name: 工作流的名称,任意定义osv: 本工作流关联的对象类型,是OpenERP模块中定义的某对象名,如采购单对象(purchase.order)。是本工作流处理的数据对象。on_create:每当系统新产生一个osv 中定义的对象的实例时候,是否对应的产生一个和该对象 阅读全文
posted @ 2013-07-12 23:04 cnshen 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 对象的预定义方法原文:http://shine-it.net/index.php/topic,2159.15.html每个OpenERP的对象都有一些预定义方法,这些方法定义在基类osv.osv中。这些预定义方法有:基本方法:create, search, read, browse, write, unlink。 def create(self, cr, uid, vals, context={}) def search(self, cr, uid, args, offset=0, limit=2000) def read(self, cr, uid, ids, fields=None,... 阅读全文
posted @ 2013-07-12 22:53 cnshen 阅读(657) 评论(0) 推荐(0) 编辑
摘要: 深入理解对象(转载)原文地址:http://shine-it.net/index.php/topic,2159.0.htmlhttp://blog.sina.com.cn/s/blog_57ded94e01014pmk.html一切都是对象OpenERP的所有资源(Resource)都是对象,如 menus, actions, reports, invoices, partners 等等。换言之,在OpenERP中,一个菜单项,一个弹出窗口,其实都是一条数据库记录。OpenERP运行时,从数据库读出“菜单项”记录,根据该记录的信息,在屏幕上显示菜单项及其子菜单项。因此,理论上,可以不写代码,而 阅读全文
posted @ 2013-07-12 22:02 cnshen 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 示例1: # -*- encoding: utf-8 -*-import poolerimport loggingimport netsvcimport toolslogger = netsvc.Logger()import datetimeimport timeimport mathfrom os 阅读全文
posted @ 2013-07-12 08:49 cnshen 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 字段定义详解原文地址:http://shine-it.net/index.php/topic,2159.0.htmlhttp://blog.sina.com.cn/s/blog_57ded94e01014pm9.htmlOpenERP对象支持的字段类型有,基础类型:char, text, boolean, integer, float, date, time, datetime, binary;复杂类型:selection, function, related;关系类型:one2one, one2many, many2one, many2many。下面逐一说明。boolean: 布尔型(tru 阅读全文
posted @ 2013-07-08 13:14 cnshen 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 示例代码1,ir_action_window.read : # -*- coding: utf-8 -*-from openerp.osv import fields,osv class res_users(osv.osv): _name = 'res.users' _inherit = 'res. 阅读全文
posted @ 2013-07-02 15:34 cnshen 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 对象定义详解原文地址:http://shine-it.net/index.php/topic,2159.0.htmlhttp://blog.sina.com.cn/s/blog_57ded94e01013xa9.html本连载准备详细解密OpenERP的对象定义,内容包括深入理解OpenERP的对象,对象详细定义、字段详细定义、对象的预定义方法、OpenERP的Services等部分,力求每一部分都详细说明。要完全理解OpenERP的开发,需要理解这么几个部分:OpenERP的对象,OpenERP的视图及Action,OpenERP的Workflow,OpenERP的Report。理解了这几部 阅读全文
posted @ 2013-07-02 13:39 cnshen 阅读(738) 评论(0) 推荐(0) 编辑
摘要: 删除菜单示例: <delete id="base.menu_module_updates" model="ir.ui.menu"/><delete id="base.module_mi" model="ir.ui.menu"/> 阅读全文
posted @ 2013-07-01 14:03 cnshen 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 获取工作流服务:wf_service = netsvc.LocalService("workflow")删除对象对应记录的工作流:wf_service.trg_delete(uid, 'kl.qingjd', id, cr) #传入对象名称,对象ID创建对象对应记录的工作流:wf_service.t 阅读全文
posted @ 2013-07-01 13:56 cnshen 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 小数位数标识定义: lx_purchase/data/lx_purchase_data.xml <?xml version="1.0" encoding="utf-8"?><openerp> <data noupdate="1"> <record forcecreate="True" id="dec 阅读全文
posted @ 2013-07-01 13:46 cnshen 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 跟踪状态基础数据: kl_qingjd/kl_qingjd_data.xml <?xml version="1.0"?><openerp> <data noupdate="1"> <!-- kl_qingjd-related subtypes for messaging / Chatter --> 阅读全文
posted @ 2013-07-01 13:20 cnshen 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 计算字段、关联字段,对象修改时自动变更保存(当 store=True 时),当 store=False 时,默认不支持过滤和分组7.0中非计算字段、关联字段只读时无法修改保存的问题暂未解决 示例代码: class dispatch_work_order(osv.osv): _name="dispat 阅读全文
posted @ 2013-07-01 13:12 cnshen 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 1.对象继承 _inherit = "product.product"继承产品对象,给产品对象添加字段或方法,不需要设置 _name、_table 等属性注意:当继承后的子类不定义 _name 属性,则相当于在父类中增加字段和方法,并不创建新对象 当继承后的子类重新定义 _name 属性,则创建一个新的对象,新对象拥有父类中所有的字段和方法,父类不受任何影响。 _inherits = {'product.template': 'product_tmpl_id'}继承产品模版对象,创建新的产品对象,产品对象与产品对象之间建立多对一关联关系,产品 阅读全文
posted @ 2013-07-01 13:01 cnshen 阅读(1949) 评论(0) 推荐(0) 编辑
摘要: 支持的视图类型:form、tree、search ...支持的定位方法: 支持的规则:before、after、replace、inside、attributes插入:position='before'position="after" 0" icon="terp-accessories-archiver+" domain="[('qty_available', '>', 0)]"/> 0" icon="terp-accessories-archi 阅读全文
posted @ 2013-07-01 08:35 cnshen 阅读(3025) 评论(0) 推荐(0) 编辑
摘要: wizard:用于确认或选择 wizard/sale_multi_action.py # -*- encoding: utf-8 -*-from openerp.osv import fields, osvfrom openerp.tools.translate import _ #用于翻译代码中的 阅读全文
posted @ 2013-06-30 13:37 cnshen 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 待解决:图形中当改变分组时,图例不正确 存储比率计算时,分组合计不正确 wizard:过滤条件向导,用于输入过滤条件 wizard/sale_chart.py # -*- coding: utf-8 -*-from openerp.osv import fields, osvimport datet 阅读全文
posted @ 2013-06-29 16:39 cnshen 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 表格行颜色: <tree string="请假单列表" colors="red:state == 'refuse';blue:state == 'draft';black:state in ('confirm','validate')"> <tree string="Meeting" colors= 阅读全文
posted @ 2013-06-28 13:11 cnshen 阅读(566) 评论(0) 推荐(0) 编辑