Ir para o final dos metadados
Ir para o início dos metadados

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

Versão 1 Próxima »

CCF-22884

Histórico

 

O MDF-e é uma parte do projeto NF-e, cuja especificação técnica é controlada pela SEFAZ RS (vide https://mdfe-portal.sefaz.rs.gov.br/). MDF-e deverá ser emitido por empresas prestadoras de serviço de transporte para prestações com mais de um conhecimento de transporte ou pelas demais empresas nas operações, cujo transporte seja realizado em veículos próprios, arrendados, ou mediante contratação de transportador autônomo de cargas, com mais de uma nota fiscal.

A finalidade do MDF-e é agilizar o registro em lote de documentos fiscais em trânsito e identificar a unidade de carga utilizada e demais características do transporte.

Não é um documento novo, mas sim a escrituração digital do Manifesto de Carga, um documento opcional utilizado por empresas transportadoras de cargas onde são relacionados todos os conhecimentos de transporte que deveriam ser emitidos em uma operação de transporte de carga fracionada, ou seja, onde em um mesmo caminhão há mercadorias para diversos destinatários. Havendo a utilização do Manifesto de Carga, não há necessidade de emitir um conhecimento de transporte para cada destinatário, sendo emitido apenas um, acompanhado do manifesto de carga em cada operação. Sua existência se deu pelo Ajuste Sinief nº 15/89, que acrescentou o inciso XVIII no art. 1º do Ajuste Sinief 06/89, criando o modelo 25 dos documentos fiscais utilizados pelos contribuintes do ICMS. Também pode ser utilizado por empresas que possuem frota própria e fazem entregas de cargas a vários clientes. Agora o modelo do MDF-e será 58.

O Sispetro não possui uma tela para Manifesto de Carga, mas como SP legislou sobre a obrigatoriedade do MDF-e a partir de 03/02/2014 será necessário implementá-lo no Sispetro.

 Objetivo

Implementar o MDF-e no Sispetro.

Solução

Modo de funcionamento do MDF-e

Empresas envolvidas: Empresa transportadora ou distribuidora de combustíveis

Situação: Emissão de CT-e's de carga fracionada (vários destinatários para o mesmo caminhão) ou emissão de NF-e's dos diversos clientes para o mesmo caminhão

Fluxo Normal:

  • Emissão dos CT-e's ou NF-e's
  • Inclusão de um MDF-e vinculando os Conhecimentos ou as Notas Fiscais
  • Envio da solicitação de Recibo para SEFAZ com dados do MDF-e e os conhecimentos/notas vinculados
  • Recebimento do Número de Recibo da SEFAZ
  • Envio da solicitação de Protocolo para SEFAZ com o número de recibo recebido
  • Recebimento do protocolo da SEFAZ
  • Emissão do DAMDFE (Documento Auxiliar de MDF-e, similar ao DANFE ou DACTE)
  • Saída do Caminhão para entrega
  • Conclusão da entrega
  • Envio do Encerramento para SEFAZ indicando Chave de Acesso e Protocolo do MDF-e e UF/Município de Descarregamento
  • Caminhão fica liberado para fazer outra entrega

Explicações Adicionais:

  • Contingência própria: A empresa emite o DAMDFE contendo no local do Protocolo de Autorização de Uso um texto padrão sobre a emissão em contingência. A empresa tem até 24 horas para enviar para SEFAZ esse MDF-e. Na chave de acesso do MDF-e consta a forma de emissão: Normal ou Contingência.
  • Contingência SEFAZ: Não previsto. Os ambientes previstos são Homologação e Produção. No caso de problemas com o ambiente de Produção a empresa deve seguir a regra para Contingência Própria.
  • XML exclusivo por NF-e: Num primeiro momento só deve ser enviado para solicitação de recibo um único MDF-e
  • Cancelamento: O cancelamento de um MDF-e é feito pelo Registro de Eventos, somente quando ele foi autorizado
  • Inutilização: Não há nenhum webservice previsto para inutilização. Sendo assim, MDF-e's não autorizados devem ser cancelados no sistema sem nenhuma comunicação à SEFAZ
  • Distribuição: Não há nenhuma especificação da necessidade de distribuição do XML do MDF-e para outras entidades.
  • Carta de Correção: Não há nenhuma especificação a respeito
MDF-e no Sispetro

Para adequar o Sispetro para o MDF-e considerando as características citadas acima teremos as alterações/implementações a seguir.

Tabela de UF's

Na aba Detalhes criar uma sub-aba "Endereços URL p/ MDF-e" com os seguintes campos para Produção e Homologação:

  • Recepção
  • Retorno
  • Evento
  • Consulta MDF-e
  • Status 

Apesar das URL's do MDF-e serem centralizadas na SEFAZ de RS disponibilizaremos as URL's na tabela de UF's como é feito com NF-e e CT-e, assim, no caso de alguma UF depois desmembrar e resolver liberar suas URL's o processo já está pronto no Sispetro.

 

Perfil de Sistema

Ter uma aba MDF-e com os seguintes campos (por empresa):

  • Habilita MDF-e: Checkbox que indica se a empresa está habilitada a emitir MDF-e
  • Ambiente: Homologação ou Produção
  • Off-line (Contingência)?: Checkbox que indica se a empresa está trabalhando off-line, o que significará Contingência para MDF-e
  • Valida Schema?: Checkbox que indica se deve ser validado o schema do XML nos processos de MDF-e
  • Caminho do arquivo de layout do DAMDFE: Onde o usuário poderá indicar o caminho e editar o layout indicado
  • Modelo: Sugerido o valor 58, mas que pode ser alterado pelo usuário para indicar qual o modelo a ser sugerido na tela de MDF-e
  • Série: Onde o usuário poderá indicar uma série do Tipo Emissão Própria para ser sugerida na tela de MDF-e. a ser responsável pela numeração sequencial do MDF-e.
  • Informações Adicionais: Texto que será sugerido na tela de MDF-e (para uso do Fisco)
  • Informações Complementares: Texto que será sugerido na tela de MDF-e (de interesse do Contribuinte)
  • Prazo para cancelamento de MDF-e (horas): Onde poderá ser especificado o número de horas a partir da data/hora de autorização que o MDF-e pode ser cancelado. Quando não autorizado será considerada a data/hora de emissão.

Criar grupos para organizar melhor os perfis citados acima

 

Perfil de Usuário

  • Pode incluir/processar MDF-e
  • Pode imprimir MDF-e 
  • Direciona impressão MDF-e
  • Pode cancelar MDF-e

Natureza de Operação

Na aba Por Filial/Dados Gerais, adicionar um campo "Permite MDF-e", em checkbox, padrão desmarcado, próximo aos campos "Habilita NF-eletronica" e "Envia Manifestação Destinatário"

Sugeriremos esse campo marcado para todas as Naturezas de Emissão própria, cuja empresa seja de SP.

 

Inclusão de Nota Fiscal

Ao concluir o salvamento de uma Nota Fiscal deve ser verificado o perfil da Natureza "Permite MDF-e" para então salvar na NF um campo "Permite MDF-e".

Isso facilitará a pesquisa de que notas fiscais devem exigir NF-e na tela de MDF-e's pendentes.

  • Sispetro Normal e Remoto
  • Independente da origem da NF: Venda, Outras Saídas, via Importação de NF ou Remessa/Retorno Armazenagem
  • Apresentar esse novo campo na aba principal da Manutenção de NF's

Inclusão de Conhecimento

Ao concluir o salvamento de um Conhecimento de Frete deve ser verificado o perfil da Natureza "Permite MDF-e" para então salvar na NF que representa o Conhecimento um campo "Permite MDF-e".

Isso facilitará a pesquisa de que notas fiscais devem exigir NF-e na tela de MDF-e's pendentes.

  • Sispetro Normal e Remoto
  • Apresentar esse novo campo na aba principal da Manutenção de NF's

Marcaremos automaticamente, com a atualização da versão, os Conhecimentos e NF-s:

  • Empresa de SP 
  • Data de Emissão maior ou igual a 03/02/2014
  • Cuja Natureza de Operação seja de Emissão própria

Manutenção de Notas Fiscais

Ter na aba principal as informações:

  • Se a NF é passível de MDF-e
  • O ID do MDF-e quando vinculado
  • Se a NF foi marcada para desconsiderar e data/hora e usuário que desconsiderou

Ter na aba Transportes uma aba MDF-e com os dados principais do MDF-e que foi vinculado à Nota


Cancelamento de Nota Fiscal ou Conhecimento

Verificar, junto com a análise de cancelamento que é feita atualmente, se a Nota Fiscal ou Conhecimento foi vinculada(o) a um MDF-e não cancelado. Impedir o cancelamento nesses casos.

 

MDF-e

 

 O MDF-e será utilizado inicialmente somente pelo Sispetro Normal, sem previsão para sua implantação no Sispetro Remoto.

 

  • Tela de Manutenção de MDF-e
    • É a tela que centralizará todas as operações relacionadas a MDF-e. Será acionada pelo menu Faturamento caso a empresa esteja com o perfil "Habilita MDF-e" marcado. Apresentará na parte superior da tela o ambiente configurado para a empresa e como está o perfil Off-line.

    • Detalhamento dos Botões:
      • Inclui: Veja tópico Inclusão de MDF-e. Só disponível caso perfil de usuário "Pode incluir MDF-e" esteja marcado.
      • Cancela: Aciona o cancelamento do MDF-e. Veja tópico Cancelamento MDF-e 
      • Imprime: Imprime o DAMDFE do MDF-e posicionado no grid. Apresentando na mensagem de questionamento se o MDF-e está autorizado ou não. Só permitido para usuário cujo perfil "Imprime MDF-e" esteja marcado. Só permitirá a indicação da impressora caso o perfil de usuário "Direciona Impressão" esteja marcado.
      • Visualiza Impressão: Permite a visualização do DAMDFE do MDF-e posicionado no grid. Segue as mesmas regras do botão Imprime, quanto ao perfil de usuário e mensagem se o MDF-e está autorizado ou não.
      • Sincroniza: Permite a consulta na SEFAZ desse MDF-e, através da Chave de Acesso. Salva na aba Processamento SEFAZ o resultado da Consulta. Só disponível caso perfil de usuário "Pode incluir/processar MDF-e" esteja marcado.
      • Pendentes: Aciona tela para enviar MDF-e's pendentes de processamento na SEFAZ, entre eles os MDF-e's que precisam de Encerramento. Veja tópico MDF-e's pendentes. Só disponível caso perfil de usuário "Pode incluir/processar MDF-e" esteja marcado.
      • Consulta Status: Aciona a consulta do Status do Serviço no ambiente que a empresa esteja configurada, desde que não esteja Off-line. 
      • Atualiza: Atualiza os dados da tela conforme os filtros de período e status indicados
    • Detalhamento das Abas:
      • MDF-e's: Exibe os MDF-e's da empresa conectada conforme filtro de período e status indicado na tela
      • Documentos Vinculados: Exibe os dados principais (data, número, valor, entidade, chave de acesso) dos CT-e's/NF-e's vinculados ao MDF-e posicionado na aba principal
      • Percurso: Exibe as cidades de percurso desse MDF-e.
      • Processamento SEFAZ: Exibe todas as comunicações com a SEFAZ para esse MDF-e (similar à aba NF-eletronica da Manutenção de NF's)
  • Tela de Inclusão de MDF-e


 

    • Só será acionada por usuário cujo perfil "Pode incluir/processar MDF-e" esteja marcado
    • Na primeira tela apresentada (veja figura acima),na parte superior da tela o usuário informará os dados para localização de NF's ou Conhecimentos
      • Haverá uma opção em tela para indicar se serão escolhidas NF-e's ou CT-e's. Essa opção será sugerida como CT-e's se a empresa for Transportadora e como NF-e's se a empresa NÃO for Transportadoras.
      • O grupo CT-e's só será habilitado caso seja escolhida a opção CT-e's. O Sispetro localizará Conhecimentos conforme o Tipo de Carga informado, tendo as seguintes opções:
        • Somente Fracionada (padrão)
        • Somente Lotação
        • Todos
      • O grupo NF-e's só será habilitado caso a opção seja NF-e's. Ele será útil para identificar NF-s cujo Motorista esteja alocado também para outras NF's. Isso significará uma carga compartilhada que exige MDF-e. A sugestão padrão seria >= 1. ou seja, independente de fazer parte de uma Carga Compartilhada ou Exclusiva a NF seria apresentada (claro que respeitando os demais filtros).
      • O período sugerido será de 7 dias anteriores da data atual
      • Não faria sentido ter Notas com Depósito, Transportadora/Motorista e Frotas diferentes para um mesmo MDF-e, porém o usuário pode não saber para qual depósito, motorista ou frota ele irá fazer o MDF-e, por isso esses filtros não serão obrigatórios, afinal essa tela será útil para identificar todas as NF's/Conhecimentos passíveis de MDF-e que ainda não tem MDF.
    • Ao clicar no botão Atualiza, além dos filtros da tela serão consideradas as Notas que:
      • São da empresa conectada
      • Passíveis de MDF-e (conforme perfil da Natureza salvo na NF/Conhecimento)
      • Não têm MDF-e vinculado
      • Não foram marcadas para Desconsiderar MDF-e
      • Quando eletrônicas, que estejam autorizadas
      • Não estão canceladas
    • O botão Desconsidera para MDF-e marcar as NF's selecionadas para não serem mais apresentadas nesta tela, independente de não terem MDF-e. Isso será útil para as NF's de Carga Exclusiva, cuja Natureza indica que é passível de MDF-e, mas devido a carga ser exclusiva não deveria ter MDF-e.
      • Salva na Nota Fiscal/Conhecimento que a NF está desconsiderada, data/hora da operação e usuário que desconsiderou.

        Por enquanto só será possível desconsiderar. Caso o usuário se engane e seja preciso considerar essa NF novamente deverá ser feito um script via Suporte. Colocar isso no help.

    • Ao clicar no botão OK, apresenta a nova tela para inclusão/confirmação dos dados para MDF-e, antes porém validará se as NF-s selecionadas podem estar juntas num mesmo MDF-e:
      • Mesmo depósito
      • Mesmo motorista
      • Mesma transportadora
      • Mesmos frotas (frota, carreta e treminhão)

    • Essa tela de Inclusão MDF-e já virá preenchida e dependendo da situação o usuário só precisará clicar no OK para processar o MDF-e.
      • O campo série será sugerido do perfil da empresa. O usuário poderá trocar por outra série que seja do tipo Emissão Própria. Através da série será sugerido o Número do MDF.
      • O modelo será sugerido do perfil da empresa e não poderá ser alterado.
      • A Data/Hora de Emissão será sugerida conforme a data/hora atual e pode ser alterada pelo usuário.
      • Os campos Frota, Carreta, Treminhão, Motorista e Transportadora serão sugeridos conforme as NF's selecionadas na tela anterior, não podendo ser alterados. No caso da Cidade Carregamento é a mesma regra, porém obtida do Cadastro do Depósito da NF.
      • Os campos de Informações Adicionais e Informações Complementares serão do tipo Memo passível de alteração do usuário. Essas informações serão sugeridas do perfil da empresa.
      • O campo Peso Total será sugerido com a soma dos Pesos das NF-s selecionadas (quando NF-e's) ou com 0 (zero) (quando CT-e's), podendo ser alterado pelo usuário.
      • O campo Valor Total da Carga será sugerido com a soma dos Valores Totais das NF's selecionadas (quando NF-e's) ou com a soma dos Valores Toais nas NF's que acobertam o Conhecimento (quando CT-e's), podendo ser alterado pleo usuário. 
    • O grid de NF's selecionadas será preenchido com as NF's selecionadas na tela anterior. 
      • A cidade Final do MDF-e (de Descarregamento) será obtida da última NF apresentada no grid (que não permitirá ordenação de colunas pelo usuário). Assim, a ordem das NF's deve representar o percurso da viagem e o usuário deve utilizar as setas laterais para ajustar essa ordem caso não venha correta
      • Caso tenha a necessidade de retirar uma NF do processo o usuário deve cancelar os dados dessa tela, o que retorna para tela anterior e desmarcar a NF a ser retirada.
    • Ao dar OK teremos o seguinte processo:
      • Salvamento dos dados principais do MDF-e
        • Deve ser verificada a simultaneidade com outro usuário de forma a ajustar o Número do MDF (similar ao que fazemos na NF e no Conhecimento) caso já tenha sido utilizado o número sugerido na tela por outro usuário
        • Deve ajustar na série informada o próximo número
      • Salvamento das NF's vinculadas
        • Além de salvar na tabela correspondente, deve salvar na NF o Sequencial do MDF. Para isso deve também ter controle de simultaneidade, de forma que uma NF não seja incluída em dois MDF's não cancelados ao mesmo tempo
      • Salvamento do percurso
        • A cada NF selecionada também será adicionada a cidade de Entrega na aba Percurso. Lembrando que não serão adicionadas cidades repetidas, nem a cidade que for igual à cidade do Carregamento do MDF-e
      • Todos esses pontos acima farão parte de uma única transação no banco de dados. Ou seja, qualquer problema em qualquer dos pontos deve abortar a transação toda. Dando tudo certo continua os próximos passos.
      • Verificação do perfil Off-line da empresa, que caso esteja desmarcadado força o envio do processamento de Recibo para SEFAZ (nos mesmos moldes da NF ou Conhecimento)
        • Caso OK no Recibo, enviar processamento de Protocolo para SEFAZ.
      • Independente do processo da SEFAZ ter sido enviado ou ter retornado com sucesso, questionar se quer imprimir DAMDFE (se perfil usuário "Pode imprimir MDF-e" estiver marcado), apresentando na mensagem se o MDF-e está autorizado ou não, sugerindo a impressora padrão e deixando alterar a impressora se perfil usuário "Direciona impressão MDF-e" estiver marcado. No caso de ser impresso o DAMDFE de um MDF-e não autorizado, no campo de Protocolo de Uso deve sair a mensagem sobre Contingência, conforme previsto no manual, página 101.
  • Tela de MDF-e's Pendentes
    • Essa tela será similar à tela de NF-e pendentes
      • As opções de tipo de Pendência devem ser: 
        • Recibo: Quando o MDF-e foi incluído, mas seja pela empresa estar off-line ou por erro no processamento da SEFAZ, esse MDF-e não foi processado.
        • Protocolo: Quando o MDF-e tem recibo, mas por algum erro (SEFAZ ou empresa) não conseguiu obter o protocolo
        • Encerramento: Quando o MDF-e está autorizado (tem protocolo), não está cancelado e ainda não está encerrado. Útil para o usuário não esquecer que precisa encerrar o MDF-e.
      • O grid deve apresentar os dados principais dos MDF-e's permitindo marcar cada um deles.
      • Terá os botões:
        • Processa
          • Caso a pendência seja de Recibo ou Protocolo será similar à NF-e, fazendo o envio do processamento para SEFAZ. No caso de Recibo, após processado o MDF-e retorna à tela como Pendente Protocolo, no caso de Protocolo o retorno será como Pendente Encerramento.
          • Caso a pendência seja de Encerramento
            • O usuário deverá indicar a Data/Hora de Encerramento (sendo sugerida a Data/Hora atual) e confirmar a Cidade de Descarregamento, que será sugerida conforme a última NF do percurso. Assim, caso seja necessário trocar uma dessas informações o usuário clica no botão Dados Encerramento e as ajusta. Nesta tela de Encerramento:
              • A cidade a ser informada deve utilizar o cadastro de Cidades do Sispetro.
              • Deve ser validado se a Data do Encerramento informada é maior que a Data de Autorização
        • Sincroniza: Fará a consulta da chave de acesso do MDF-e posicionado para identificar sua situação na SEFAZ.
  • Cancelamento de MDF-e
    • O botão de Cancelamento só estará habilitado se o usuário tiver permissão para cancelamento e o MDF-e estiver com status Ativo
    • Ao solicitar o cancelamento pela tela de Manutenção de MDF-e's o processo será similar ao que é feito na tela de Manutenção de NF's:
      • Questionar o usuário se deseja realmente cancelar
      • Fazer as validações para permitir o cancelamento via Servidor Sispetro, retornando uma lista de possíveis problemas:
        • O MDF-e não pode estar cancelado
        • O MDF-e não pode estar encerrado
        • O MDF-e não pode estar com protocolo pendente (só com recibo pendente)
        • O prazo de cancelamento deve estar de acordo com o configurado no perfil de sistema
          • MDF-e autorizado: Intervalo entre Data/Hora de Autorização e a Data/Hora atual do servidor
          • MDF-e NÃO autorizado: Intervalo entre Data/Hora de Inclusão e a Data/Hora atual do servidor
      • Para MDF-e autorizado enviar o cancelamento para SEFAZ com os seguintes passos:
        • Inclui dados na tabela de Processamento caso não tenha um Comando de Cancelamento como Não Solicitado. Caso tenha o Comando de Cancelamento como Não Solicitado utiliza o mesmo registro
        • Envia o cancelamento para SEFAZ
        • Salva os dados de retorno da SEFAZ (xml, resposta, data de processamento)
        • Se rejeitado pela SEFAZ ou sem comunicação (status não solicitado) aborta todo o processo. Se autorizado continua o processo.
      • Fazer o cancelamento efetivo no Sispetro, salvando Usuário e Data/Hora de Cancelamento
Estrutura de Dados

Tabela MDFe

CampoTipo

MDFeID

Integer Default AutoIncrement Primary Key

CodEmpresa

Integer not null

ChaveAcesso

char(44) not null

Modelo

Integer not null

Serie

char(10)

NumeroMDF

Integer not null

DataMDF

date not null

HoraMDF

time not null

SituacaoMDF

smallint not null

CodigoDNCCarrega

char(09) not null

CodigoDNCDescarrega

char(09) not null

SeqFrota

Integer not null

SeqFrotaCarreta

Integer

SeqFrotaTrem

Integer

CodTranspMotorista

char(05) not null

CodTransp

char(05) not null

Status

smallint Default 0

StatusSefaz

smallint

DataInclusao

datetime Default Current

UsuarioInclusao

char(10)

DataAutorizacao

date

DataEncerramento

date

DataIncEncerramento

datetime Default Current

UsuarioEncerramento

char(10)

SeqMotivoCancto

Integer

DataCancelamento

datetime Default Current

UsuarioCancelamento

char(10)

NumeroRecibo

char(15)

DataProcessamentoRecibo

datetime

NumeroProtocolo

char(15)

XMLProtocolo

Long varchar

DataProcessamentoProtocolo

datetime

CodMsgSefaz

Integer

MsgSefaz

char(200)

NumeroProtocoloCancelamento

char(15)

XMLAutorizacaoCancelamento

Long varchar

DataProcessamentoCancelamento

datetime

SeqEventoCancelamento

Integer

Ambiente

smallint Default 0

XMLSolicitacaoCancelamento

Long varchar

 

Tabela MDFeDoctoVinculado

CampoTipo
SeqMDFeDoctoVinculadointeger
MDFeIDinteger
CodEmpresaNFinteger
SequencialNFinteger

 

Tabela MDFePercurso

CampoTipo
SeqMDFePercursointeger
MDFeIDinteger
UFchar(2)
Ordemsmallint

* Ter índice único para SequencialMDFe e CodigoDNC, ou seja, uma Cidade de percurso não pode estar repetida para o mesmo MDF-e

* Ter índice único para SequencialMDFe e Ordem, ou seja, não pode ter ordem repetida para o mesmo MDF-e

Tabela MDFeProcessamento

CampoTipo

SeqMDFeProcessamento

integer Default AutoIncrement Primary Key

MDFeID

integer not null

TipoComando

smallint not null

Status

smallint Default 0

XMLEnviado

long Varchar

XMLRecebido

long Varchar

XMLProtocolo

long Varchar

XML

long Varchar

NumeroRecibo

char (15)

NumeroProtocolo

char (15)

StatusResposta

integer

MotivoResposta

integer

DataInclusao

datetime

DataProcessamento

datetime

 

Dicas para Homologação

  • A

Controle de tempo dos Trabalhos

TarefaEspecificaçãoCodificaçãoTotal DesenvData Prev. Liberação
Alterações Servidor SisPetro16h - Ueliton40h - Ueliton56h21/01/2013
MDF-e - Perfis e Afins4h - Giovana6h - Paulo6h14/01/2013
Impressão de DAMDFe4h - Giovana8h - Paulo8h15/01/2013
Inclusão MDF-e e Manutenção Básica16h - Paulo32h - Paulo48h23/01/2013
MDF-e Pendente8h - Giovana24h32h27/01/2013
Manutenção MDF8h - Ueliton24h32h29/01/2013

 

Solução Detalhada

Inclusão de MDF-e

A tela de Inclusão será utilizada só no Normal. Porém trabalharemos com memDataSet para facilitar, caso no futuro, seja mudada para utilizar também no Remoto.

Ter uma tabela global temporary MDFeNFPendente com a estrutura dos campos necessários para apresentação na tela, inclusive NumNotasMotorista (para indicar o número de Notas por Motorista para o filtro da tela)

Ter uma procedure do banco MDFeIncluiNFPendente que receba como parametro as opções da tela de Inclusão do MDFe. Parametros:

NomeTipoIn/OutObservacoes
xCodEmpresaintegerin 
xDataInidatein 
xDataFindatein 
xTipoCargasmallintin default -11 Lotação e 0 Fracionada
xOperadorsmallintin default -1 0 : '=',1 : '<>', 2 : '>', 3 : '>=', 4 : '<',5 : '<='
xNumNotasMotoristasmallintin default 0 
xCodDepchar(2)in default '' 
xSeqFrotaintegerin default 0 
xCodTranspMotoristachar(5)in default '' 

 

Essa procedure terá o seguinte comportamento:

  • Pelo código da empresa recebido deve identificar se a empresa é transportadora ou não
  • Se a empresa for transportadora
    • Inserir dados na tabela MDFeNFPendente com o resultado de um select nas tabelas NotaFiscal e Conhecimento, considerando os parâmetros recebidos pela procedure (além dos filtros fixos citados na solução)

    • Usar o recurso de execute immediate para montar o SQL conforme os parametros (ou seja, só terá na clausula where os filtros que tenham parametros informados)
  • Se a empresa for Não transportadora
    • Inserir dados na tabela MDFeNFPendente com o resultado de um select na tabela NotaFiscal considerando os parâmetros recebidos pela procedure, exceto Número de Notas por Motorista (além dos filtros fixos citados na solução)
    • Usar o recurso de execute immediate para montar o SQL conforme os parametros (ou seja, só terá na clausula where os filtros que tenham parametros informados)
    • Caso a opção de filtro de Número de Notas por Motorista seja diferente de >= 1
      • Preencher o campo NumNotasMotorista da tabela MDFeNFPendente com um update similar a:

        update MDFeNFPendente n set NumNotasMotorista = (select count(*) from MDFeNFPendente where CodTranspMotorista = n.CodTranspMotorista)

        Deletar os registros cujo NumNotasMotorista não atenda o filtro passado (usar também execute immediate

Esta procedure será utilizada pelo botão Atualiza da primeira tela para trazer as NF's pendentes de MDF-e

 

Especificação

Seguir a ordem de especificação abaixo

Atenção para não criar os mesmos campos nas especificações acima. A maioria dos campos necessários para o Servidor SisPetro e Client's serão criados na especificação do Servidor.

 

 

 

  • Sem rótulos