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

def create ?

By
heru
on 8/26/15, 4:51 AM 571 views

Hi, my name Heru.

i have problems.

i will get value when hit button 'save', but it's not work.

I make like this,

file .py :

class manifest_delivery(osv.osv):
    _columns = {
                        'name': fields.char('Reference', required=True, size=64, readonly=True, states={'draft': [('readonly', False)]}),
                        }
    def create(self, cr, uid, vals, context=None):
        sp = self.pool.get("stock.picking").browse(cr, uid, vals['manifest_id'])
        print "> > > > > > > > > > > > > > > > > > > > > > > >",sp.origin
        return super(manifest_delivery, self).create(cr, uid, vals, context=context)


class stock_picking(osv.osv):
    _inherit = 'stock.picking'
    _columns = {
                        'manifest_id': fields.many2one('manifest.delivery', 'Manifest'),
                        'origin': fields.char('Source Document', states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}, help="Reference of the document", select=True),
                        }


when i hit button 'save', system show message error :


Traceback (most recent call last):
File "/home/heru/odoo/openerp-8.0/openerp/http.py", line 499, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/home/heru/odoo/openerp-8.0/openerp/http.py", line 516, in dispatch
result = self._call_function(**self.params)
File "/home/heru/odoo/openerp-8.0/openerp/http.py", line 282, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/home/heru/odoo/openerp-8.0/openerp/service/model.py", line 113, in wrapper
return f(dbname, *args, **kwargs)
File "/home/heru/odoo/openerp-8.0/openerp/http.py", line 279, in checked_call
return self.endpoint(*a, **kw)
File "/home/heru/odoo/openerp-8.0/openerp/http.py", line 732, in __call__
return self.method(*args, **kw)
File "/home/heru/odoo/openerp-8.0/openerp/http.py", line 375, in response_wrap
response = f(*args, **kw)
File "/home/heru/odoo/addons/DOMINO_CAKE/web/controllers/main.py", line 944, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/home/heru/odoo/addons/DOMINO_CAKE/web/controllers/main.py", line 936, in _call_kw
return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
File "/home/heru/odoo/openerp-8.0/openerp/api.py", line 237, in wrapper
return old_api(self, *args, **kwargs)
File "/home/heru/odoo/addons/DOMINO_CAKE/siu_manifest_delivery/manifest.py", line 92, in create
sp = self.pool.get("stock.picking").browse(cr, uid, vals['manifest_id.id'])
KeyError: 'manifest_id'

anybody, can tell me what is the solution for my case ?


thanks in advance.

<sorry my language is bad>

1

Pawan

--Pawan--
1267
| 4 3 5
Hyderabad, India
--Pawan--


Pawan
On 8/26/15, 5:15 AM

Heru,

First of all your implementation is wrong....

1) you have "manifest_id" field in stock_picking not in manifest_delivery, so add a many2one field for stock.picking in manifest_delivery as picking_id, and show in your form view to be selected by the user.

2) then in create, use vals['picking_id'] for your further operation.....as :

sp = self.pool.get("stock.picking").browse(cr, uid, vals['picking_id'])

Hope it Helps!    

wow, it's work. Thank you very much Pawan ...

heru
on 8/26/15, 6:13 AM

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

1 follower(s)

Stats

Asked: 8/26/15, 4:51 AM
Seen: 571 times
Last updated: 8/26/15, 6:14 AM