Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

0

How can i add company address to pos receipt?

By
samba
on 1/19/15, 9:14 AM 4,331 views

I have written Company Address<br />
            <t t-esc="widget.pos.company.street"/>, <t t-esc="widget.pos.company.street2"/><br />
            <t t-esc="widget.pos.company.city"/>, <t t-esc="widget.pos.company.zip"/><br /> this code in pos.xml in posticket template. But these information not showing in pos receipt. Just it is showing "camas". My company has the proper info of street, street2, city, zip. Company name and phone showing well.

Getting the attached erro, Can you help me please?

On Mon, Jan 19, 2015 at 7:52 PM, Yenthe <yenthespam@gmail.com> wrote:

A new answer for How can i add company address to pos receipt? has been posted. Click here to access the post.

--
Yenthe
Sent by Odoo S.A. using Odoo about Forum Post How can i add company address to pos receipt?



--
--

Thanks and Regards,

Sambasiva rao,

Skype: samba.guduru2(skype)
samba
on 1/20/15, 2:37 AM

I think that street, street2, city, etc are fields from res.partner. Not from res.company. So I tried widget.pos.company.partner_id and it displays the ID of the associated partner.

Pascal Tremblay
on 3/17/15, 6:29 PM

But widget.pos.company.partner_id.street doesn't (nor the others city, street2, etc.) work... snif!

Pascal Tremblay
on 3/17/15, 6:31 PM
2

Yenthe

--Yenthe--
6706
| 7 7 8
Turnhout, Belgium
--Yenthe--

My Odoo blog: http://www.odoo.yenthevg.com/

My Twitter: https://twitter.com/Yenthe666

Yenthe
On 1/19/15, 9:22 AM

Hi Samba 

You will need to add those fields to the models (point_of_sale/static/src/js/models.js)


        //Custom, logo added as an example. Load what you need here.
            model:  'res.company',
            fields: [ 'currency_id', 'email', 'website', 'company_registry', 'vat', 'name', 'phone', 'partner_id' , 'country_id', 'logo'],
            domain: function(self){ return [['id','=',self.user.company_id[0]]]; },
            loaded: function(self,companies){ self.company = companies[0]; },
        },

The second step is to add it to the ticket (point_of_sale/static/src/xml/

    <t t-name="PosTicket">
        <div class="pos-sale-ticket">
<div id="company_logo" style="text-align:center;"><img t-att-src="'data:image/png;base64,'+ widget.pos.company.logo" height="40%" width="40%"/></div>
<!--add your custom fields here!-->
            <t t-esc="widget.pos.company.name"/><br />

</t>

Do a reload of the whole module, restart your session and you'll see everything working!

Thank you, Yenthe. How can i inherit model.js to add this information?

samba
on 1/20/15, 2:23 AM

No problem Samba. I'm not sure about this since I haven't tried inheriting the JS files yet. You should know that the js files are actually used with Backbone.js which means that the data is available in 'sessions'. So I believe you could even add another js file in the module.. Anyways this topic might help you in the good way: https://www.odoo.com/nl_NL/forum/help-1/question/inheritance-of-posmodel-in-pos-models-js-file-59023 (By the way, please accept the answer if it solved your problem? :) )

Yenthe
on 1/20/15, 2:50 AM

Yenthe, thanks for the above but how do I add tax code for each order line?

JC
on 1/24/15, 5:13 PM

Hmm I'm not sure about which field exactly you're talking but you should also add it in models.js at the correct model (if it is not already there). On the ticket you'd need to add a t-foreach item and in that t-foreach add a span etc or a t-esc which prints out the field, just like I did with the company name but then inside a t-foreach.

Yenthe
on 1/25/15, 1:00 PM

In model.js there is a function call get _tax_details() can it be used to display the tax name/code at the orderline, I am not good in javascript hope you can help.

JC
on 1/25/15, 5:38 PM

Yenthe, sorry is not the tax code, is the description in account_tax table I wish to add at each orderline. I reckon I just have to add description to model model: 'account.tax', the question is how do I get it for each order line. reason why we need this is because we apply diff tax to products and customer wish to know. Thanks in advance.

JC
on 1/25/15, 5:53 PM
0
Erhuvwu Akpobaro
On 4/12/15, 4:09 PM

 i want to do something similar to what you have achieved , i want to load the contracts module(account.analytic.account) so i can get the contract reference and display it on the receipt. The tricky part is the only way to link the product in the point of sale back to  their contract is : product.product > account.analytic.invoice.line > account.analytic.account , so is there any way i can achieve this ?

0

deep

--deep--
1617
| 5 4 7
Bengaluru, India
--deep--

Techno-Functional Associate with 6+ years of experience in Odoo (formerly known as OpenERP).

deep
On 1/21/15, 4:24 AM

Hi Thanks and wish you the same...

I think Yenthe's method might work... sure you can inherit a js, (i.e) you have to extend instance/model etc...

I had inherited JS of List view Widget of Journal Items, it worked fine for me... you can have a look at it ..

 
/*
   [Inherited]: account_move_line_quickadd.js
                To Remove default values for (Journal & Period)
*/
    instance.web.account.QuickAddListView = instance.web.account.QuickAddListView.extend(
    {
        start:function(){
            var tmp = this._super.apply(this, arguments);
            var self = this;
            
            var mod = new instance.web.Model("account.move.line", self.dataset.context, self.dataset.domain);
            mod.call("default_get", [['journal_id','period_id'],self.dataset.context]).then(function(result) {
                self.current_period = null;
                self.current_journal = null;
            });
            return tmp;
          },
    });
};

So  I think you may have to try some thing like this for the model extention also ...

If it didnt work out then worst case, you have to create your own custom receipt...

Thank you Deep, Let me try this process

samba
on 1/21/15, 4:31 AM

Hi @ deep i want to do something similar to what you have achieved , i want to load the contracts module(account.analytic.account) so i can get the contract reference and display it on the receipt. The tricky part is the only way to link the product in the point of sale back to its to the contract is : product.product > account.analytic.invoice.line > account.analytic.account , so is there any way i can achieve this ?

Erhuvwu Akpobaro
on 4/12/15, 1:51 PM

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

3 follower(s)

Stats

Asked: 1/19/15, 9:14 AM
Seen: 4331 times
Last updated: 6/22/16, 4:15 AM