Impacted versions:
At least version 10, version 11(Can only re-produce the problem sometimes)

Steps to reproduce:
Please see this screencast recorded on odoo runbot.
https://youtu.be/cSPQvp9jQJc

Current behavior:
When users search by account in Journal Entries List View. A special value "dummy_account_id" is set in context, in order to facilitate search by account on account.move level.
With this context value , when users create a journal entries, the system will add default value before the creation.

https://github.com/odoo/odoo/blob/fc69b37cf710623ea215cd085e998679d8c50985/odoo/models.py#L3802

This method will set "dummy_account_id" to the previously searched account in vals.

Then the system continue creating account.move and related account.move.line records.
It is fine until the system run this:
https://github.com/odoo/odoo/blob/fc69b37cf710623ea215cd085e998679d8c50985/odoo/models.py#L3830

Since "dummy_account_id" is related field, and it now has value. The system will change the first related  account.move.line record to dummy_account_id.

Eventualy, the account is wrongly set to "dummy_account_id".

Expected behavior:
This is a feature which will fill the form field value with searched value for users. But the journal entry creation should not be affected by dummy_account_id, since it is only for searching purpose.

@Yenthe666 Would you please review this issue and help to bring related odoo staff to this issue?
""" When removing a partial reconciliation, also unlink its full reconciliation if it exists """
        to_unlink = self
        full_to_unlink = self.env['account.full.reconcile']
        res = True
        if self._context.get('full_rec_lookup', True):
            for rec in self:
                #exc
                if self.env['account.full.reconcile'].search([('exchange_partial_rec_id', '=', rec.id)]):
                    to_unlink = to_unlink - rec
                #wit
                if rec.full_reconcile_id:
                    full_to_unlink |= rec.full_reconcile_id
        if to_unlink:
            res = super(AccountPartialReconcile, to_unlink).unlink()
        if full_to_unlink:
            full_to_unlink.unlink()
        return res
class AccountFullReconcile(models.Model):
    _name = "account.full.reconcile"
    _description = "Full Reconcile"
    name = fields.Char(string='Number', required=True, copy=False, default=lambda self: self.env['ir.sequence'].next_by_code('account.reconcile'))
    partial_reconcile_ids = fields.One2many('account.partial.reconcile', 'full_reconcile_id', string='Reconciliation Parts')
    reconciled_line_ids = fields.One2many('account.move.line', 'full_reconcile_id', string='Matched Journal Items')
    exchange_move_id = fields.Many2one('account.move')
    exchange_partial_rec_id = fields.Many2one('account.partial.reconcile')
    @api.multi
    def unlink(self):