Skip to main content

PROC002 - Nova DC-e

. Introdução

      Essa documentação visa descrever o cadastro de um novo tipo de documento no GerencieAqui, a DC-e (Declaração de Conteúdo Eletrônica).

2. Processos

Processo

Envolvidos

Dados de Entrada

Dados de Saída

PROC000 - Criação das Configurações Associadas   Parâmetros de configuração

Sistema habilitado para emissão

PROC001 - Listagem de DC-e   Listagem das DC-e lançadas

 

PROC002 - Nova DC-e -

Novas DC-e ou edição de DC-e já lançadas

DC-e cadastrada ou alterada

Processos Relacionados


PROC000 - Criação das configurações associadas

PROC001 - Listagem de DC-e

Especificação Funcional


PROC002 Novo DC-e

Protótipo de Tela:

 

image-1776210709731.png

Imagem I - Protótipo de tela para o lançamento de uma nova DC-e.

 

Descrição dos Campos:

Campo

Tipo

Tamanho

Obrig. ?

Máscara

Observações

Destinarário AutoComplete 60 Sim    
Data Emissão Datepicker N/A Sim DD/MM/YYYY  
Emitente AutoComplete 60 Não    
Código de Barras Texto 14 Não    
Nome AutoComplete 120 Sim    
Quant. Estoque Label - -    
Grade Combobox 60 Não    
Quantidade Decimal 11v4 Sim    
Valor Unitário Decimal 11v10 Sim    
Valor Total Decimal 13v2 Sim    
Informações complementares

image-1775846578167.png

Botão - -    
Inserir Botão - -    
Código de Barras Column Header - -    
Nome Column Header - -    
Quantidade Column Header - -    
Valor Unitário Column Header -      
Valor Total  Column Header -      
Editar image-1775818796446.png Botão -      
Excluir image-1775818782446.png Botão -      
Modalidade de Transporte RadioButton - Sim   A escolher entre: Próprio, Correios e Terceiros
CNPJ da Transportadora  Texto 18   00.000.000/0000-00 Máscara de CNPJ padrão do sistema
Observações Texto 5000      
Total dos Produtos Label -      
Total da Declaração Label -      
Voltar Botão -      
Novo Botão -      
Excluir Botão -      
Salvar Rascunho Botão -      
Salvar Botão -      
 
Regras de Interface:

1. Destinatário: placeholder: "Insira o nome do Destinatário". A partir da terceira letra digitada, deve ser exibida a lista de 10 clientes possíveis para seleção. 
2. Data Emissão: valor padrão: data considera como "hoje".
3. Emitente: placeholder: "Insira o nome do Emitente". A partir da terceira letra digitada, deve ser exibida a lista de 10 clientes possíveis para seleção. Esse campo somente será renderizado quando o tipo de emissor mencionado no PROC000 - Criação das configurações associadas for "Transportadora".
5. Código de Barras: placeholder: “Insira o código de barras”. A partir da inserção ou leitura de um código de barras existente, as informações vinculadas (nome e valor unitário) ao cadastro do produto inserido deverão ser atualizadas em tela. 
6. Nome: placeholder: "Insira o nome do Produto". A partir da terceira letra digitada, deve ser exibida a lista de 10 produtos possíveis para seleção. 

7. Quant. Estoque: deve exibir o saldo de estoque do produto. 
8. Grade: desabilitado por padrão. Deve ser habilitado somente quando um produto vinculado a uma variação for inserido. Nesse caso, o placeholder se torna "Selecione" e na combobox é possível selecionar qual a grade vinculada, Caso o produto tenha lote, deve também ser renderizado o campo (antes do valor total) de escolha do lote associado para baixa em estoque.

image-1776079162067.png9. Quantidade: placeholder: 0,0. 
10. Valor Unitário: placeholder: 0,0.
11. Valor Total: placeholder: 0,0. Campo desabilitado por padrão.
12. Informações Complementares image-1775846578167.pngo clique no botão deve realizar a abertura da dialog para inserção de informações complementares sobre o produto específico. O tamanho do campo é de 500 caracteres e a informação só a é salva com o clique no botão "Salvar". (O layout está antigo, seguir o novo padrão).

image-1775846898718.png
Imagem II - Protótipo de tela para a inserção de informações adicionais do produto.

12. Inserir: o botão inserir deve realizar a validação dos campos obrigatórios para a inserção de um produto. Caso algum campo não esteja preenchido, exibir uma mensagem de Erro (vermelha) com o campo correspondente. Exemplo: Erro! Informe [O/A CAMPO X]. Caso todos os campos obrigatórios estejam preenchidos, o produto deve inserido na grid de listagem de produtos inseridos. 
13. Editar image-1775818796446.png: o clique no botão de editar dialog de edição de quantidade e valor unitário do produto inserido. A informação só a é salva com o clique no botão "Salvar". (O layout está antigo, seguir o novo padrão).

image-1775847369876.png
Imagem III - Protótipo de tela para a edição dos valores do produto.

14. Excluir image-1775818782446.png: o clique no botão deve exibir a mensagem de confirmação "Você realmente deseja excluir este produto?" Caso sim, o produto deve ser removido da grid. Caso não, nada deverá ser feito, 
15. Modalidade de Transporte: valor padrão: Próprio
16. CNPJ da Transportadora:
campo desabilitado por padrão. Deve estar habilitado somente quando  a modalidade de transporte selecionada for "Terceiros". 

17. Total dos Produtos: exibe o somatório total de todos os produtos inseridos.
18. Total da DC-e: exibe o somatório total de todos os produtos inseridos (total da DC-e). 
19. Voltar: o clique no botão "Voltar" deve retornar a página de listagem.
20. Novo: o clique no botão deve recarregar a página iniciando uma nova DC-e, descartando alterações feitas.
21. Excluir: o clique no botão deve exibir uma mensagem de confirmação "Você realmente deseja excluir essa DC-e?" Caso não, nada a fazer. Caso sim e o documento puder ser excluido, retornar para a tela de listagem. 
22. Salvar Rascunho:
deve validar os campos de preenchimento obrigatório e caso um ou mais campos não estejam preenchidos, deve exibir uma mensagem de erro para cada um, assinalando a necessidade de preenchimento. Exemplo "Erro! O campo [X] é de preenchimento obrigatório!". Caso a DC-e possa ser salva, exibir a mensagem de sucesso (verde) "Salvo com sucesso" e manter o usuário na mesma página. 
23. Salvar:
deve validar os campos de preenchimento obrigatório e caso um ou mais campos não estejam preenchidos, deve exibir uma mensagem de erro para cada um, assinalando a necessidade de preenchimento. Exemplo "Erro! O campo [X] é de preenchimento obrigatório!". Caso a DC-e possa ser salva, exibir a mensagem de sucesso (verde) "Salvo com sucesso" e redirecionar o usuário para a tela de listagem. 

Regras de Negócio:

1. Valor Total: o valor total é calculado a partir da multiplicação entre o Valor Unitário e a Quantidade. 
2. Excluir: deve validar se o DC-e pode ser excluido e realizar a exclusão do registro no banco de dados, caso sim.
3. Salvar Rascunho: caso o DC-e possa ser salvo, deve realizar o salvamento do registro no banco de dados. 
4. Salvar: caso o DC-e possa ser salvo, deve realizar o salvamento do registro no banco de dados.
5. O fluxo de numeração da DC-e deverá seguir o que já existe para os outros documentos fiscais. Para evitar duas pessoas numerando o mesmo documento ao mesmo tempo, usa-se a chave de conferência para vincular o registro das tabelas "dce" e "dceempresa". A numeração deverá seguir sempre a última numeração inserida e as configurações de numeração (seguindo também a regra dos outros documentos fiscais para validação da próxima numeração).

 

 

Questões Técnicas:

Deverão ser criadas novas tabelas no banco de dados para armazenamento das novas informações. 

CREATE TABLE `dce` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `criacaoHorario` bigint(20) NOT NULL,
  `criacaoUsuario` int(11) NOT NULL,
  `data` bigint(20) NOT NULL,
  `ultimoHorario` bigint(20) DEFAULT NULL,
  `ultimoUsuario` int(11) DEFAULT NULL,
  `usuarioId` bigint(20) NOT NULL,
  `empresaId` bigint(20) DEFAULT NULL,
  `responsavelEmissao` int(1) DEFAULT NULL,
  `destinatarioId` bigint(20) DEFAULT NULL,
  `emitenteId` bigint(20) DEFAULT NULL,
  `valorTotal` decimal(13,2) DEFAULT NULL,
  `valorTotalLiquido` decimal(13,2) DEFAULT NULL,
  `modalidadeTransporte` int(1) NOT NULL DEFAULT 0,
  `cnpjTerceiros` varchar(18) DEFAULT NULL,
  `observacao` varchar(5000) DEFAULT NULL,
  `DCe_stAssinado` bit(1) NOT NULL DEFAULT b'0',
  `DCe_stAutorizado` bit(1) NOT NULL DEFAULT b'0',
  `DCe_stCancelado` bit(1) NOT NULL DEFAULT b'0',
  `DCe_stEnviado` bit(1) NOT NULL DEFAULT b'0',
  `DCe_stValidado` bit(1) NOT NULL DEFAULT b'0',
  `ambiente` varchar(255) DEFAULT NULL,
  `cDV` int(11) NOT NULL,
  `cMDFe` int(11) NOT NULL,
  `caminhoArquivoXML` varchar(255) DEFAULT NULL,
  `chaveAcesso` varchar(255) DEFAULT NULL,
  `chaveConf` varchar(255) DEFAULT NULL,
  `modelo` int(11) NOT NULL,
  `numeroDCe` int(11) NOT NULL,
  `procEmi` int(11) NOT NULL,
  `protAutoriza` varchar(255) DEFAULT NULL,
  `serie` int(11) NOT NULL,
  `tpEmis` int(11) NOT NULL,
  `tpEmit` int(11) NOT NULL,
  `ufEmit` varchar(255) DEFAULT NULL,
  `verProc` varchar(255) DEFAULT NULL,
  `geradoEstoque` bit(1) NOT NULL DEFAULT b'0',
  `cteVinculado` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
);

// destinatarioId e emitenteId são ambas fk com a tabela de cliente
CREATE TABLE `dceitem` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `criacaoHorario` bigint(20) NOT NULL,
  `criacaoUsuario` int(11) NOT NULL,
  `ultimoHorario` bigint(20) DEFAULT NULL,
  `ultimoUsuario` int(11) DEFAULT NULL,
  `informacoesAdicionais` varchar(500) DEFAULT NULL,
  `quant` decimal(19,10) NOT NULL,
  `vlTotal` decimal(19,2) DEFAULT NULL,
  `vlTotalLiq` decimal(19,2) DEFAULT NULL,
  `vlUnit` decimal(19,10) NOT NULL,
  `produtoId` bigint(20) NOT NULL,
  `nomeProduto` varchar(120) NOT NULL,
  `dceId` bigint(20) NOT NULL,
  `gradeId` bigint(20) DEFAULT NULL,
  `tabelaPreco` varchar(100) DEFAULT NULL,
  `valorCusto` decimal(19,4) NOT NULL DEFAULT 0.0000,
  `tipovariacao` varchar(255) DEFAULT NULL,
  `variacaoEstoque` bigint(20) NOT NULL DEFAULT 0,

  PRIMARY KEY (`id`)
);

//produtoId é fk com a tabela de produto, gradeId com as variações (em que também é realizado o controle do lote)
CREATE TABLE `dceempresa` (
  `serie` int(11) NOT NULL,
  `ndce` int(11) NOT NULL,
  `empresaId` bigint(20) NOT NULL,
  `chaveConf` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`serie`,`ndce`,`empresaId`),
) 
// cada numeração de cada série é única para cada empresa

A DC-e está disponível nas três variações do GerencieAqui, então os temas devem ser considerados nas emissões.

 

 

©SOFTEN SISTEMAS 2026