上述回复有误,更正为:做完固定资分录入,oe会自动记入固定资产journal和银行存款journal,实际上我在做手工凭证时选择了固定资产journal,原以为oe会自动在银行存款journal中记入一笔2400元(即分录的贷方),而oe的银行存款journal中没有2400元这笔记录。同样,在oe中所有手工凭证都会如此操作,只会记录你所选择的journal,而不会自动记录对方科目到其他所对应的journal中,因为journal不是常规意义上的明细帐本
zopewind
-
为啥手工付款凭证不能记录到银行分类帐中? -
为啥手工付款凭证不能记录到银行分类帐中?感谢2楼的回复,谢谢!
我看了下面的的链接心中豁然开朗<br / [检测到链接无效,已移除] br />原来我在oe中新建的journal只是业务的一个分类,而不是帐本,本着中国传统计帐方法,我以为在做完固定资产的分录后,oe应该自动记录入到固定资产的journal中,可能事实并非如此,因为journal并不等同于我们中国财务的明细帐的含义,这个分录可以通过general ledger中可以查询到就是例证,这也说明与我们中国财务上的帐务处理中有着明细帐本相同含义的是general ledger.我上述理解是否正确还请大家指证,谢谢! -
为啥手工付款凭证不能记录到银行分类帐中?首先创建固定资产分类帐,然后用OE的手工凭证功能做如下凭证
借:固定资产 2400
贷:银行存款 2400
再打开银行分类帐时没有2400元的付款记录,为啥?是什么地方设置不对,还是OE有BUG,求助 -
OpenERP 6.1.1中明细帐查询问题ok!
if isinstance(period_id, (str,unicode)) :更pythonic
另外,TAG在哪里加? -
OpenERP 6.1.1中明细帐查询问题使用明细帐查询功能时出现如下错误提示:
Client Traceback (most recent call last):
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\web\common\http.py", line 180, in dispatch
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\web\controllers\main.py", line 1161, in load
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\web\controllers\main.py", line 1043, in fields_view_get
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\web\common\openerplib\main.py", line 250, in proxy
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\web\common\openerplib\main.py", line 117, in proxy
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\web\common\http.py", line 611, in send
Server Traceback (most recent call last):
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\web\common\http.py", line 592, in send
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\netsvc.py", line 360, in dispatch_rpc
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\service\web_services.py", line 572, in dispatch
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\osv.py", line 167, in execute_kw
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\osv.py", line 121, in wrapper
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\osv.py", line 176, in execute
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\osv.py", line 164, in execute_cr
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\account\account_move_line.py", line 967, in fields_view_get
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\orm.py", line 2149, in fields_view_get
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\orm.py", line 1789, in __view_look_dom_arch
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\osv\orm.py", line 1695, in __view_look_dom
File "C:\Program Files\OpenERP 6.1-1\server\openerp\addons\account\account_move_line.py", line 930, in view_header_get
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\sql_db.py", line 152, in wrapper
File "C:\Program Files\OpenERP 6.1-1\server.\openerp\sql_db.py", line 212, in execute
DataError: 錯誤: 無效的 integer 輸入語法: "04/2012"
LINE 1: SELECT code FROM account_period WHERE id = '04/2012'
跟踪发现为OE6.1.1中的一个BUG ,代码如下:
account_move_line.py,line 207
if type(period_id) == str :
ids = period_obj.search(cr, uid, [('name', 'ilike', period_id)])
context.update({
'period_id': ids[0]
})
如上if语句中,如果type(period_id)返回一个unicode字符,则不会执行if语句里面的代码了,最后就会出上如上错误提示窗口.将if语句if type(period_id) == str :修改为if type(period_id) == str or type(period_id) == unicode:就可以了,我的运行环境为服务器windows2003,客户端vista,postgresql 9.1,浏览器为firefox10.0.3 -
OpenERP v6.1 新特性解读(一)整体易用性、界面、移动性(二)模块(三)技术移动版上可以新增,编辑,删除吗?好象没有发现这些按钮
-
有关记录规则设置的问题抱歉,'user.company_id.partner_id.id前面多了一个引号,正确的记录规则为['|',('id','=',user.company_id.partner_id.id),('department_id','child_of',[user.context_department_id.id])]
-
有关记录规则设置的问题在OE中试着做了一个新增客户信息维护的开发项目,新建一个对象,该对象从res_partner继承而来,新对象中增加了一个部门编号字段department_id,该字段与hr_department是many2one关系,同时完成相关代码的开发与form的设计,还完成了报表的设计工作,设置了记录规则,菜单,从开发到完成一直使用admin用户登录,一切正常顺利,点击菜单,录入数据,打开报表很顺利.问题就从新建不同用户组和用户开始,用新建的用户登录后(该用于属于一个新建组中,该组的记录规则为[('department_id','child_of',[user.context_department_id.id])],该规则用于res.partner对象.打开报表时系统提示如下:
访问错误
访问规则禁止对已删除的文件执行以下操作,(操作:读取,单据类型:Partner).
后把该用户附于和admin相同的组选项也不行.问题依就.后来考虑到提示窗口中有"访问规则"的提示,怀疑是不是记录规则和什么冲突了,进一步跟踪代码发现系统会从res_partner表中读取一条与res_company表中公司名称相同的"客户"记录,在读取这条记录时会把规则(('department_id','child_of',[user.context_department_id.id])]加在SQL语句后面并用and 连接,这时附加了这些条件的SQL语句是无法返回一个结集的,这时系统就会显示提示窗口,系统代码如下:
query = 'SELECT %s FROM %s WHERE %s.id IN %%s' % (select_fields, ','.join(tables), self.table)
if rule_clause:
query += " AND " + (' OR '.join(rule_clause))
query += " ORDER BY " + order_by
for sub_ids in cr.split_for_in_conditions(ids):
if rule_clause:
cr.execute(query, [tuple(sub_ids)] + rule_params)
if cr.rowcount != len(sub_ids):
raise except_orm(('AccessError'),
_('Operation prohibited by access rules, or performed on an already deleted document (Operation: read, Document type: %s).')
% (self._description,))
else:
cr.execute(query, (tuple(sub_ids),))
res.extend(cr.dictfetchall())
发现问题的原因所在了,解决问题就好办了,直接修改与该新建用户对应的记录规则为['|',('id','=','user.company_id.partner_id.id),('department_id','child_of',[user.context_department_id.id])],问题得以解决,爽!
在OE中,新建一个数据库(也可以称为帐套)并初始化时,res_company表中会新建一个公司记录,同时在res_partner表中也会新增一条与公司名称相同的记录,就是说这个公司是它自己的商业伙伴关系,只不过这个partner即不是customer,也不是supplier,同时,如果新建一个用户时会默认关联到res_company中的公司记录上,而且res_company中这个公司记录与res_partner中的partner记录是通过many2one关联的.所以要在记录规则中增加('id','=','user.company_id.partner_id.id)这个条件,用于读取最顶层公司的记录,然后在视图文件中用domain过滤掉这条记录即可满足开发要求了. -
请问<field name="implied_ids" eval="[(4, ref('group_sale_salesman'))]"/>做何解释?在base_security.xml文件中有一行<field name="implied_ids" eval="[(4, ref('group_sale_salesman'))]"/>做何理解,搔破了头皮现在也没找到答案,请求帮助!
-
Windows2003下openerp6.1.1 all-in-one安装后无法下载附件首先在windows2003下安装了postgresql 9.1.3,安装时语言选择新加坡中文(默认的语言编码选择也试过,同样的问题),然后安装openerp 6.1.1 all-in-one,一切安装顺利,启动正常.后来发现一个问题:上传附件后,无法再打开该附件,用两天时间跟踪代码无果,偶尔发现用最新的psycopg2 for python2.6最新版替换openerp 6.1.1下的psycopg2文件夹即可解决该问题,希望能给大家有所帮助.