OpenERP备忘录
-
many2many
(0,0,{values}) 根据values里面的信息新建一个记录。
(1,ID,{values})更新id=ID的记录(写入values里面的数据)
(2,ID) 删除id=ID的数据(调用unlink方法,删除数据以及整个主从数据链接关系)
(3,ID) 切断主从数据的链接关系但是不删除这个数据
(4,ID) 为id=ID的数据添加主从链接关系。
(5) 删除所有的从数据的链接关系就是向所有的从数据调用(3,ID)
(6,0,[IDs]) 用IDs里面的记录替换原来的记录(就是先执行(5)再执行循环IDs执行(4,ID))
例子[(6, 0, [8, 5, 6, 4])] 设置 many2many to ids [8, 5, 6, 4]
one2many
(0, 0,{ values })根据values里面的信息新建一个记录。
(1,ID,{values}) 更新id=ID的记录(对id=ID的执行write 写入values里面的数据)
(2,ID) 删除id=ID的数据(调用unlink方法,删除数据以及整个主从数据链接关系)
例子:
[(0,0,{'field_name':field_value_record1,...}),(0,0,{'field_name':field_value_record})]
many2one的字段比较简单,直接填入已经存在的数据的id或者填入False删除原来的记录。 -
View的字段定义中的default_get 及 Parent 备注
如stock_view.xml的stock.picking 的Form中有如下定义:
<field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" default_get="{'move_line':move_lines}">
其含义是在context中设置变量{'move_line':move_lines},该变量可以在stock.move的字段缺省值函数中使用。即stock.move的字段缺省值函数中,如果context中有变量move_line表示该stock.move是从stock.picking中创建。如果没有变量move_line,则它可能是别的途径创建。
视图定义中可以用parent 引用父视图中的字段值。 -
OpenERP V6.1 报销事务处理详解:http://shine-it.net/index.php/topic,2790.0.html -
- openerp-server-6.0.3\bin\report\render\rml2pdf\trml2pdf.py
修改点有:
a) 支持RML的Directive:<pageDrawing> 及 <pageInfo>
b) 支持RML的Image Directive 的属性'preserveAspectRatio - Boolean'
Preserve Aspect Ratio: A flag determining whether the image's aspect ration should be conserved under any circumstances.
c) 修正Bug:下述RML上显示产品照片时候,所有行总是显示第一行的照片
<td>
<image width="60" height="90" preserveAspectRatio="True" >[[ line.product_id and line.product_id.product_image or removeParentNode('image') ]]</image>
</td>
2) OpenERP 6.0.3\Server\addons\mrp\mrp.py
修改点: 避免BoM表的MRP运算陷入死循环
3) OpenERP 6.0\Server\addons\procurement\schedulers.py
Bug修正:当符合条件state='confirmed' and procure_method='make_to_order' 的procurement_order 超过500时候,系统的最小库存规则运算失效。
4) OpenERP 6.0.3\Server\addons\mrp\stock.py
修改点:
对于Sets/Phantom 类型的产品(下文称A产品)的SO单,当SO确认时候,
1)系统自动创建一张A产品的出货单(Delivery Order, stock.picking),库存移动单(stock.move), 补货单(procurement.order)。相关代码参见:Sale模块的 sale.py 的 action_ship_create
2)系统自动确认出货单(DO),此时,系统自动将DO上的A产品用BoM表里的产品替换掉(因为是Sets/Phantom 类型的BoM),并生成新的补获单(BoM中的每个产品一个补货单)。相关代码参见:mrp模块的 stock.py 的 _action_explode
3)系统自动关闭原来的补货单(A产品)。问题是这里有个Bug,A产品的补货单关闭不了。修改方法是,在mrp模块的 stock.py 的 _action_explode 中增加一行:wf_service.trg_validate(uid, 'procurement.order', m, 'button_confirm', cr)
1) openerp-6.1\openerp\addons\account\report\account_financial_report.py
Bug修正:财务报表的余额符号(sign)设置无效。
2) openerp-6.1\openerp\addons\base\res\ir_property.py
Bug修正:多公司数据导入时候,例如下述res.partner 的property字段数据对应的系统property parameter,其公司总是当前用户的公司。现改为总是取Property值(如 应收账款)对应的公司。
"id","name","property_account_payable/name","property_account_receivable/name","category_id/id","company_id/name"
"res_partner_test001","测试","220200 应付账款 Shop1","112200 应收账款 Shop1","base.res_partner_category_0","Shop 1"
DIFF文件参看附件。
- openerp-server-6.0.3\bin\report\render\rml2pdf\trml2pdf.py
-
[quote author=lky link=topic=2639.msg9800#msg9800 date=1335448521]
外协加工过程中,要向B供应商提供物料,如何处理呢?
[/quote]
为供应商设置特定的’供应商库位‘
在工艺路线的生产库位中选择‘供应商库位’, 这样就可以实现委外物料向供应商提供,加工完成产品返回本地生产库位。
如果要手工确认这些物料外派单,还要安装‘no auto picking' 模块,并在相关物料上勾选‘no autopicking' -
OpenERP会计帐套年末结转的处理
0)结转前确认科目类型及结转方法(Deferral Method)是否完全正确
None:不结转,通常是损益类科目
Balance:余额结转,通常是资产、负债、权益类科目
Detail:完全结转,即会计凭证原样搬至下一期
Unreconciled:结转未核销凭证,通常是应收、应付类科目
1)结转前务必备份数据库,用备份的数据库恢复若干个测试数据库,在测试数据库上先结转,
根据测试结果修正科目的结转类型,直到确认科目结转正确无误,再开始实际结转。
2)创建新财务年度及会计期间
3)创建Opening/Closing Journal
Journal类型必须是:Opening/Closing Situation
默认借贷科目通常类似于:111300 Reserve and Profit & Loss Account(generic chart of accounts).
必须勾选Centralised counterpart 。
4)凭证结转:Accounting ‣ Periodical Processing ‣ End of Period ‣ Generate Opening Entries.
可以多次结转,系统会自动覆盖前一次的结转凭证 -
非常有用,谢谢!
-
新增备忘录:
1)OpenERP中实际库存移动时间的控制: [检测到链接无效,已移除] br />2)画面编辑/创建/删除/复制功能控制: [检测到链接无效,已移除] br />3)OpenERP MRP运算中的小数精度问题详解: http://shine-it.net/index.php/topic,16186.0.html