Fix payment field + automatic reconciliation on validation

This commit is contained in:
Florian da Costa
2016-11-06 15:33:05 +01:00
committed by Pedro M. Baeza
parent 5d72eef40d
commit f75aee91d7
2 changed files with 25 additions and 9 deletions

View File

@@ -198,19 +198,21 @@ class AccountCheckDeposit(models.Model):
@api.multi
def validate_deposit(self):
am_obj = self.env['account.move']
move_line_obj = self.env['account.move.line']
for deposit in self:
move_vals = self._prepare_account_move_vals(deposit)
move = am_obj.create(move_vals)
total_debit = 0.0
total_amount_currency = 0.0
to_reconcile_lines = []
mv_lines_vals = []
for line in deposit.check_payment_ids:
total_debit += line.debit
total_amount_currency += line.amount_currency
line_vals = self._prepare_move_line_vals(line)
mv_lines_vals.append((0, 0, line_vals))
to_reconcile_lines.append(line)
line_vals['move_id'] = move.id
move_line = move_line_obj.with_context(
check_move_validity=False).create(line_vals)
to_reconcile_lines.append(line + move_line)
# Create counter-part
if not deposit.company_id.check_deposit_account_id:
@@ -220,10 +222,8 @@ class AccountCheckDeposit(models.Model):
counter_vals = self._prepare_counterpart_move_lines_vals(
deposit, total_debit, total_amount_currency)
mv_lines_vals.append((0, 0, counter_vals))
move_vals['line_ids'] = mv_lines_vals
move = am_obj.create(move_vals)
to_reconcile_lines.extend(move.line_ids)
counter_vals['move_id'] = move.id
move_line_obj.create(counter_vals)
move.post()
deposit.write({'state': 'done', 'move_id': move.id})

View File

@@ -61,7 +61,23 @@
('currency_id', '=', currency_none_same_company_id),
('account_id', '=', journal_default_account_id)]"
context="{'currency': currency_id,
'journal_id': journal_id}" />
'journal_id': journal_id}">
<tree>
<field name="date"/>
<field name="date_maturity"/>
<field name="move_id"/>
<field name="journal_id"/>
<field name="name"/>
<field name="ref"/>
<field name="partner_id"/>
<field name="account_id"/>
<field name="debit" sum="Total Debit"/>
<field name="credit" sum="Total Credit"/>
<field name="name"/>
<field name="amount_currency" readonly="True" groups="base.group_multi_currency"/>
<field name="full_reconcile_id"/>
</tree>
</field>
</group>
</sheet>
</form>