PROC003 - Cancelar DC-e
| Projeto/Sistema: DC-e GerencieAqui |
Versão do Template: 1.2 |
| Processo: Cancelar DC-e |
Versão do Documento: 1.0 |
| Responsável(eis): Daniela Taino |
Data: 28/04/2026 |
1. Introdução
Essa documentação visa descrever o processo de cancelamento de uma DC-e.
2. Processos
|
Processo |
Envolvidos |
Dados de Entrada |
Dados de Saída |
| PROC001 - Listagem de DC-e | Listagem dos DC-e lançados |
|
|
| PROC002 - Novo DC-e | - |
Novos DC-e ou edição de DC-e já lançados |
DC-e cadastrado ou alterado |
| PROC002 - Cancelar DC-e |
DC-e autorizado |
DC-e cancelado |
Processos Relacionados
Especificação Funcional
PROC003 Cancelar DC-e
Protótipo de Tela:
Imagem I - Dialog de cancelamento de DC-e
Descrição dos Campos:
|
Campo |
Tipo |
Tamanho |
Obrig. ? |
Máscara |
Observações |
| Justificativa |
Texto |
255 |
Sim |
- |
- |
| Enviar Cancelamento |
Botão |
|
|
|
|
|
Seq |
Column Header |
- |
- |
- |
Possibiilidade de ordenação ASC ou DESC |
|
Correção |
Column Header |
- |
- |
- |
Possibiilidade de ordenação ASC ou DESC |
|
Status |
Column Header |
- |
- |
- |
Possibiilidade de ordenação ASC ou DESC . Opções disponíveis: AUTORIZADO ou ERRO |
|
Menu |
Column Header |
- |
- |
- |
A escolher entre: |
Regras de Interface:
1. Justificativa: conforme e justificativa for sendo preenchida, a quantidade de caracteres restantes deve ser subtraida.
2. Enviar cancelamento: o padrão deve estar desabilitado, por padrão. Deve ser habilitado se, e somente se, 15 ou mais caracteres forem preenchidos na justificativa de cancelamento.
3. Status: o status deverá seguir as cores padrão do sistema: "AUTORIZADO" (verde) ou "ERRO" (vermelho), partir dos valores do bit "autorizado" na tabela. O tooltip do status deve ser exibido de acordo com o conteúdo da coluna "situacao".
4. Menu:
- Emitir PDF: a opção deverá estar habilitada somente se o cancelamento da DCe estiver autorizado. O clique na opção deverá abrir o comprovante do evento em uma dialog, como acontece com a NFe (alterar tudo que está NFe para DCe e remover o CCe do protocolo).
Imagem II - Referência para comprovante de cancelamento da DC-e.
- Baixar XML: a opção deverá estar habilitada somente se o evento de cancelamento da DCe estiver autorizado. O clique na opção deverá realizar o download do XML de autorização do evento.
- Excluir: a opção deverã estar habilitada somente se o evento de cancelamento não estiver autorizado. A exclusão de um registro remove a linha da exibição na grid e a mensagem deve ser exibida "Evento excluido com o sucesso!".
5. A paginação deve ocorrer a partir de 3 eventos enviados (a autorização acontece só para um, mas o usuário pode tentar o envio várias vezes).
Regras de Negócio:
1. Enviar cancelamento: o clique no botão deve realizar a montagem do XML descrito em Anexo I - Exemplos de XML (cancelamento e retorno) e realizar o envio para o WS DCeRecepcaoEvento, de acordo com o ambiente configurado:
| Ambiente de Produção | ||
|---|---|---|
| Serviço | Versão | URL |
| DCeRecepcaoEvento | 1.00 | https://dce.fazenda.pr.gov.br/dce/DCeRecepcaoEvento?wsdl |
| Ambiente de Homologação | ||
|---|---|---|
| Serviço | Versão | URL |
| DCeRecepcaoEvento | 1.00 | https://dce.fazenda.pr.gov.br/dce/DCeRecepcaoEvento?wsdl |
2. Caso o retorno do WS seja "101 - Cancelamento de DCe Homologado" o bit "autorizado" deve ser marcado como verdadeiro no banco de dados e na coluna "situacao" deve ser inserido o texto Cancelamento de DCe Homologado. Em caso de erro (situação diferente de 101), o motivo do erro deve ser inserido na coluna "situacao" e o bit "autorizado" não sofre alterações de valor. Em todo caso, o arquivo é gravado em disco com o padrão de nomenclatura usado para NFe -> DCe[CHAVE]-canc.xml (para os autorizados) e -cancRet.xml para os erros.
3. Baixar XML: é feita a busca na pasta da empresa e dce, e é feito o download do arquivo DCe[CHAVE]-canc.xml.
4. Excluir: a exclusão deve deletar tudo vinculado a respectiva linha no banco de dados.
Questões Técnicas:
A nova tabela deverá ser criada no banco de dados para armazenar o evento:
CREATE TABLE `dceevento` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`nSeqEvento` int(11) NOT NULL, // sequencial a partir do último registro inserido da dceId
`tipo` int(1) NOT NULL, // 1 = cancelamento
`xCorrecao` varchar(255) DEFAULT NULL, // Justificativa
`empresaId` bigint(20) DEFAULT NULL,
`dceId` bigint(20) DEFAULT NULL,
`autorizado` bit(1) NOT NULL,
`motivo` varchar(255) DEFAULT NULL,
`situacao` int(11) DEFAULT NULL,
)