Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cuando se crea cheque propio o de tercero el asiento no es a cuenta puente #47

Open
gbhadolfo opened this issue Mar 24, 2021 · 1 comment

Comments

@gbhadolfo
Copy link

gbhadolfo commented Mar 24, 2021

Cuando creo cheque propio o de tercero el asiento no es a cuenta puente, definidas en el form de la compañía. No es a cuenta de cheques diferidos o cheques en mano. Es a la cuenta del diario.

13

Lo que debe pasar:

Debería ser a cuenta puente.

Solución:

El método post de la clase account.payment del archivo /account_check/models/account_payment.py no debería tener las siguientes líneas:

    for rec in self:
        #raise ValidationError('estamos aca %s'%(rec.payment_method_id.code))
        if rec.payment_method_id.code in ['received_third_check','delivered_third_check','issue_check']:
            rec.do_checks_operations()

Ya que el do_checks_operations no sobreescribe el diccionario de valores del pago (y del asiento). Entonces, para ello, se agrega el siguiente método a esa misma clase (tomado de la localización de adhoc, para la versión 13):

def _prepare_payment_moves(self):
    vals = super(AccountPayment, self)._prepare_payment_moves()

    force_account_id = self._context.get('force_account_id')
    all_moves_vals = []
    for rec in self:
        moves_vals = super(AccountPayment, rec)._prepare_payment_moves()

        # edit liquidity lines
        # Si se esta forzando importe en moneda de cia, usamos este importe para debito/credito
        vals = rec.do_checks_operations()
        if vals:
            moves_vals[0]['line_ids'][1][2].update(vals)

        # edit counterpart lines
        # use check payment date on debt entry also so that it can be used for NC/ND adjustaments
        if rec.check_type and rec.check_payment_date:
            moves_vals[0]['line_ids'][0][2]['date_maturity'] = rec.check_payment_date
        if force_account_id:
            moves_vals[0]['line_ids'][0][2]['account_id'] = force_account_id

        # split liquidity lines on detailed checks transfers
        if rec.payment_type == 'transfer' and rec.payment_method_code == 'delivered_third_check' \
           and rec.check_deposit_type == 'detailed':
            rec._split_aml_line_per_check(moves_vals[0]['line_ids'])
            rec._split_aml_line_per_check(moves_vals[1]['line_ids'])

        all_moves_vals += moves_vals

    return all_moves_vals
@gbhadolfo
Copy link
Author

En el caso de cheques de terceros, reemplacé la línea 376:

vals['account_id'] = check.get_third_check_account().id

por la siguiente:

vals['account_id'] =self.company_id._get_check_account('holding')

ya que el método check.get_third_check_account().id termina tomando la cuenta del journal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant