# v4928.1.5.52 — Seleção granular de documentos por oportunidade

Correção operacional para casos em que o mesmo cliente tem compras próximas e a reconciliação associa orçamento/fatura/venda ao processo errado.

## Problema

Antes, o operador só conseguia desassociar Jasmin/Odoo em bloco. Quando uma oportunidade continha uma fatura correta e um orçamento de outra compra, ou linhas importadas misturadas, não havia forma segura de escolher quais documentos pertenciam à oportunidade.

## Alterações

- Adicionadas ações por documento Jasmin na ficha da oportunidade:
  - **Definir principal**;
  - **Histórico**;
  - **Desassociar este**;
  - Atualizar nº / PDF continuam disponíveis.
- A desassociação de um documento é local ao ClientFlow:
  - não apaga nada no Jasmin;
  - remove só a ligação local do documento à oportunidade;
  - remove apenas linhas importadas desse documento quando existe referência de origem;
  - devolve candidatos de reconciliação desse documento para revisão.
- Candidatos Jasmin passam a permitir **Associar adicional** mesmo quando já existe documento atual, para casos em que orçamento/fatura pertencem à mesma compra.
- Mantém auditoria via `opportunity_events`.

## Validação

```text
PYTHONPATH=. pytest -q tests
314 passed
```
