El 04/11/14 a les 11:53, Raimon Esteve ha escrit:
Por mi si, de todos modos ahora *es obligatorio* que el plan de cuentas
tenga marcado el party_required.
Si no se tienen marcadas las cuentas correctamente pasan las siguientes
cosas:
1. En los apuntes contables el campo party se muestra como invisible,
por tanto no veràs el tercero si lo tienes asignados.
2. Cuando generes una factura para esa cuenta sólo se relacionara con el
tercero en el caso de que tenga marcado el party_required.
3. Otros mòdulos nuestros que generar apuntes contables (por ejemplo
sale_account_stock_move, purchase_account_stock_move i alguno mas),
estan migrados con el mismo comportamiento que el account_invoice, sino
causan errores de dominio.
He hecho las respectivas mejoras en el account_es [1] , account_es_pyme
[2] y csv2xml [3]
Todo esto implica lo siguiente:
1. Al migrar una base de datos a la versión 3.4, si se tiene instalado
el account_es o el account_es_pyme se debe actualizar el plan de cuentas
(a través del asistente) para que te marque las cuentas contables.
2. Se puede dar el caso de que en la base de datos existente, haya
apuntes contables que no tienen tercero pero que con la nueva
actualización deberían tenerlo. En ese caso, el asistente de actualizar
plan de cuentas te da un error muy bonito, que se puede corregir con la
siguiente consulta:
UPDATE account_move_line as ml SET party = c.party
FROM account_account as a,
account_account_template as at,
company_company as c
WHERE
a.id = ml.account AND
at.id = a.template AND
c.id = a.company AND
at.party_required AND
ml.party is null;
Lo que yo he hecho es poner como tercero, el tercero que esta
relacionado con la empresa de la cuenta. Si queréis otra cosa, podéis
modificaros vosotros mismos la consulta ;), sino siempre podéis revisar
a mano buscando los apuntes que tienen cómo tercero la misma empresa.
3. Se puede dar el caso inverso, que existan movimientos de cuentas no
marcadas cómo party_required que tengan el tercero establecido. En ese
caso, nos dará un error de dominio si modificamos algun campo de la
línea. Lo podemos corregir con la siguiente consulta:
UPDATE account_move_line as ml SET party = null
FROM account_account as a
WHERE
a.id = ml.account AND
not COALESCE(a.party_required, False) AND
ml.party is not null;
Un saludo,
[1]
https://bitbucket.org/trytonspain/trytond-account_es/commits/b667d9650e3e2c5eab84d152d8663b320a95e4fb
[2]
https://bitbucket.org/trytonspain/trytond-account_es_pyme/commits/93b855013254a294ba46acf7c83a08777c2b0fcf
[3]
https://bitbucket.org/trytonspain/tryton-account_es_csv2xml/commits/f62a952b54775683bd97e5c5843e2c715da2b97c