OpenERP Web Reference Documentation 文档翻译---在附件。(js test 以及一些6.1-7.0的changelog,8.0新内容没有翻译)
这个文档是OpenERP开发中 的web客户端部分,结合OpenERP Server Developers Documentation [检测到链接无效,已移除] ,基本算完整开发文档了。
Web 开发文档 一开头的 web 培训文档,单独翻译在 [url [检测到链接无效,已移除] /rul]
OpenERP Web Reference Documentation 1
目录: 1
Basics 基础 3
Building an OpenERP Web module 创建一个OpenERP Web模块 3
A Basic Module 一个基本模块 3
Web Declaration Web声明 4
Getting Things Done 让js跑起来 5
Paint it black 画成黑的 9
Burning through the skies 让天空燃烧 17
Mic check, is this working? 麦克风测试,响不响? 23
API changes from OpenERP Web 6.1 to 7.0(译者:6.1到7的Web API变化。暂不翻译) 34
Supported browsers 34
DataSet -> Model 35
DataGroup -> also Model 36
Server-Side Web Framework 服务端Web框架(译者:像是8.0的,暂不翻译) 37
Web Controllers Web控制器 37
Controllers File 控制器文件 37
Controller Declaration 控制器声明 38
Pure HTTP Requests 纯HTTP请求 39
JSON Requests JSON请求 40
URL Patterns URL模式 40
Contacting Models 调用模型 41
Authorization Levels 验证级别 41
Overriding Controllers 重载控制器 42
Javascript 42
Guidelines and Recommendations 准则和建议 43
Web Module Recommendations Web模块建议 43
OpenERP Web guidelines OpenERP Web 准则 44
Widget 部件 45
DOM Root DOM根 46
DOM events handling DOM事件处理 50
Subclassing Widget 子类化widget 52
RPC Calls RPC调用 54
High-level API: calling into OpenERP models 高层API:调用model内部 55
Low-level API: RPC calls to Python side 底层API:RPC调用python端 62
Asynchronous Operations 异步操作 63
Deferreds 递延 64
QWeb 76
API 79
Directives 指令 82
Client actions 客户端动作 94
General Structure 通用结构 94
Testing in OpenERP Web Web测试 98
Javascript Unit Testing js单元测试 98
Writing a test case 编写测试用例 99
Assertions 断言 101
Getting an OpenERP instance 获得OpenERP实例 102
DOM Scratchpad 104
Loading templates 装载模版 104
Asynchronous cases 异步用例 106
RPC 远程调用 107
Testing API 测试API 112
Running through Python 通过Python运行 114
Views 视图 117
Search View 搜索视图 117
Working with the search view: creating new inputs 创建新输入 118
Loading defaults 装载默认 119
Providing completions 提供补全 120
Providing drawer/supplementary UI 提供抽屉/补充 UI 121
Converting from facet objects 从层面对象转换 122
Programmatic interactions: internal model 编程交互:内部模型 124
Field services 字段服务 128
Arbitrary data storage 任意数据存储 131
Changes 变更历史(译者:暂不翻译) 131
List View 列表视图 135
Style Hooks 样式钩子 135
Columns display customization 列显示自定义 138
Editable list view 可编辑列表视图 140
Editor 编辑器 148
Changes from 6.1 153
Notes on the usage of the Form View as a sub-widget 表单视图作为子widget使用的注意事项: 154
Undocumented stuff 未形成文档的东东: 154
Indices and tables 157
thm1118
-
OpenERP Web Reference Documentation 文档翻译 -
供应商预付款和销售预收款操作指南供应商预付款和销售预收款操作指南(完整图文版在附件)
概述:
预收/预付核心概念是在不开票的情况下,款项进入预收/预付科目。然后通过客户付款/供应商付款 功能进行核销,或者通过对账(手动/自动)进行核销。
付款收款可针对发票,也可针对客户或供应商。 面向发票付款、收款可部分多次或全额。 针对客户或供应商收款、付款是批量对发销售/采购凭证明细进行操作。
注:预收预付使用Account Prepayment模块(感谢www.elico-corp.com);感谢上海-Jeff指点,也参考了jeffery-陈帆 ([email protected])的采购付款文档;
一、供应商预付款:
供应商预付款分为:全额预付、部分预付两种。
核心概念是:先无票预付->再收票核销。预付款金额通过供应商付款功能进入预付账款。在收到供应商发票,确认生效后,核销预付账款、应付账款发票这两个科目。
核销方法有两种,一是用供应商付款,二是用手动对账或自动对账进行核销。
1、 下面先展示第二种做法,即手动对账:
手动对账更加有利于理解预付、应付这两个科目的关系。
A、全额预付:
采购单确认之前注意:
确认后,在会计供应商供应商付款里,为供应商付款:
注意:这里是预付,选中“使用预付/预收科目”,这样付款的对方科目就是 预付账款;付款信息内的借方留空(因为此时尚未有供应商发票)。点击保存、记账。
这就完成了采购订单的全额预付款。在后续业务中,还需要进行核销这笔预付。
当采购订单货物入库,供应商送来发票后,依据入库单生成发票,确定税率后,确认生效。此时发票处于“未付款”状态。
核销预付账款:
在会计周期性处理—>手动对账 中,选择预付科目和 对应的应付发票,点击对账按钮 进行核销
核销完成后,对应的发票的状态就是已付款。会计凭证中 就有了对账标记A2:
B、部分预付:
部分预付款和全额预付的区别是核销应付和预付时,会有差额,差额需要保留并打开,以便完成余款支付。在核销之前,业务操作上和全额预付都一样,对供应商付款(部分金额)进入预付账款科目,当收到发票,确认发票后,即可核销已经预付的金额。
核销已经预付的204元:
假设之前已经向供应商付了204元,此次开票总金额是408,选择这两项,点击对账:
点击 部分对账 按钮,则看到对账页面里的情况如下:
此时,通过供应商发票,或者供应商付款 功能,再向供应商付余款204,然后进入 手动对账功能:
选择三项,点击对账,则完成核销,供应商发票显示已支付。
2、供应商付款核销预付款
通过会计供应商供应商付款 功能可执行对供应商付款业务,与针对一张供应商发票付款不同,供应商付款功能可对一个供应商产生发票进行批量付款,同时也能核销预付账款中的预付金额。
比如一张采购单总金额60元,需要预付30元,待收起货后,同时收整单发票,付清余款。
业务操作上的预付30元和前文相同,在收齐商品后,依据收货单创建供应商发票,确认生效。进入 供应商付款,选择该供应商:
注意贷方里预付账款 30元,借方有60元需要核销,默认会自动分配了30元,如果在最上方总计内未填入支付金额,此时保存记账就是部分核销这30块,这样做,后面还需要再进行付款操作。
本次演示,就再支付30元,加上预付的30,就正好可以全部核销掉应付的60元:
保存并记账,就完成了这笔应付的余款付款,并同时与预付款核销。该采购发票与采购订单也将显示为已支付状态。
二、销售预收款:
销售预收 和供应商预付类似,单独进行收款,记到预收账簿上,再与开票后产生的应收核销。核销同样两种方式,对账或者直接在客户付款里面操作。
需要注意的是,电商模式下:票随货走,全额收款。这种情况不是预收款。做法是在销售单的 生成发票选项中选择 发运前。
这样,销售单不会立即生成出库单,而是等待开票和付款完成后,才生成出库单。
这里说的预收,通常是指发货后,根据需要开票给客户。开票的时机会不一样,因此开票的选项是 依据发货量。
另外,还有一种形式为预收,实际并不使用预收账款科目的方式,操作形式更简单,不需要手动对账核销。
下面分别描述两种预收操作。
对账方式的 全额预收或部分预收:
会计客户付款 ,登记一笔客户付款,注意选择 使用预付/预收科目。贷方凭证留空。
在发票开具生效后,可进行对账:
与供应商付款类似,选择应收和预付这两项,进行核销,如有差额,可部分对账。无差额,则对账完成,发票状态为已支付。
基于销售单开票的预收:
如果业务上,对开票时机并不关注,则还有更简单办法进行预付款,在销售单内的生成发票 选项中,选择根据需求:
确定订单后,直接根据订单创建发票:
弹出如下窗口:
选择 百分比,固定价格(押金),就相当于是预付款,假设预付了1500元:
生成的发票如下:
注意发票明细的科目 是主营业务收入,并没有关联具体某个订单行。
确认生效后,生成的凭证如下,名称中就包含了预付款描述,并且对应借方科目是 应收账款,而不是预收账款。
对这单张发票付款,完成预收。
此时销售单仍然可继续生成发票,在合适时机,点击生成发票:
如此时是收完余款,则选择 为整个销售订单开票.
注意,此时,自动抵扣了已经收取的1500元。只有剩下的1560元余款需要支付。 -
7.0开发文档的 "Need action mechanism" 部分已基本失效;D,除了那个函数参数外,看来是第二个坑爹地方了
-
如何获取客户端登录的IP地址(已解决)看了orm.py代码,没法通过继承简单漂亮的搞定了。里面代码写的比较乱。
明明定义了:<br /># Definition of log access columns, automatically added to models if<br /># self._log_access is True<br />LOG_ACCESS_COLUMNS = {<br /> 'create_uid': 'INTEGER REFERENCES res_users ON DELETE SET NULL',<br /> 'create_date': 'TIMESTAMP',<br /> 'write_uid': 'INTEGER REFERENCES res_users ON DELETE SET NULL',<br /> 'write_date': 'TIMESTAMP'<br />
但在添删改的时候,仍然:if self._log_access:<br /> upd0.append('write_uid=%s')<br /> upd0.append("write_date=(now() at time zone 'UTC')")<br /> upd1.append(user)<br /><br /> if len(upd0):<br /> self.check_access_rule(cr, user, ids, 'write', context=context)<br /> for sub_ids in cr.split_for_in_conditions(ids):<br /> cr.execute('update ' + self._table + ' set ' + ','.join(upd0) + ' ' \<br /> 'where id IN %s', upd1 + [sub_ids])<br /> if cr.rowcount != len(sub_ids):<br /> raise except_orm(_('AccessError'),<br /> _('One of the records you are trying to modify has already been deleted (Document type: %s).') % self._description)
[quote author=Tiger link=topic=8093.msg25803#msg25803 date=1386772631]
很棒。正打算写过登陆日志加验证码。
要想结构上更漂亮的话, 继承BaseModel,给每个类都自动加上ip字段,然后通过HttpReques ,context传入的ip地址,override create,write方法,自动写入 ip地址,类似writeid之类的系统字段。
这样所有表的日志的创建和写入就都有了,签入表也自动有了。
[/quote] -
如何获取客户端登录的IP地址(已解决)很棒。正打算写过登陆日志加验证码。
要想结构上更漂亮的话, 继承BaseModel,给每个类都自动加上ip字段,然后通过HttpReques ,context传入的ip地址,override create,write方法,自动写入 ip地址,类似writeid之类的系统字段。
这样所有表的日志的创建和写入就都有了,签入表也自动有了。 -
Pycharm 联合调试OpenERP服务端和客户端使用Pycharm开发调试OpenERP(服务端Python和客户端Javascript 联合调试)----这里是文字,完整在附件
个人认为Pycharm是最好的Python开发工具,配置简单,操作简便,界面清爽,支持远程调试python,javascript调试,集成JDango等web框架,跨平台。功能非常强大。鉴于社区主要推荐的是Eclipse IDE,Eclipse本身是很好,万金油IDE,通过Pydev插件支持Python也不错,另外也有针对OpenERP的模版发布,利于快速开发模块。但对Python初学者来说配置工作比较多,Python本身要安装各种插件,即使以前用eclipse开发过java的人,同样不利于快速上手,因此,向python、或OpenERP初学者推荐Pycharm。
本文分三个部分:1、安装开发环境:Python,Pycharm,OpenERP的Python依赖包。2、配置Pycharm,调试OpenERP服务端Python代码。3、调试OpenERP客户端Javascript代码。
一、 安装开发环境:
1、 下载安装必须软件:
对Python不熟悉的同学,建议安装Python(x,y),600兆,这个第三方发布的Python包集成了很多Python常用社区模块。OpenERP需要十几个Python社区模块。
下载Pycharm,下载专业版,专业版支持javascript调试,试用期过后,其实还是可以使用的。Pycharm是需要jre支持的,如果没有,则需要安装jre。
下载OpenERP代码,解压到硬盘中,注意路径中不能有中文名文件夹。
下载OpenERP数据库,Postgres。安装时,记下数据库管理员用户名和密码。
2、 配置Pycharm和OpenERP:
打开Pycharm,导入OpenERP工程:
选择下载的OpenERP代码目录:
这就完成了OpenERP工程的导入。
展开工程文件,从doc目录下拷贝 conf文件到根目录下:
点击根目录下的conf文件,进行配置:
注意db_user 和db_password是前面安装postgreSQL时的数据库用户名和密码。配置好后,选择工程根目录下的”opener-server”文件,右键点击,弹开菜单,Run。
此时,运行结果,会报很多错误,关注最下面的错误,这些错误大多是模块未安装的错误,并提示缺少什么模块,OpenERP需要的模块列表在工程下目录openerp.egg-info内的文件requires.txt里,如下图:
Python(x,y)已经有了很多插件,剩下大致有如下几个:
这些是Python插件包在window下使用的安装包,下载地址在:http://www.lfd.uci.edu/~gohlke/pythonlibs 。逐个下载安装。
全部安装完后,如还缺少,根据报错信息,找到确认模块名,打开cmd命令行窗口,运行 “pip install 模块名” 安装,模块名有时候与requires.txt文件里的不完全一致,需要到pip官网查询确认https://pypi.python.org/pypi 。
如还是解决不了,到论坛或群里发帖吧。
二、 调试OpenERP服务端python代码:
调试Python服务端代码,只需要在前面运行那里,选择debug即可,注意不要同时开启run和debug,OpenERP是一份代码允许同时运行多个实例的,因此不会提示是否以运行。如下图,只有一个debug窗口。多个运行就会有多个窗口。
服务端代码调试,打开openerp-server文件,打上断点,即可跟踪OpenERP的启动过程:
服务启动流程大致如下:
模块启动完成后,OpenERP服务会开始监听8069端口的http请求,此时代码运行起始在services目录下,wsgi.py文件内,如下断点。即可跟踪对请求的一系列处理。
请求处理流程大致如下:
代码多跟踪几遍,就能掌握。
三、 调试OpenERP客户端javascript代码:
在Pycharm里选择配置:
在弹出窗口内,点击 + 号,添加Javascript Debug配置:
按如下配置,注意URL中的写法http://127.0.0.1:8069/?debug= 。
Debug参数让OpenERP服务输出的是原始js文件。
保存返回主界面,如果此时OpenERP还没启动服务,则先运行operp-server,随便是run或debug。 然后再选择js debug,点击debug按钮:
此时pycharm 会提示你安装 chrome插件,点击安装。安装完毕后,关掉chrome,再次点击debug运行,此时chrome就会连接上pycharm
注意,此时Pycharm开启了两个调试进程,分别是python和javascript:
可以联调js和python了。
选择js debug下的 Scripts tab栏,点击展开http://127.0.0.1:8069目录,选择需要调试的js文件。
比如选择web/static/src/js 目录下的boot.js文件,这个是OpenERP客户端javascript框架的启动文件,断点打在init方法内:
在chrome内登录后,会跳到这个断点,注意调试堆栈和 变量窗口:
如果此时Python代码的运行也是debug模式的话,那么就能够实现客户端和服务端联合调试了。
希望此文能给OpenERP初学者一些帮助。 -
Openerp 7.0开发文档中Fuctional fields的纰漏真棒,我也奇怪method从没看到
-
CSDN发来的一封合作邀请,大家各抒己见,征集完意见我来负责回复和沟通这是好事啊,OpenERP多了一个推广门户,OpenERP中文社区也多了一个流量入口。 CSDN毕竟还是最大的开发社区,眼球价值很大。
不用太担心CSDN这个code平台对中小技术社区的冲击, 这应该是互补的,可以重写找定位么。code平台如果能对开发这部分承担起很多作用,我们这个社区就可以在实施、具体解决方案、培训等服务方面找定位。
如果有人手需要,希望能帮上。 -
OpenERP Server Developers Documentation 文档翻译[quote author=Tiger link=topic=12674.msg22957#msg22957 date=1381913522]
开始翻译OpenERP Server Developers Documentation。貌似是所谓开发手册。现在进度一半
[/quote]
已翻译完成,上传整个文档 -
OpenERP Server Developers Documentation 文档翻译你这么夸我特地回头看了下,惭愧,发现好多翻的不妥当的地方。
这个文档翻完,就先忙研究和实施了,实施后,有了一定掌握,就核校一下,表达能更准确,然后尽快提交到官方文档里。
[quote author=ccdos link=topic=12674.msg22958#msg22958 date=1381914715]
Tiger 你太猛了
我们n多人一起干 似乎也没你快,质量又高
牛!
强烈建议 提交给官方
[/quote] -
OpenERP Server Developers Documentation 文档翻译开始翻译OpenERP Server Developers Documentation。貌似是所谓开发手册。现在进度一半
-
OpenERP Web Training文档翻译[quote author=Jeff link=topic=12635.msg22907#msg22907 date=1381759463]
看Python代码比看数据字典更简单些。楼主威武!
[/quote]
感谢指点。 估计很多大神嫌太简单,不愿意翻译这类入门文章。
我也得趁自己成为大神前多翻一点。 -
OpenERP Web Training文档翻译第二部分
[quote author=Tiger link=topic=12635.msg22890#msg22890 date=1381723279]
这个文档剩下部分的翻译,前言和第一章和第二章,js方面的基础知识。这方面知识到处都是,本来也不想翻了,但作为一个完整文档,还是顺手翻了比较好。而且我自己也做了好多年管理,很多年不看不写代码,也需要补充下这方面的知识,尤其是jQuery部分,况且,这方面的知识还是结合着OpenERP的js 客户端,原文行文流畅,要点讲解都是一点就出,可见原文作者深厚技术功底。就是我自己翻译水平不够,力有不逮,不能够体现原文风。 翻译不对或不好的地方,请大神们不吝赐教。
至此,全部文档翻译完毕,论坛附件最大是1兆,无法发送全部的整合文档。就连这次剩下部分,rar压缩后还是超过1兆,只能分卷压缩成两个包。
OpenERP7没有开发手册,6.0貌似不想翻译,好像也有人翻译好了。
下面打算翻译 OpenERP Server Developers Documentation , https://doc.openerp.com/trunk/server/ 。
奇怪的是,没找到OpenERP 默认app(比如,销售模块、采购模块、财务模块)模块的数据字典文档,莫非都是从python代码看。
[quote author=Tiger link=topic=12635.msg22832#msg22832 date=1381399000]
这段时间研究学习OpenERP,感觉不错,官网上 https://doc.openerp.com/trunk/training/ OpenERP Web Training这个文档很不错,打算完整翻译下,发到论坛,望前辈们多多斧正。
Welcome to OpenERP Web Training 内容主要是四个章节,计划倒着翻译,从最后一章开始。
JavaScript Basics
JavaScript Libraries
OpenERP Web Framework
OpenERP Web Components
附件是已翻好的 OpenERP Web Components
[/quote]
[/quote] -
OpenERP Web Training文档翻译这个文档剩下部分的翻译,前言和第一章和第二章,js方面的基础知识。这方面知识到处都是,本来也不想翻了,但作为一个完整文档,还是顺手翻了比较好。而且我自己也做了好多年管理,很多年不看不写代码,也需要补充下这方面的知识,尤其是jQuery部分,况且,这方面的知识还是结合着OpenERP的js 客户端,原文行文流畅,要点讲解都是一点就出,可见原文作者深厚技术功底。就是我自己翻译水平不够,力有不逮,不能够体现原文风。 翻译不对或不好的地方,请大神们不吝赐教。
至此,全部文档翻译完毕,论坛附件最大是1兆,无法发送全部的整合文档。就连这次剩下部分,rar压缩后还是超过1兆,只能分卷压缩成两个包。
OpenERP7没有开发手册,6.0貌似不想翻译,好像也有人翻译好了。
下面打算翻译 OpenERP Server Developers Documentation , https://doc.openerp.com/trunk/server/ 。
奇怪的是,没找到OpenERP 默认app(比如,销售模块、采购模块、财务模块)模块的数据字典文档,莫非都是从python代码看。
[quote author=Tiger link=topic=12635.msg22832#msg22832 date=1381399000]
这段时间研究学习OpenERP,感觉不错,官网上 https://doc.openerp.com/trunk/training/ OpenERP Web Training这个文档很不错,打算完整翻译下,发到论坛,望前辈们多多斧正。
Welcome to OpenERP Web Training 内容主要是四个章节,计划倒着翻译,从最后一章开始。
JavaScript Basics
JavaScript Libraries
OpenERP Web Framework
OpenERP Web Components
附件是已翻好的 OpenERP Web Components
[/quote] -
OpenERP Web Training文档翻译[quote author=Jeff link=topic=12635.msg22839#msg22839 date=1381423121]
可以用bzr工具提交到官方库
赞楼主!
[/quote]
等全部翻完,修订好再研究怎么提交官方库。
这个OpenERP现在边研究边实施,争取这个月部署使用,压力好大 -
OpenERP Web Training文档翻译这是这篇培训文章的最大部分: OpenERP Web Framework
[quote author=Tiger link=topic=12635.msg22832#msg22832 date=1381399000]
这段时间研究学习OpenERP,感觉不错,官网上 https://doc.openerp.com/trunk/training/ OpenERP Web Training这个文档很不错,打算完整翻译下,发到论坛,望前辈们多多斧正。
Welcome to OpenERP Web Training 内容主要是四个章节,计划倒着翻译,从最后一章开始。
JavaScript Basics
JavaScript Libraries
OpenERP Web Framework
OpenERP Web Components
附件是已翻好的 OpenERP Web Components
[/quote] -
OpenERP Web Training文档翻译这段时间研究学习OpenERP,感觉不错,官网上 https://doc.openerp.com/trunk/training/ OpenERP Web Training这个文档很不错,打算完整翻译下,发到论坛,望前辈们多多斧正。
Welcome to OpenERP Web Training 内容主要是四个章节,计划倒着翻译,从最后一章开始。
JavaScript Basics
JavaScript Libraries
OpenERP Web Framework
OpenERP Web Components
附件是已翻好的 OpenERP Web Components