Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

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

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

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

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

    POS的收据打印修改和吐糟

    Odoo 开发与实施交流
    4
    13
    12056
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • O
      old_taoist 最后由 编辑

      OPENERP V7的POS模块并没有完全集成入OPENERP,webclient访问pos,/OpenERP/report/pos_receipt.rml并不work,那只是为了pos模块后台打印sales order的需要。所有report/下的
      sxw文件都可通过designer修改。

      POS Web前台的显示和收据打印,主要是修改以下两个文件:
      ../openerp/addons/poinit_of_sale/static/css/pos.css
      ../openerp/addons/poinit_of_sale/static/xml/pos.xml

      显示这里暂时不说,先说打印。
      1、原始收据画蛇添足的加了个框子,走遍中外,我未发现有一家商铺的收据小票是这样的。所以要先改掉。
      ../openerp/addons/poinit_of_sale/static/css/pos.css  的827行

      border: solid 1px black !important;
      


      注销这一行,或改 1px 为 0px,或改 black 为 white

      2、更改打印页面尺寸
      ../openerp/addons/poinit_of_sale/static/css/pos.css  的771行

      width: 300px;
      


      改为相应纸张的宽度,我的是655,对应美国信纸(letter)尺寸,A4略窄 600~650之间,请自行调整。

      3、不知道是否由于纸的尺寸问题,收据中不打单价,每一个客户都在问“xx单价多少”,所以要打单价!
      这里有两个方案:
      A. 单价将显示在品名之后,like this “xx产品 at $15.00 / unit with a %15 discount.”
      B. 象正规发票一样有一专门的栏,放入产品单价和单位,这需要基本的html table开发能力
      原始table分三栏,2:1:1分布。参看第568行。可在578行前后,通过添加栏实现。如:

      &lt;td class=&quot;pos-right-align&quot;&gt;<br />&nbsp; &nbsp; &lt;t t-esc=&quot;orderline.get_unit_price()&quot;/&gt;<br />&lt;/td&gt;
      


      下边的小记、税、总额等要依次修改。


      我使用A方法, 这样改回小票比较方便。
      在572行之后加入:

      <br />At &lt;t t-esc=&quot;widget.format_currency(orderline.get_unit_price())&quot; /&gt; /&lt;t t-esc=&quot;orderline.get_unit().name&quot; /&gt;<br />
      


      然后,在3行之后(</t>之后)加

      <br />&lt;t t-if=&quot;orderline.get_discount() == 0&quot;&gt;<br />	At &lt;t t-esc=&quot;widget.format_currency(orderline.get_unit_price())&quot; /&gt; /&lt;t t-esc=&quot;orderline.get_unit().name&quot; /&gt;<br />&lt;/t&gt;<br />
      



      4、添加公司标志图像
      在558行之后添加

      <br />&lt;div&gt;<br />&nbsp; &nbsp;  &lt;img src=&quot;/point_of_sale/static/src/img/yourlogo.png&quot; /&gt;<br />&lt;/div&gt;<br />
      


      并上传图像文件。

      5. 原始js文件中不支持取地址,要自己开发(或者我未找到),所以简单自己添加在以上公司标志之下。



      基本的功能修改到此为止,下面开始吐糟:
      openerp的pos很诡异的使用html的一个子集在XML文件中实现最基本的格式功能,连最基本的<hr>都不支持。搞得我想要画条线都不行,只能table上画border,还得用css来画,而我的需求写在css文件中还不行。或许应找些开发资料来看,有明眼人或可告诉我。
      openerp每天都在滚动开发,这样的话pos web前端很有可能被覆盖,得搞一个定制模块实现此功能。否则有的改的。

      [attach=1]

      1 条回复 最后回复 回复 引用 0
      • R
        ryebread 最后由 编辑

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

        1 条回复 最后回复 回复 引用 0
        • wjfonhand
          wjfonhand 最后由 编辑

          好像还有个打印出来的文字不够清晰的问题,osbzr版改过。

          欢迎具体到代码和解决方案的吐槽,楼主好样的!

          GoodERP -- Odoo China fork

          1 条回复 最后回复 回复 引用 0
          • O
            old_taoist 最后由 编辑

            [quote author=Jeff link=topic=14556.msg25142#msg25142 date=1383904927]
            好像还有个打印出来的文字不够清晰的问题,osbzr版改过。

            欢迎具体到代码和解决方案的吐槽,楼主好样的!
            [/quote]
            谢谢!
            你说的好像是颜色设定的问题(#555555),在热敏打印机上确实不够黑,但我用laserptr,非常好了,不需要改了。

            1 条回复 最后回复 回复 引用 0
            • R
              ryebread 最后由 编辑

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

              1 条回复 最后回复 回复 引用 0
              • O
                old_taoist 最后由 编辑

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

                1 条回复 最后回复 回复 引用 0
                • R
                  ryebread 最后由 编辑

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

                  1 条回复 最后回复 回复 引用 0
                  • R
                    ryebread 最后由 编辑

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

                    1 条回复 最后回复 回复 引用 0
                    • O
                      old_taoist 最后由 编辑

                      firefox 有一个插件叫AttendPrint,可以关闭对话框。pos中点击打印后对话框不出现,直接开始打印。但目前不兼容v25 or later

                      chrome是否有同样的插件不知道。

                      1 条回复 最后回复 回复 引用 0
                      • O
                        old_taoist 最后由 编辑

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

                        同样,打开钱箱,也可使用这种方式,例如规定刷卡时打印收据不开钱箱,收现金就开等。各个钱箱的开箱指令大都相同,个别不一样,要查手册。

                        1 条回复 最后回复 回复 引用 0
                        • R
                          ryebread 最后由 编辑

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

                          1 条回复 最后回复 回复 引用 0
                          • P
                            pingwe 最后由 编辑

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

                            1 条回复 最后回复 回复 引用 0
                            • First post
                              Last post