diff --git a/portal_api/conciliacao_fornecedores/CHANGELOG.md b/portal_api/conciliacao_fornecedores/CHANGELOG.md index 9df4ad6..b58c17e 100644 --- a/portal_api/conciliacao_fornecedores/CHANGELOG.md +++ b/portal_api/conciliacao_fornecedores/CHANGELOG.md @@ -156,3 +156,7 @@ Bug relatado pelo usuário: ao marcar "Validado", a conta não ia para os valida ### Rodada 32 — Quitação dos títulos mais antigos como vínculo automático (2026-09-25) Pergunta do usuário (BRASPRESS): o pagamento de R$ 234,40 era exatamente a soma dos 4 títulos mais antigos em aberto (a própria sugestão mostrava "saldo residual de R$ 0,00"), por que não foi vinculado? Causa: a combinação só considera os 12 candidatos mais próximos em data (`MAX_CANDIDATOS_COMBINACAO`), e esses 4 estavam nas posições 16 a 19 entre 80. Proposta aceita pelo usuário: etapa nova no motor, `_quita_mais_antigos()` (`TIPO_SEQUENCIA = "sequencia"`, "Quitação dos títulos mais antigos"; migration `0085_conciliacao_vinculo_sequencia`, aplicada, só as choices), depois da combinação e antes da compensação do segmento fechado: pagamento contra a sequência dos títulos mais antigos em aberto, só com soma exata e 2 títulos ou mais, sem limite de itens. Rodando o motor novo sobre a conciliação 20 (só leitura): 8 vínculos desse tipo, todos com diferença zero (BRASPRESS 234,40 = 4 e 616,82 = 7 títulos; TEX COURIER 468,74 = 11; SUD LOG, JOICEMAR, LEOMAR, SEARA, F N BERLANDA). Vale para novas importações. Critério explicado no modal "Vínculo #N". + +### Rodada 33 — Demais fornecedores apagados com um expandido (2026-09-28) + +Pedido do usuário: ao expandir um fornecedor, deixar os demais "apagados" para destacar o que está em análise. Só CSS (`conciliacao-fornecedores.css`): enquanto houver alguma `tr.conc-row.is-aberta` em `#conc-contas-body` (seletor `:has()`), as linhas de fornecedor não expandidas ganham o fundo `--bg-canvas` (o tom mais escuro do tema, mesmo das linhas em destaque do Relatório Contábil), fora do hover, que continua com o `--card-bg-hover` de sempre. A primeira versão só apagava por opacidade (0.35); o usuário pediu esse tom de fundo e, em seguida, que o texto continuasse apagado como antes: o fundo vai no `tr` e a opacidade 0.35 no `td` (com fundo transparente), pra opacidade não clarear o fundo junto. Com mais de um expandido, todos os expandidos ficam em destaque. diff --git a/portal_api/conciliacao_fornecedores/CLAUDE.md b/portal_api/conciliacao_fornecedores/CLAUDE.md index 3e12ae8..45b8906 100644 --- a/portal_api/conciliacao_fornecedores/CLAUDE.md +++ b/portal_api/conciliacao_fornecedores/CLAUDE.md @@ -99,7 +99,7 @@ Duas vistas na mesma página. **Histórico**: formulário de nova conciliação - passar o mouse na **sugestão** destaca em dourado a própria linha e as do outro lado da sugestão (`situacao.relacionados` no payload, id negativo = saldo de vínculo parcial; classe `is-sugestao-grupo`), no mesmo espírito do destaque verde do vínculo. **Duplo clique na sugestão** marca a linha e as relacionadas não vinculadas (pelo `change` dos checkboxes, então soma e "Vincular selecionados" acompanham); se já estavam todas marcadas, desmarca. Por isso o clique simples dentro da sugestão não marca/desmarca a linha (dispararia duas vezes antes do duplo clique). - na conta expandida, a **barra de seleção** (soma de créditos/débitos, diferença e "Vincular selecionados") e o thead da lista de pendentes também ficam fixos, empilhados abaixo do thead da tabela de fornecedores (`--conc-thead-altura`/`--conc-selecao-altura` no `#conc-detail-view`; se a altura de um deles mudar, ajustar a variável). A `.conc-subtabela--pendentes` desliga o `overflow:hidden` pelo mesmo motivo de `.conc-table-wrap`. -A tabela de fornecedores, **ordenada por padrão pela situação, divergentes primeiro** (depois atenção, pendente, conciliada) (conta, fornecedor, saldo inicial, saldo residual, em aberto há mais de 3 meses, situação com ícone, e um **checkbox "Validado" no fim da linha**, pedido do usuário). O checkbox grava direto pelo mesmo `validar/` do botão "Marcar como validada" do detalhe, sem enviar `observacao` (o servidor mantém a já registrada), e o clique nele não expande a linha. **Quando a conta passa a validada** (por qualquer caminho, inclusive a validação automática), a linha expandida recolhe. Clicar numa linha expande: alertas, o **razão desde a primeira pendência** (todos os lançamentos, na ordem do arquivo e com a coluna de saldo do Questor, a partir da data do lançamento pendente mais antigo, incluindo os itens de pagamento parcial; os já vinculados aparecem apagados como "Vinculado #N" com o tipo, sem seleção, destacando o vínculo inteiro ao passar o mouse e com "Desfazer" na própria linha, para achar vínculo automático errado; um toggle **"Ocultar conciliados"** ao lado do título, **desmarcado por padrão** (pedido do usuário), esconde essas linhas vinculadas só por CSS, e a escolha fica em `estadoDe(conta.id).ocultarConciliados`, sobrevivendo ao re-render depois de vincular/desfazer), os **lançamentos não conciliados** (com checkbox para vínculo manual, valor em aberto e situação de cada um), lançamentos conciliados agrupados por vínculo (ocultos por padrão, com "Desfazer vínculo") e observação/validação da conta. +A tabela de fornecedores, **ordenada por padrão pela situação, divergentes primeiro** (depois atenção, pendente, conciliada) (conta, fornecedor, saldo inicial, saldo residual, em aberto há mais de 3 meses, situação com ícone, e um **checkbox "Validado" no fim da linha**, pedido do usuário). O checkbox grava direto pelo mesmo `validar/` do botão "Marcar como validada" do detalhe, sem enviar `observacao` (o servidor mantém a já registrada), e o clique nele não expande a linha. **Quando a conta passa a validada** (por qualquer caminho, inclusive a validação automática), a linha expandida recolhe. Clicar numa linha expande (e, enquanto houver alguma expandida, as demais linhas de fornecedor ganham o fundo `--bg-canvas` (no `tr`, mesmo tom do destaque do Relatório Contábil) e o conteúdo apagado (`opacity: 0.35` no `td`, com fundo transparente), fora do hover; só CSS via `:has()`): alertas, o **razão desde a primeira pendência** (todos os lançamentos, na ordem do arquivo e com a coluna de saldo do Questor, a partir da data do lançamento pendente mais antigo, incluindo os itens de pagamento parcial; os já vinculados aparecem apagados como "Vinculado #N" com o tipo, sem seleção, destacando o vínculo inteiro ao passar o mouse e com "Desfazer" na própria linha, para achar vínculo automático errado; um toggle **"Ocultar conciliados"** ao lado do título, **desmarcado por padrão** (pedido do usuário), esconde essas linhas vinculadas só por CSS, e a escolha fica em `estadoDe(conta.id).ocultarConciliados`, sobrevivendo ao re-render depois de vincular/desfazer), os **lançamentos não conciliados** (com checkbox para vínculo manual, valor em aberto e situação de cada um), lançamentos conciliados agrupados por vínculo (ocultos por padrão, com "Desfazer vínculo") e observação/validação da conta. ## Limitações conhecidas diff --git a/static/css/conciliacao-fornecedores.css b/static/css/conciliacao-fornecedores.css index d8efabc..55d4061 100644 --- a/static/css/conciliacao-fornecedores.css +++ b/static/css/conciliacao-fornecedores.css @@ -407,6 +407,21 @@ button.conc-kpi.is-active { background: var(--bg-surface-raised); } +/* Com algum fornecedor expandido, os demais ficam com o fundo mais escuro do + tema (`--bg-canvas`, mesmo tom das linhas em destaque do Relatório + Contábil) pra destacar o que está em análise (pedido do usuário). Fora do + hover, pra `.pa-table tr:hover td` continuar dando o feedback de sempre. + O conteúdo também fica apagado: o fundo vai no `tr` e a opacidade no `td` + (com fundo transparente), senão a opacidade clarearia o fundo junto. */ +#conc-contas-body:has(> tr.conc-row.is-aberta) > tr.conc-row:not(.is-aberta):not(:hover) { + background: var(--bg-canvas); +} + +#conc-contas-body:has(> tr.conc-row.is-aberta) > tr.conc-row:not(.is-aberta):not(:hover) > td { + background: transparent; + opacity: 0.35; +} + .conc-expand-btn { display: inline-flex; align-items: center;