0

I got this error after adding a function field in my module

OpenERP Server Error
Client Traceback (most recent call last):
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\openerp\addons\web\http.py", line 203, in dispatch
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\openerp\addons\web\controllers\main.py", line 1133, in call_button
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\openerp\addons\web\controllers\main.py", line 1121, in _call_kw
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\openerp\addons\web\session.py", line 43, in proxy
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\openerp\addons\web\session.py", line 31, in proxy_method
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\openerp\addons\web\session.py", line 104, in send


Server Traceback (most recent call last):
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\openerp\addons\web\session.py", line 90, in send
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\.\openerp\netsvc.py", line 293, in dispatch_rpc
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\.\openerp\service\web_services.py", line 622, in dispatch
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\.\openerp\service\security.py", line 40, in check
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\.\openerp\pooler.py", line 49, in get_pool
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\.\openerp\pooler.py", line 33, in get_db_and_pool
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\.\openerp\modules\registry.py", line 192, in get
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\.\openerp\modules\registry.py", line 218, in new
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\.\openerp\modules\loading.py", line 344, in load_modules
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\.\openerp\modules\loading.py", line 259, in load_marked_modules
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\.\openerp\modules\loading.py", line 162, in load_module_graph
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\.\openerp\modules\module.py", line 405, in load_openerp_module
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\.\openerp\modules\module.py", line 133, in load_module
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\openerp\addons\certificados\__init__.py", line 1, in <module>
File "C:\Program Files\OpenERP 7.0-20130321-002353\Server\server\openerp\addons\certificados\certificados.py", line 30
def multi_a_b(self, cr, uid, ids, name, arg, context=None):
^
IndentationError: unexpected indent

This is the code in my module.py (The code portion that's giving me the error)

class certificados_line(osv.osv):

    _name = 'certificados.line'
    _description="Certificados No Produccion"

    def multi_a_b(self, cr, uid, ids, name, arg, context=None):
        res = {}
        for record in self.browse(cr, uid, ids,context):
            res[record.id] = record.Cantidad * record.Precio_Unitario_Declarado
        return res

    _columns = {
        'Codigo_Arancelario' : fields.integer('Codigo Arancelario'),
        'product_id' : fields.many2one('product.product', 'Material'),
        'Descripcion_Arancelaria' : fields.char('Descripcion Arancelaria', size=42, required = True, translate = True), 
        'Especificaciones_Tecnicas' : fields.char('Especificaciones Tecnicas', size=60, required = True, translate = True), 
        'Cantidad' : fields.float('Cantidad'), 'Unidad_de_Medida': fields.many2one('product.uom', 'Unidad de Medida'),
        'Precio_Unitario_Declarado' : fields.float('Precio Unitario Declarado'), 'Moneda' : fields.many2one('res.currency', 'Moneda'),
        'Valor_En_Divisas' : fields.function(multi_a_b, type='integer', string='Valor En Divisas'),
        'requisicion_id' : fields.many2one('certificados.certificados', 'Certificados de No Produccion', ondelete='cascade'),
        'Cantidad_Consumida' : fields.float('Cantidad Consumida'),    'Cantidad_Disponible' : fields.float('Cantidad Disponible'),
         }

As i have seen in other modules it is possible to declare the function where i've declared it, so i don't know, i mean, i tried changing the indent, but then everything else seems to become chaotic, the columns, _name, etc... What should i do to get rid of this error?

NeoVe
  • 3,857
  • 8
  • 54
  • 134
  • 1
    In your original code, are the lines after `class certificados_line(osv.osv):` indented? (They should be). I can't tell whether this is an error in your original code or a mistake in the copy-pasting. – David Robinson Apr 22 '13 at 15:58
  • Yes it is indented, just edited thanks – NeoVe Apr 22 '13 at 15:59
  • It still doesn't look indented to me... and come to think of it it that explains the problem. In your original file, you are mixing tabs and spaces. Make sure that for all indentation, you are using either tab characters or (preferably) 4-spaces per indent. – David Robinson Apr 22 '13 at 16:01
  • Sorry now is indented, just look at it if possible :) – NeoVe Apr 22 '13 at 16:03
  • Re-indent each line, use 4 spaces. Then try again. – CppLearner Apr 22 '13 at 16:11
  • Yes, checked the 4 spaces, still same problem, in the {multi_a_b} function – NeoVe Apr 22 '13 at 16:12
  • The function seems to be the problem, but i've seen other modules with the same structure – NeoVe Apr 22 '13 at 16:12
  • Yes did 4 spaces instead of tab, solved :) thanks! – NeoVe Apr 24 '13 at 04:22

0 Answers0