Ir al contenido

Bienvenido al foro de Odoo Argentina 🇦🇷 

Brindamos un espacio a la comunidad argentina de Odoo para centralizar el debate, compartir ideas, desarrollos, y formar parte de una comunidad que crece día a día

Para poder participar, debés estar registrado así los miembros de la comunidad pueden interactuar con tus preguntas. 

¿No estás registrado? Registrate acá

Se marcó esta pregunta
18 Vistas

Problema con la consulta SQL

Buenas Tardes.! Como andan? Espero que bien!. 

Tengo una consulta... sobre un query SQL que estoy realizando. la funcion es sobre el modelo account.fiscal.year de OCA. Cree un modulo para agregar funciones de cierre de ejercicio contable. 

entre otroas funciones que he creado tengo la siguiente: 

def _get_move_line_ids(self):
self.env['account.move.line'].flush_model(['account_id'])
self.env['account.account'].flush_model(['account_type'])
self.env['account.move'].flush_model(['fiscal_year'])

allowed_account_ids = self.env['account.account'].search(
domain=['|', ('account_type', 'like', 'income'), ('account_type', 'like', 'expense')]
).ids

if allowed_account_ids:
query = """
SELECT aml.id
FROM account_move_line aml
JOIN account_move am ON aml.move_id = am.id
WHERE aml.account_id IN %(allowed_account_ids)s
AND am.fiscal_year = %(fy_id)s
"""
self._cr.execute(query, {
'allowed_account_ids': tuple(allowed_account_ids),
'fy_id': self.id
})
aml_ids = [row[0] for row in self._cr.fetchall()]
return aml_ids
return False

El drama empieza a ejecutarla pues, con mi modulo se registra account.move con un nuevo campo llamado fiscal_year, pero al ejecutarla me aparece el siguiente error:
  File "c:\odoo\custom\account_closing\models\account_fiscal_year.py", line 126, in create_monthly_periods
    if len(fy._get_move_line_ids()) > 1:
  File "c:\odoo\custom\account_closing\models\account_fiscal_year.py", line 78, in _get_move_line_ids
    'fy_id': self.id
  File "C:\odoo\odoo\sql_db.py", line 313, in execute
    res = self._obj.execute(query, params)
psycopg2.errors.UndefinedColumn: no existe la columna am.fiscal_year
LINE 6:             AND am.fiscal_year = 4
                  
^

Estoy usando odoo 16 en windows 10 con pycharm comunity.  Gracias! un abrazo!.

Avatar
Descartar