Fluxo de Dados do Retira
Visao Geral
O Retira e um documento impresso utilizado pela expedicao para controle de retirada de mercadorias. Este documento exibe informacoes sobre os produtos, pedidos e dados de conferencia.
Esta documentacao descreve de onde vem os dados do "Retira" (DestinatarioRetirada) e como eles fluem pelo sistema.
Fluxo de Dados
┌─────────────────┐ ┌──────────────────────┐ ┌───────────────────┐
│ PEDIDO │────▶│ PRE-DOCUMENTO │────▶│ DOCUMENTO │
│ │ │ FISCAL │ │ FISCAL │
├─────────────────┤ ├──────────────────────┤ ├───────────────────┤
│ DestinatarioId │ │ DestinatarioId │ │ DestinatarioId │
│ EnderecoId │ │ EnderecoId │ │ DestinatarioRetiradaId
│ │ │ │ │ DestinatarioEntregaId
└─────────────────┘ └──────────────────────┘ └───────────────────┘
Etapa 1: Pedido (Origem dos Dados)
Tela de Preenchimento
- Area: Comercial
- Controller:
PedidoController - View:
Areas/Comercial/Views/Pedido/Shared/_DestinatarioPartial.cshtml
Campos Preenchidos
| Campo | Descricao |
|---|---|
DestinatarioId |
Cliente/Pessoa que esta comprando |
EnderecoId |
Endereco do destinatario selecionado |
DestinoMercadoriaId |
Destino da mercadoria |
UsoMercadoriaId |
Uso da mercadoria (filtrado por CNAE) |
CertificadoMercadoriaId |
Tipo de certificado |
Como Funciona
- Usuario busca o destinatario por CPF/CNPJ ou Nome
- Seleciona o destinatario na lista
- Escolhe o endereco de entrega
- Preenche informacoes adicionais (destino, uso, certificado)
Etapa 2: Pre-Documento Fiscal (Intermediario)
Tela de Preenchimento
- Area: Faturamento
- Controller:
PreDocumentoFiscalController - View:
Areas/Faturamento/Views/PreDocumentoFiscal/GerarPreDocumentoFiscal.cshtml
Dados Herdados
O pre-documento fiscal herda os dados do pedido:
// PreDocumentoFiscalDto.cs
public int DestinatarioId { get; set; }
public int EnderecoId { get; set; }
Visualizacao
Os dados do destinatario sao exibidos em:
Areas/Faturamento/Views/PreDocumentoFiscal/Shared/_PreDocumentoFiscalDestinatarioPartial.cshtml
Campos Somente Leitura
Na tela de pre-documento fiscal, os campos do destinatario (Codigo, Nome/Razao Social, CPF/CNPJ) sao exibidos como somente leitura. Apenas o endereco pode ser alterado se houver permissao.
Etapa 3: Documento Fiscal (Destino Final)
Criacao Automatica
Quando o documento fiscal e gerado a partir do pre-documento, o sistema copia automaticamente os dados do destinatario para tres campos:
Arquivo: src/Nelmetais.SGE.Business/Services/Fiscal/DocumentoFiscalService.cs
Linhas: 2217-2225
DestinatarioId = preDocumentoFiscal.DestinatarioId,
DestinatarioEntregaId = preDocumentoFiscal.DestinatarioId,
DestinatarioRetiradaId = preDocumentoFiscal.DestinatarioId, // RETIRA
NomeDestinatario = destinatario?.NomeRazaoSocial,
NomeDestinatarioEntrega = destinatario?.NomeRazaoSocial,
NomeDestinatarioRetirada = destinatario?.NomeRazaoSocial, // RETIRA
EnderecoId = preDocumentoFiscal.EnderecoId,
EnderecoEntregaId = preDocumentoFiscal.EnderecoId,
EnderecoRetiradaId = preDocumentoFiscal.EnderecoId,
Modelo DocumentoFiscal
Arquivo: src/Nelmetais.SGE.Business/Models/Fiscal/DocumentoFiscal.cs
| Campo | Tipo | Descricao |
|---|---|---|
DestinatarioRetiradaId |
int? |
FK para Pessoa que retira |
DestinatarioRetirada |
Pessoa? |
Navegacao para entidade Pessoa |
NomeDestinatarioRetirada |
string? |
Nome da pessoa que retira |
EnderecoRetiradaId |
int? |
FK para Endereco de retirada |
EnderecoRetirada |
Endereco? |
Navegacao para entidade Endereco |
Impressao do Retira
Localizacao
- Area: Faturamento
- Controller:
NfSaidaController - Action:
ImprimirRetira - View:
Areas/Faturamento/Views/NfSaida/ImprimirRetira.cshtml
Acesso
O botao "Retiras" esta disponivel na lista de NF Saida:
Arquivo: Areas/Faturamento/Views/NfSaida/Index.cshtml (linha 74)
<a class="dropdown-item" target="_blank"
asp-action="ImprimirRetira" asp-route-id="@item.Id">Retiras</a>
Conteudo do Documento
O documento "Retira" exibe:
- Cabecalho da Empresa
- Nome da empresa
- Natureza da operacao
-
Endereco e telefone
-
Dados dos Produtos
- Codigo do produto
- Descricao
- Unidade
-
Peso em KG
-
Informacoes Adicionais
- Numero do pedido
- Nome do vendedor
- Dados adicionais
-
Zona de entrega
-
Assinaturas
- Conferencia Faturamento
- Conferencia Expedicao
- Responsavel Expedicao
Arquivos Relacionados
Models
| Arquivo | Descricao |
|---|---|
Business/Models/Fiscal/DocumentoFiscal.cs |
Entidade principal com campos de retirada |
Business/Models/Cadastros/Pessoa.cs |
Entidade Pessoa referenciada |
Business/Dtos/Fiscal/PreDocumentoFiscalDto.cs |
DTO do pre-documento |
Views
| Arquivo | Descricao |
|---|---|
WebApp/Areas/Comercial/Views/Pedido/Shared/_DestinatarioPartial.cshtml |
Formulario de destinatario no pedido |
WebApp/Areas/Faturamento/Views/PreDocumentoFiscal/Shared/_PreDocumentoFiscalDestinatarioPartial.cshtml |
Visualizacao no pre-documento |
WebApp/Areas/Faturamento/Views/NfSaida/ImprimirRetira.cshtml |
Template de impressao |
Services
| Arquivo | Descricao |
|---|---|
Business/Services/Fiscal/DocumentoFiscalService.cs |
Logica de criacao do documento fiscal |
Repositories
| Arquivo | Descricao |
|---|---|
Data/Repositories/Comercial/PedidoRepository.cs |
Metodo ObterPedidoPreDocumentoFiscal |
Data/Repositories/Fiscal/DocumentoFiscalRepository.cs |
Acesso a dados do documento fiscal |
Consideracoes Importantes
Dados Automaticos
Os dados do "Retira" (DestinatarioRetirada) sao preenchidos automaticamente pelo sistema. Nao existe uma tela especifica para editar esses dados de forma independente.
Origem Unica
O DestinatarioRetirada e sempre uma copia do Destinatario do pedido. Se for necessario um destinatario de retirada diferente, seria necessario implementar uma nova funcionalidade.
Diagrama de Entidades
┌─────────────────────────────────────────────────────────────┐
│ DocumentoFiscal │
├─────────────────────────────────────────────────────────────┤
│ DestinatarioId ──────────────────────┐ │
│ DestinatarioRetiradaId ──────────────┼──▶ Pessoa │
│ DestinatarioEntregaId ───────────────┘ │
│ │
│ EnderecoId ──────────────────────────┐ │
│ EnderecoRetiradaId ──────────────────┼──▶ Endereco │
│ EnderecoEntregaId ───────────────────┘ │
│ │
│ NomeDestinatario │
│ NomeDestinatarioRetirada │
│ NomeDestinatarioEntrega │
└─────────────────────────────────────────────────────────────┘