Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

POS的收据打印修改和吐糟



  • OPENERP V7的POS模块并没有完全集成入OPENERP,webclient访问pos,/OpenERP/report/pos_receipt.rml并不work,那只是为了pos模块后台打印sales order的需要。所有report/下的<br />sxw文件都可通过designer修改。<br /><br />POS Web前台的显示和收据打印,主要是修改以下两个文件:<br />../openerp/addons/poinit_of_sale/static/css/pos.css<br />../openerp/addons/poinit_of_sale/static/xml/pos.xml<br /><br />显示这里暂时不说,先说打印。<br />1、原始收据画蛇添足的加了个框子,走遍中外,我未发现有一家商铺的收据小票是这样的。所以要先改掉。<br />../openerp/addons/poinit_of_sale/static/css/pos.css  的827行<br />[code]border: solid 1px black !important;[/code]<br />注销这一行,或改 1px 为 0px,或改 black 为 white<br /><br />2、更改打印页面尺寸<br />../openerp/addons/poinit_of_sale/static/css/pos.css  的771行<br />[code]width: 300px;[/code]<br />改为相应纸张的宽度,我的是655,对应美国信纸(letter)尺寸,A4略窄 600~650之间,请自行调整。<br /><br />3、不知道是否由于纸的尺寸问题,收据中不打单价,每一个客户都在问“xx单价多少”,所以要打单价!<br />这里有两个方案:<br />A. 单价将显示在品名之后,like this “xx产品 at $15.00 / unit with a %15 discount.”<br />B. 象正规发票一样有一专门的栏,放入产品单价和单位,这需要基本的html table开发能力<br />原始table分三栏,2:1:1分布。参看第568行。可在578行前后,通过添加栏实现。如:<br />[code]<td class="pos-right-align"><br />    <t t-esc="orderline.get_unit_price()"/><br /></td>[/code]<br />下边的小记、税、总额等要依次修改。<br /><br /><br />我使用A方法, 这样改回小票比较方便。<br />在572行之后加入:<br />[code]<br />At <t t-esc="widget.format_currency(orderline.get_unit_price())" /> /<t t-esc="orderline.get_unit().name" /><br />[/code]<br />然后,在3行之后(</t>之后)加<br />[code]<br /><t t-if="orderline.get_discount() == 0"><br /> At <t t-esc="widget.format_currency(orderline.get_unit_price())" /> /<t t-esc="orderline.get_unit().name" /><br /></t><br />[/code]<br /><br />4、添加公司标志图像<br />在558行之后添加<br />[code]<br /><div><br />    <img src="/point_of_sale/static/src/img/yourlogo.png" /><br /></div><br />[/code]<br />并上传图像文件。<br /><br />5. 原始js文件中不支持取地址,要自己开发(或者我未找到),所以简单自己添加在以上公司标志之下。<br /><br /><br /><br />基本的功能修改到此为止,下面开始吐糟:<br />openerp的pos很诡异的使用html的一个子集在XML文件中实现最基本的格式功能,连最基本的<hr>都不支持。搞得我想要画条线都不行,只能table上画border,还得用css来画,而我的需求写在css文件中还不行。或许应找些开发资料来看,有明眼人或可告诉我。<br />openerp每天都在滚动开发,这样的话pos web前端很有可能被覆盖,得搞一个定制模块实现此功能。否则有的改的。<br /><br />[attach=1]



  • OPENERP V7的POS模块并没有完全集成入OPENERP,webclient访问pos,/OpenERP/report/pos_receipt.rml并不work,那只是为了pos模块后台打印sales order的需要。所有report/下的<br />sxw文件都可通过designer修改。<br /><br />POS Web前台的显示和收据打印,主要是修改以下两个文件:<br />../openerp/addons/poinit_of_sale/static/css/pos.css<br />../openerp/addons/poinit_of_sale/static/xml/pos.xml<br /><br />显示这里暂时不说,先说打印。<br />1、原始收据画蛇添足的加了个框子,走遍中外,我未发现有一家商铺的收据小票是这样的。所以要先改掉。<br />../openerp/addons/poinit_of_sale/static/css/pos.css  的827行<br />[code]border: solid 1px black !important;[/code]<br />注销这一行,或改 1px 为 0px,或改 black 为 white<br /><br />2、更改打印页面尺寸<br />../openerp/addons/poinit_of_sale/static/css/pos.css  的771行<br />[code]width: 300px;[/code]<br />改为相应纸张的宽度,我的是655,对应美国信纸(letter)尺寸,A4略窄 600~650之间,请自行调整。<br /><br />3、不知道是否由于纸的尺寸问题,收据中不打单价,每一个客户都在问“xx单价多少”,所以要打单价!<br />这里有两个方案:<br />A. 单价将显示在品名之后,like this “xx产品 at $15.00 / unit with a %15 discount.”<br />B. 象正规发票一样有一专门的栏,放入产品单价和单位,这需要基本的html table开发能力<br />原始table分三栏,2:1:1分布。参看第568行。可在578行前后,通过添加栏实现。如:<br />[code]<td class="pos-right-align"><br />    <t t-esc="orderline.get_unit_price()"/><br /></td>[/code]<br />下边的小记、税、总额等要依次修改。<br /><br /><br />我使用A方法, 这样改回小票比较方便。<br />在572行之后加入:<br />[code]<br />At <t t-esc="widget.format_currency(orderline.get_unit_price())" /> /<t t-esc="orderline.get_unit().name" /><br />[/code]<br />然后,在3行之后(</t>之后)加<br />[code]<br /><t t-if="orderline.get_discount() == 0"><br /> At <t t-esc="widget.format_currency(orderline.get_unit_price())" /> /<t t-esc="orderline.get_unit().name" /><br /></t><br />[/code]<br /><br />4、添加公司标志图像<br />在558行之后添加<br />[code]<br /><div><br />    <img src="/point_of_sale/static/src/img/yourlogo.png" /><br /></div><br />[/code]<br />并上传图像文件。<br /><br />5. 原始js文件中不支持取地址,要自己开发(或者我未找到),所以简单自己添加在以上公司标志之下。<br /><br /><br /><br />基本的功能修改到此为止,下面开始吐糟:<br />openerp的pos很诡异的使用html的一个子集在XML文件中实现最基本的格式功能,连最基本的<hr>都不支持。搞得我想要画条线都不行,只能table上画border,还得用css来画,而我的需求写在css文件中还不行。或许应找些开发资料来看,有明眼人或可告诉我。<br />openerp每天都在滚动开发,这样的话pos web前端很有可能被覆盖,得搞一个定制模块实现此功能。否则有的改的。<br /><br />[attach=1]



  • 很好,正在试这个模块,也改了些东东,不过没你这么详细,也没这么好看,谢谢分享



  • 好像还有个打印出来的文字不够清晰的问题,osbzr版改过。<br /><br />欢迎具体到代码和解决方案的吐槽,楼主好样的!



  • [quote author=Jeff link=topic=14556.msg25142#msg25142 date=1383904927]<br />好像还有个打印出来的文字不够清晰的问题,osbzr版改过。<br /><br />欢迎具体到代码和解决方案的吐槽,楼主好样的!<br />[/quote]<br />谢谢!<br />你说的好像是颜色设定的问题(#555555),在热敏打印机上确实不够黑,但我用laserptr,非常好了,不需要改了。



  • 改颜色为black后好一点,但是从浏览器中打印出来还是不怎么清晰,直接使用系统打印就清晰了,这个问题不好解决



  • [quote author=ryebread link=topic=14556.msg25174#msg25174 date=1384131020]<br /> 改颜色为black后好一点,但是从浏览器中打印出来还是不怎么清晰,直接使用系统打印就清晰了,这个问题不好解决<br />[/quote]说容易也容易,<br />还有一种方式是改变打印机模式设置,从raw变成txt,自己加控制符,使用打印机内置字体。没玩过DOS的人可能会抓瞎



  • [quote author=old_taoist link=topic=14556.msg25186#msg25186 date=1384144822]<br />[quote author=ryebread link=topic=14556.msg25174#msg25174 date=1384131020]<br /> 改颜色为black后好一点,但是从浏览器中打印出来还是不怎么清晰,直接使用系统打印就清晰了,这个问题不好解决<br />[/quote]说容易也容易,<br />还有一种方式是改变打印机模式设置,从raw变成txt,自己加控制符,使用打印机内置字体。没玩过DOS的人可能会抓瞎<br />[/quote]<br />能说 具体点吗?找了下打印机的资料,TXT模式很少说,再吐下这两天谷哥很不给力呀,度娘基本不用的



  • 发现一个简单的方法,chrome 启动时加--disable-print-preview 参数可以关闭打印预览,使用系统直接打印就清楚了



  • firefox 有一个插件叫AttendPrint,可以关闭对话框。pos中点击打印后对话框不出现,直接开始打印。但目前不兼容v25 or later<br /><br />chrome是否有同样的插件不知道。



  • [quote author=ryebread link=topic=14556.msg25209#msg25209 date=1384242365]<br />[quote author=old_taoist link=topic=14556.msg25186#msg25186 date=1384144822]<br />[quote author=ryebread link=topic=14556.msg25174#msg25174 date=1384131020]<br /> 改颜色为black后好一点,但是从浏览器中打印出来还是不怎么清晰,直接使用系统打印就清晰了,这个问题不好解决<br />[/quote]说容易也容易,<br />还有一种方式是改变打印机模式设置,从raw变成txt,自己加控制符,使用打印机内置字体。没玩过DOS的人可能会抓瞎<br />[/quote]<br />能说 具体点吗?找了下打印机的资料,TXT模式很少说,再吐下这两天谷哥很不给力呀,度娘基本不用的<br />[/quote]<br />每种打印机都不同,要看具体的使用手册。通常是在text流中加十六进制控制符。可以在线通过发送指令方式临时切换到text模式。<br />如果想永久关闭raw模式,Windows下,在打印机属性里的-》高级-》打印处理器-》选择text模式。或直接改变打印机设定。<br /><br />同样,打开钱箱,也可使用这种方式,例如规定刷卡时打印收据不开钱箱,收现金就开等。各个钱箱的开箱指令大都相同,个别不一样,要查手册。



  • AttendPrint没找着for chrome的。RAW模式看来有点复杂,先对付着,看看其他的问题<br />



  • 感觉这个pos 商品一多起来各种不好用


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待