Question about 2 fields in account_analytic_line

Dear team,

I am trying to use create method in account_analytic_line but i dont know how get the follows values:

1. general_account_id
2. journal_id

In configuration menus:

Accounting -> Configration -> Analytic Accounting -> Analytic Journals
Accounting -> Configration -> Analytic Accounting -> Analytic Accounts

I cant find where configure this fields in journals or accounts.

It is important to know this 2 fields are required in account_analytic_line:

  general_account_id integer NOT NULL
  journal_id integer NOT NULL

Any idea ?

Thanks in advance !

Question information

Language:
Spanish (Mexico) Edit question
Status:
Solved
For:
openerp-mexico-localization Edit question
Assignee:
No assignee Edit question
Solved by:
Moisés López - http://www.vauxoo.com
Solved:
Last query:
Last reply:
Revision history for this message
Moisés López - http://www.vauxoo.com (moylop260) said :
#1

Man, en las answers de lp-mx puedes el idioma por default: Español.

Cual es el método original, que quieres heredar (archivo.py :: función :: número de línea)

Saludos!

-
Moises Lopez
<email address hidden>

Revision history for this message
Eric Hernández - http://www.grupoaltegra.com (daimon) said :
#2

Moy,

Jeje pues habian dicho que en inglés :)

Mira el objeto no lo encuentro, ya lo busque en objetos del OERP y no me aparece ninguno con ese nombre sin embargo si me inserta en la tabla que requiero "account_analytic_line" (¿es posible que el objeto no exista y si utilizo el método create con un nombre de tabla existente lo realice con el método de OSV create? PREGUNTA eh) mi código es el siguiente:

                account_analytic_line_obj = self.pool.get('account.analytic.line')

                myDict = {
                    'amount': invoice_line['price_subtotal'] * analytic_account.percent / 100 * -1,
                    'name': invoice_line['name'],
                    'account_id': analytic_account.name['id'],
                    'product_id': invoice_line.product_id['id'],
                    'date': time.asctime(),
                    'general_account_id': '22',
                    'journal_id': '2',
                    'ref': invoice['origin'],
                }

                print myDict

                account_analytic_line_obj.create(cr, uid, myDict, context=context)

Si me inserta el valor donde quiero en la tabla "account_analytic_line" pero si notas estoy poniendo valores "fijos" a los dos campos que no se de donde leer:

                    'general_account_id': '22',
                    'journal_id': '2',

Gracias por tu timepo, sigo en búsqueda del objeto pero según yo debería estar en account_analytic_default :(

Revision history for this message
Moisés López - http://www.vauxoo.com (moylop260) said :
#3

Busca el objeto
Menú -> Administración/Personalización/Estructura de la base de datos/Objetos
en el campo de búsqueda objeto, y ponle: account.analytic.line

Ahí verás toda la descripción del objeto, así como sus campos.
Ahora mismo lo estoy viendo.

Si no existiera, OpenERP te marcaría un error

saludos!

-
Moisés López
<email address hidden>

Revision history for this message
Moisés López - http://www.vauxoo.com (moylop260) said :
#4

Nota: Asegúrate que donde estés buscando sea en el campo "objeto" y no en el campo "Nombre de objeto"

¡Saludos!

Revision history for this message
OscarAlca (oscarolar) said :
#5

este es el objeto que tienes que jalar con un self.pool.get

account.analytic.journal

ahi encontraras el id que buscas, fijate si traes en el contexto la id del journal, print context para que veas que onda, si no viene en el context, vas a tener que hacer una consulta con un search

la account_id esta en el objeto account.account, misma mecanica que el id de el diario

saludos

Revision history for this message
Eric Hernández - http://www.grupoaltegra.com (daimon) said :
#6

Gracias Moy y Oscar,

Creo que no me he explicado lo suficiente, trataré de ser lo más descriptivo posible:

El problema que tengo no es donde están los Journals o las cuentas contables para poder verlas, analizarlas etc. Ni como utilizar los objetos.

El problema real que tengo es que en mis cuentas analíticas NO encuentro donde relaciona una cuenta analítica a ese Journal o Cuenta contable, ni en el diario analítico.

Es decir:

Tengo unas cuentas analíticas creadas, y quiero meterles gastos a ellas por código con:

                account_analytic_line_obj = self.pool.get('account.analytic.line')

                myDict = {
                    'amount': invoice_line['price_subtotal'] * analytic_account.percent / 100 * -1,
                    'name': invoice_line['name'],
                    'account_id': analytic_account.name['id'],
                    'product_id': invoice_line.product_id['id'],
                    'date': time.asctime(),
                    'general_account_id': '22',
                    'journal_id': '2',
                }

                #print myDict
                account_analytic_line_obj.create(cr, uid, myDict, context=context)

Y si se dan cuenta los campos general_account_id y journal_id los pongo "mnauales" no los leo de ningún lado por que no se COMO relaciona una cuenta analítica a esos campos.

Gracias

Al momento de realizar un create sobre el objeto account.analytic.line necesito conocer general_account_id y journal_id, pero estos no se de donde leerlos, no que no conozca donde están los objetos ni que datos tienen, mas bien como relaciona Open ERP una cuenta analítica con estos dos objetos ya que no encuentro ningún campo de relación entre ellos sin embargo esos datos son requeridos para la inserción correcta en el objeto account.analytic.line.

Revision history for this message
Best Moisés López - http://www.vauxoo.com (moylop260) said :
#7

Hola Erick,

Gracias por ser más explícito y disculpa por no haberte captado.

Nunca relacionas una cuenta a un journal directamente.
Ya que una cuenta, la puedes usar en distintos journals.

El jounal, es el que se relaciona a cierta actividad o tipo de movimiento, por ejemplo.
Dependiendo si la factura es de venta, debe de usar el Jounal de Venta
Lo mismo ocurre si es una factura de compra, nota de crédito o nota de débito...

Aquí el tema, es que si tienes varios Journals de Venta, como le haces para saber si se va a usar uno u otro.
Bueno, esto viene en el Journal Contable, (que se usa de la misma forma), y desde ahí relacionas su Journal Analítico, en el campo correspondiente.

Para que no estés eligiendo Journal Contable y luego el Jounal Analítico, se utiliza solo el Journal Contable y a este se le relaciona su Journal Analitico desde el catalogo de account.journal, y no desde el movimiento.

Espero haberme explicado.

¡Saludos!

Revision history for this message
Eric Hernández - http://www.grupoaltegra.com (daimon) said :
#8

Ahora si andamos en el mismo "canal" jaja.

Si moy gracias con tus comentario resolví el problema, anexo como quedo el diccionario completo en donde "tomo" los datos que requiero.

                myDict = {
                    'amount': invoice_line['price_subtotal'] * analytic_account.percent / 100 * -1,
                    'name': invoice_line['name'],
                    'account_id': analytic_account['id'],
                    'product_id': invoice_line.product_id['id'],
                    'date': time.asctime(),
                    'general_account_id': invoice.journal_id.default_debit_account_id['id'],
                    'journal_id': invoice.journal_id.analytic_journal_id['id'],
                    'ref': invoice['origin'],
                }

Estos dos con los campos como quedaron finalmente:

                    'general_account_id': invoice.journal_id.default_debit_account_id['id'],
                    'journal_id': invoice.journal_id.analytic_journal_id['id'],

Gracias :)

Revision history for this message
Eric Hernández - http://www.grupoaltegra.com (daimon) said :
#9

Thanks Moisés López - http://www.vauxoo.com, that solved my question.