# 3.20.16.6

### 1. Informações Gerais da Versão

Produto: ILLI\
Tag homologação: 3.20.r13641.1\
Versão produção: 3.20.16.6\
Release: r13641\
Data de Lançamento: 02/07/2026\
Módulos impactados: Venda, Produto

Versões corrigidas (Jira): r13641 - 3.20.16.6

**Conferência no git (produto):**
- Branch **r13641** encontrada (commit `22aecff6b59d`).
- Homologação: tag git **beta-3.20.r13641.1** (padrão `beta-3.20.r13641.*`).
- Produção: **3.20.16.6** (Jira) — tag de release oficial ainda pendente no git.

### 2. Nota de Atualização (Resumo)

Release com cinco correções em PDV (NFC-e em contingência e filial no cadastro de cliente), cadastro de produto (canal de venda e migration de tipo Grade legado) e consulta de complementos. O diff inclui migration de dados no banco; tratar como atualização conjunta ou homologar com snapshot em base beta compartilhada.

### 3. Novidades nesta Versão

Sem funcionalidades novas. Foco em correções e regularização de dados legados.

### 4. Melhorias e Ajustes

Não há melhorias adicionais a destacar nesta versão.

### 5. Correções de Bugs

##### PDV — cancelamento automático com duas NFC-e autorizadas (ILLI-3974)

- **O que acontecia:** em venda com contingência NFC-e, quando a transmissão normal falhava e uma segunda nota era emitida e autorizada, a mesma movimentação podia ficar com duas NFC-e autorizadas. Com **Habilitar Cancelamento Automático** ativo, o serviço agendado não cancelava a duplicada nem gerava devolução fora do prazo.
- **Por quê:** o fluxo de cancelamento automático não contemplava o cenário de múltiplos documentos fiscais autorizados na mesma movimentação de venda do PDV após contingência.
- **O que mudou:** ao detectar mais de uma NFC-e autorizada na mesma venda, o sistema trata a duplicidade automaticamente — cancela a nota excedente dentro do prazo ou emite **Devolução por Cancelamento Fora do Prazo** quando o cancelamento não é mais permitido na SEFAZ.

##### PDV — filial no cadastro de cliente (ILLI-3989)

- **O que acontecia:** ao cadastrar cliente durante a venda no PDV, o campo Filial era preenchido e gravado com a entidade principal do usuário, mesmo quando o caixa estava aberto em outra loja.
- **Por quê:** o cadastro de cliente no PDV usava a entidade principal do operador em vez da entidade vinculada à conta PDV da sessão corrente.
- **O que mudou:** a filial do novo cliente passa a refletir a entidade da conta PDV em uso na abertura do caixa, garantindo rastreabilidade correta por loja.

##### Produto — aba Canal de Venda (ILLI-3984)

- **O que acontecia:** na aba Canal de Venda do cadastro de produto, o fluxo de consulta, inclusão, alteração ou remoção de canais vinculados à grade/entidade não concluía corretamente — a operação não persistia ou a tela não refletia o resultado.
- **Por quê:** falha no funcionamento da funcionalidade de canal de venda no cadastro de produto.
- **O que mudou:** a aba Canal de Venda volta a operar normalmente: listar canais vinculados, incluir, alterar dados permitidos (código, estoque mínimo/máximo) e remover vínculos, com confirmação e atualização da lista após salvar.

##### Configuração — consulta de complementos (ILLI-3985)

- **O que acontecia:** na consulta da lista de complementos, quem consumia o serviço precisava informar sempre o tipo de complemento na requisição; filtros por nome, código, alias, situação ou complemento pai, sem o tipo, não retornavam resultado.
- **Por quê:** o endpoint de listagem tratava o tipo de complemento como critério obrigatório, limitando integrações e consultas por outros campos já visíveis no cadastro.
- **O que mudou:** a lista aceita filtros pelos demais campos do complemento (nome, código, alias, situação, classificação, complemento pai). O tipo de complemento permanece disponível como filtro opcional para restringir o escopo.

##### Produto — migration de tipo Grade legado (ILLI-3992)

- **O que acontecia:** produtos cadastrados anteriormente com o tipo **Grade** (modalidade descontinuada) eram gravados como **Acabado** ao editar e salvar na retaguarda.
- **Por quê:** o tipo Grade legado não era mais suportado pelo cadastro atual; a edição forçava conversão incorreta para Acabado.
- **O que mudou:** migration de dados converte todos os produtos com tipo **Grade** para **Grade simples**. Produtos de outros tipos (incluindo Acabado e Grade simples) permanecem inalterados. Após a atualização, não deve existir produto com tipo Grade.

### 6. Mudanças Importantes

Ambiente com **beta e produção no mesmo banco**: homologação na tag `3.20.r13641.1`; produção prevista em `3.20.16.6`.

**Conclusão:** exige validação cuidadosa — possível impacto estrutural no banco. A release inclui migration de dados (`migrations/upgrade/default/279/01_produto.sql`). Tratar como **atualização conjunta** (beta + master) ou homologar com restore/snapshot e prova de que a produção na versão estável continua operando após aplicar a beta.

**Evidências:**

- Diff `master…origin/r13641`: 10 arquivo(s) alterado(s).
- 1 arquivo de migration/SQL: `migrations/upgrade/default/279/01_produto.sql`

**Ressalvas operacionais:**

- Rodar migrations da beta em banco compartilhado pode quebrar a master se ela não souber ler o schema/dados novos.
- Smoke test na master após atualizar a beta: abrir PDV, venda simples, pagamento, fechamento; retaguarda (login, listagem, cadastro de produto com canal de venda).

### 7. Documentação recomendada

Nenhum item desta versão exige guia novo de usuário ou doc interna dedicada além do changelog.

### 8. Problemas Conhecidos

Nenhum problema conhecido comunicado para esta versão.

### 9. Tarefas Relacionadas à Versão

- ILLI-3974 — Cancelamento automático de NFC-e duplicada em contingência
- ILLI-3984 — Correção da aba Canal de Venda no cadastro de produto
- ILLI-3985 — Consulta de complementos por campos além do tipo
- ILLI-3989 — Filial correta no cadastro de cliente no PDV
- ILLI-3992 — Migration de produtos legados Grade para Grade simples