Skip to main content

PROC002 - Nova DC-e


image-1762776253666.png

Projeto/Sistema:
GERENCIAMENTO DE PROJETOS
Versão do Template:
1.2
Processo:
Descrição Processo
Versão do Documento:
1.0
Responsável(eis): 
-

Data: 

05/01/2026

1. Introdução

Este processo visa exemplificar a documentação padrão

2. Processo (adicionar fluxograma exemplo)

 

image-1724162109370.png

I - Fluxograma Exemplo

 

Processo

Envolvidos

Dados de Entrada

Dados de Saída

Processo

N/A

N/A

N/A

Processos Relacionados


Documentação Exemplo 1 

Documentação Exemplo 2

Especificação Funcional


PROC001 EXEMPLO:

Protótipo de Tela:

image-1776272925411.png

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

image-1776273178684.png

Imagem II - Informações adicionais do produto.

Descrição dos Campos:

Campo

Tipo

Tamanho

Obrig. ?

Máscara

Observações

DC-e Num Texto 6 - - Apenas visualização.
Data Emissão DateTimePicker - Sim DD/MM/YYYY -
Remetente Texto - - - -
Q / image-1776273366139.png Botão -  - - -
Nome Remetente Texto - - Campo sem label a frente do campo remetente, apenas visualização.
Destinatário Texto - Sim - -
Q / image-1776273366139.png Botão -  - - -
Nome Destinatário Texto - - Campo sem label a frente do campo remetente, apenas visualização.
Produto Texto - Sim - -
Q / image-1776273366139.png Botão - - - -
Nome Produto  Texto - - - -
LE Texto - Não - -
Quantidade Decimal 11v4 Sim - -
Vl. Unitário Decimal 11v10 Sim - -
V. Total Decimal 13v2 - - Apenas visualização.
+ /image-1776273893331.png Botão - - - -
Informações Adicionais LinkLabel - - - -
Item Column Header - - - -
Descrição Column Header - - - -
Quantidade Column Header - - - -
Vl.Unit Column Header - - - -
V.Tot.Bruto Column Header - - - -
TOTAL(R$) Decimal 13v2 - -
Modalidade de Transporte ComboBox - Sim  - A escolher entre: Transporte 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  -
Finalidade ComboBox - A escolher entre: DC-e Normal e Contingência Offline
Cancelar Botão - - -
CONFIRMAR Botão - - - -
Pré-visualizar DC-e CheckBox - - - -
Regras de Interface:
  1. DC-e Num: Campo visual, deve trazer o código da DC-e em banco. Ao abrir a primeira vez ficará como zero, pois é definido após salvar.
  2. Data Emissão: Considerar o valor padrão como a data "hoje" do computador.
  3. Remetente: Por padrão bloqueado. Campo código do cadastro de clientes. Ao ser digitado o código e apertado 'Enter' o cadastro correspondente deve ser vinculado e o nome do cliente preenchido. Caso seja digitado zero e aperte o 'Enter', deve ser aberta a tela de busca de clientes. Esse campo somente será desbloqueado quando o tipo de emissor mencionado no PROC001 - Criação das configurações associadas for "Transportadora".
    1. Q / image-1776273366139.png: Deve abrir a tela de busca de clientes.
  4. Destinatário: Campo código do cadastro de clientes. Ao ser digitado o código e apertado 'Enter' o cadastro correspondente deve ser vinculado e o nome do cliente preenchido. Caso seja digitado zero e aperte o 'Enter', deve ser aberta a tela de busca de clientes.
    1. Q / image-1776273366139.png: Deve abrir a tela de busca de clientes.
  5. Produto: Campo código do cadastro de produtos. Ao ser digitado o código e apertado 'Enter' o cadastro correspondente deve ser vinculado e a descrição do produto preenchida. Caso seja digitado zero e aperte o 'Enter', deve ser aberta a tela de busca de produtos.
      1. Q / image-1776273366139.png: Deve abrir a tela de busca de produtos.
      2. Caso o produto seja do tipo estoque Grade, Lote e Validade
  6. Informações Adicionais : o clique no Link 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". (Imagem II)
  7. LE: Por padrão bloqueado. Campo referente ao Local de Estoque, deve ser liberado caso esteja configurado no sistema o uso de Local de Estoque.
  8. Tipos de Estoque: Os controles de tipo de estoque como Validade, Grade, N. Serie, Arma devem aparecer logo abaixo da descrição do produto para o preenchimento do usuário. Comportamento padrão do sistema.
    image-1776275304860.png
    image-1776275396431.png
    image-1776275445034.png
  9. Valor Unitario: Com o foco no valor do valor unitario, ao apertar "Enter" no teclado deve ser feitas as validações para a inserção do produto. Caso algum campo não esteja preenchido, exibir uma mensagem de aviso. Exemplo: "Erro! verifique o preenchimento dos campos obrigatórios." Caso todos os campos obrigatórios estejam preenchidos, o produto deve inserido na grid de listagem de produtos inseridos. 
  10. Valor Total: Campo desabilitado por padrão. Realiza o calculo da Quantidade * Valor Unitário em tela.
  11. Inseririmage-1776372706619.png: 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 aviso. Exemplo: "Erro! verifique o preenchimento dos campos obrigatórios." Caso todos os campos obrigatórios estejam preenchidos, o produto deve inserido na grid de listagem de produtos inseridos. 
  12. Listagem: 
    1. Editar: Ao dar duplo-clique no item inserido na listagem, o item deve voltar para edição nos campos de preenchimento.
    2. Excluir: A ação para deletar um registro inserido na listagem é na ação da tecla 'Delete' no teclado.
  13. Label TOTAL(R$): Deve representar a soma dos valores totais de todos os itens inseridos na listagem.
  14. Modalidade de Transporte: valor padrão: Transporte Próprio
  15. CNPJ da Transportadora: campo desabilitado por padrão. Deve estar habilitado somente quando  a modalidade de transporte selecionada for "Terceiros". 
  16. Finalidade de Emissão: Por padrão deve ser "DC-e Normal"
  17. Cancelar: O clique no botão "Cancelar" deve finalizar tela.
  18. Confirmar: deve validar os campos de preenchimento obrigatório e caso um ou mais campos não estejam preenchidos, deve exibir uma mensagem de erro. Exemplo "Erro! verifique o preenchimento dos campos obrigatórios.". Caso a DC-e possa ser salva, exibir a mensagem "DCE salvo com código {código da DC-e}".
Regras de Negócio:
  1. Tipo de Emissão: o tipo de emissão deve ser armazenado no banco de acordo com a nomenclatura do manual: 1=Emissão normal (não em contingência);9=Contingência off-line da DCe.
  2. Valor Total: o valor total é calculado a partir da multiplicação entre o Valor Unitário e a Quantidade.
  3. Confimar: caso o DC-e possa ser salvo, deve realizar o salvamento do registro no banco de dados. Caso seja uma edição, o registro deve ser atualizado no banco de dados.
  4. 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, usar a mesma regra de validação dos outros documentos para impedir modificação no mesmo número ou registro.
Questões Técnicas:
  1. Deverão ser criadas novas tabelas no banco de dados para armazenamento das novas informações. 
CREATE TABLE dce (
  id AUTOINCREMENT PRIMARY KEY,
  criacaoHorario LONG NOT NULL,
  criacaoUsuario LONG NOT NULL,
  data LONG NOT NULL,
  ultimoHorario LONG,
  ultimoUsuario LONG,
  usuarioId LONG NOT NULL,
  empresaId INTEGER,
  responsavelEmissao BYTE,
  destinatarioId INTEGER,
  emitenteId INTEGER,
  valorTotal DECIMAL(13,2),
  valorTotalLiquido DECIMAL(13,2),
  modalidadeTransporte BYTE NOT NULL,
  cnpjTerceiros TEXT(18),
  observacao MEMO,
  DCe_stAssinado YESNO NOT NULL,
  DCe_stAutorizado YESNO NOT NULL,
  DCe_stCancelado YESNO NOT NULL,
  DCe_stEnviado YESNO NOT NULL,
  DCe_stValidado YESNO NOT NULL,
  ambiente TEXT(255),
  cDV LONG NOT NULL,
  cMDFe LONG NOT NULL,
  caminhoArquivoXML TEXT(255),
  chaveAcesso TEXT(255),
  chaveConf TEXT(255),
  modelo LONG NOT NULL,
  numeroDCe LONG NOT NULL,
  procEmi LONG NOT NULL,
  protAutoriza TEXT(255),
  serie LONG NOT NULL,
  tpEmis LONG NOT NULL,
  tpEmit LONG NOT NULL,
  ufEmit TEXT(255),
  verProc TEXT(255),
  geradoEstoque YESNO NOT NULL,
  cteVinculado TEXT(255),

  CONSTRAINT fk_dce_destinatario
    FOREIGN KEY (destinatarioId) REFERENCES Cad_Cliente (Codigo),

  CONSTRAINT fk_dce_emitente
    FOREIGN KEY (emitenteId) REFERENCES Cad_Cliente (Codigo)
);
CREATE TABLE dceitem (
  id AUTOINCREMENT PRIMARY KEY,
  criacaoHorario LONG NOT NULL,
  criacaoUsuario LONG NOT NULL,
  ultimoHorario LONG,
  ultimoUsuario LONG,
  informacoesAdicionais TEXT(500),
  quant DECIMAL(19,10) NOT NULL,
  vlTotal DECIMAL(19,2),
  vlTotalLiq DECIMAL(19,2),
  vlUnit DECIMAL(19,10) NOT NULL,
  produtoId INTEGER NOT NULL,
  nomeProduto TEXT(120) NOT NULL,
  dceId INTEGER NOT NULL,
  gradeId INTEGER,
  tabelaPreco TEXT(100),
  valorCusto DECIMAL(19,4) NOT NULL,
  tipovariacao TEXT(255),
  variacaoEstoque LONG NOT NULL,

  CONSTRAINT fk_dceitem_dce
    FOREIGN KEY (dceId) REFERENCES dce (id),

  CONSTRAINT fk_dceitem_produto
    FOREIGN KEY (produtoId) REFERENCES Estoque_Itens (Codigo)
);

©SOFTEN SISTEMAS 2026