Geração automática de MDF-e
Conceito
Essa documentação tem como objetivo descrever as parametrizações necessárias para a geração automática de MDF-e de saída para o modal rodoviário. Trata-se de um processo que não é nativo do sistema, ou seja, cada cliente deve configurar as regras com base no cenário da sua empresa.
Características do MDF-e Automático:
- apenas para modal rodoviário;
- MDF-e com base em NF-es ou CT-es de saída;
- características necessárias para que o documento seja adicionado ao MDF-e:
- deve estar fechado no ERP (E140NFV.SITNFV = 2);
- deve estar com a situação autorizada ou autorizada em contingência (E140IDE.SITDOE in 3,16);
- não estar em outro MDF-e.
Esta solução permite que, através de um ponto de regra identificado pelo cliente como sendo o ponto de geração de MDF-e (fechamento de um documento ou alteração da sua situação para Autorizado), seja feita a emissão do mesmo de forma automática. O processo definido pelo cliente, então, chama a função de programador GerarMDFeSaidaAutomatico, que traz as informações dos identificadores de regra citados mais abaixo para geração do MDF-e. Essa busca se dá através do campo/chave ChaveMDFeAuto.
Parametrização
Primeiro configure a sugestão automática dos locais de passagem no MDF-e. Essa informação é necessária para atender a legislação do Manifesto (onde é chamado de percurso) para o modal rodoviário. Para isso, parametrize os locais de passagem na tela F000PER (Cadastros > Mercado e Suprimentos > Percursos do MDF-e) e defina um como sendo o padrão. Feito isso, se o campo Rotas automáticas da tela F145EBQ estiver preenchido, os locais de passagem serão atualizados automaticamente nas telas de geração de MDF-e (F145EBQ, F145GSM e F440MDF).
- UF Origem: SC
- UF Destino: MG
- Padrão (S/N): S
- Estados passagem (Sequência/UF):
- 1/PR
- 2/SP
Além disso, para gerar o MDF-e automaticamente, é importante que na tela F070FVE seja informada uma série para a geração do MDF-e no campo Série MDF-e padrão.
Após, configure a função de programador GerarMDFeSaidaAutomatico vinculada a uma regra no identificador de regras VEN-140NEIMPBO. O identificador irá executar após a autorização da nota fiscal eletrônica.
Poderá ser utilizada a regra abaixo, onde foi feito um cursor na tabela de informações do documento eletrônico (E140IDE) que busca automaticamente pelas chaves dos documentos eletrônicos autorizados via web service.
Definir numero numebq; Definir alfa ListaChvDoe; Definir alfa ChaveMDFeAuto; Definir alfa GerarXml; Definir alfa NumEbqAlfa; Definir alfa MensagemUsuario; Definir numero VSCODEMP; Definir numero VSCODFIL; Definir alfa VSCODSNF; Definir numero VSNUMNFV; Definir alfa ChvDoe; Definir alfa VCURSOR; Definir alfa VSQL; Inicio ChaveMDFeAuto = "1234"; @ Campo de chave a ser utilizado a critério do usuário.@ @ O valor informado nesse campo estará disponível em todos os IRs do MDF-e Automático.@ GerarXml = "S"; @ Indica a geração automática do XML ao gerar o MDF-e @ SQL_Criar(VCURSOR); VSQL = "SELECT CHVDOE " + " FROM E140IDE " + " WHERE CODEMP = :VSCODEMP " + " AND CODFIL = :VSCODFIL " + " AND CODSNF = :VSCODSNF " + " AND NUMNFV = :VSNUMNFV"; SQL_DefinirComando(VCURSOR, VSQL); SQL_DEFINIRINTEIRO(VCURSOR, "VSCODEMP", VSCODEMP); SQL_DEFINIRINTEIRO(VCURSOR, "VSCODFIL", VSCODFIL); SQL_DEFINIRALFA(VCURSOR, "VSCODSNF", VSCODSNF); SQL_DEFINIRINTEIRO(VCURSOR, "VSNUMNFV", VSNUMNFV); SQL_AbrirCursor(VCURSOR); Se (SQL_EOF(VCURSOR) = 0) Inicio SQL_RETORNARALFA(VCURSOR, "CHVDOE", ChvDoe); Fim; ListaChvDoe = "'" + ChvDoe + "'"; GerarMDFeSaidaAutomatico(VSCODEMP, VSCODFIL, ChaveMDFeAuto, ListaChvDoe, GerarXml, NumEbq); Fim;
Observações
- Caso haja documentos informados tanto no parâmetro ListaChvDoe quanto na regra do identificador VEN-140MDFEA00, o sistema irá priorizar os documentos informados na regra do identificador VEN-140MDFEA00.
- Quando for passado uma chave do documento eletrônico para o parâmetro ListaChvDoe da função GerarMDFeSaidaAutomatico, deve-se sempre adicionar um apóstrofe entre a chave. Caso não seja adicionado pode ocorrer erro de banco de dados.
Importante
É recomendável não retornar mensagens ao utilizar esse identificador por meio do web service, pois ele é executado no retorno do documento para o ERP. Se a regra retornar alguma mensagem, como por exemplo, uma função de Geralog ou Mensagem, o processo de retorno será bloqueado.
Por fim, configure as regras na tela F098REG para atender cada cenário específico do MDF-e, conforme a lista abaixo:
- VEN-140MDFEA00 - MDF-e Automático - Documentos Fiscais para Emissão do MDF-e;
- VEN-140MDFEA01 - MDF-e Automático - Dados Gerais;
- VEN-140MDFEA02 - MDF-e Automático - Rotas;
- VEN-140MDFEA03 - MDF-e Automático - Lacres;
- VEN-140MDFEA04 - MDF-e Automático - Vale Pedágio;
- VEN-140MDFEA05 - MDF-e Automático - Seguro de Carga;
- VEN-140MDFEA06 - MDF-e Automático - Unidades de Transporte e Unidades de Carga;
- VEN-140MDFEA07 - MDF-e Automático - Produto Perigoso.
Entre os identificadores citados acima, apenas o identificador VEN-140MDFEA01 é obrigatório para cadastrar as informações obrigatórias de tipo de carga, código da transportadora, unidade de medida, placa do veículo e motorista. Os demais identificadores citados são opcionais e podem ser utilizados conforme necessidade.
Destaca-se, ainda, que as variáveis e os exemplos de regra podem ser encontrados na documentação de cada IR.
Sugestão
As sugestões são carregadas com base nas informações dos documentos fiscais informados no MDF-e (chamada da função GerarMDFeSaidaAutomatico ou identificador de regra VEN-140MDFEA00).
Campos dos quadros gerais:
Nome | Sugestão |
Motorista | Do documento fiscal: E140NFV.CodMtr do primeiro documento encontrado |
Placa Veículo | Do documento fiscal: E140NFV.PlaVei do primeiro documento encontrado |
Condição Pagamento | Do documento fiscal: E140NFV.CodCpg do primeiro documento encontrado |
Transportadora | Do documento fiscal: E140NFV.CodTra do primeiro documento encontrado |
Peso Bruto | Somatório dos documentos: E140NFV.PesBru |
Peso Líquido | Somatório dos documentos: E140NFV.PesLiq |
Valor Líquido | Somatório dos documentos: E140NFV.VlrLiq |
Data/Hora de Emissão | Data/Hora atual |
Data/Hora de Saída | Se a data/hora de saída do primeiro documento for maior que data/hora atual, utiliza a do documento; caso contrário utiliza a data/hora atual |
Tipo Emitente | Se não for informado, verifica se há CT-e informado na lista de documentos e gera com tipo emitente 1 - Prestador de Serviço de Transporte; caso contrário gera com tipo 2 - Transportador de Carga Própria |
É possível alterá-los por meio do identificador de regras VEN-140MDFEA01.
Rotas:
Tipo | Sugestão |
Carga | Endereço do Cadastro da Filial |
Descarga | Endereço de entrega do cliente do Documento Fiscal (considera a Seq. de Entrega do documento, caso informada) |
Passagem | Busca no Cadastro de Percurso do MDF-e (F000PER), utilizando a Carga e a Descarga como Origem e Destino |
Local de Descarregamento de Notas Fiscais | Cada documento informado estará relacionado ao seu local de descarregamento |
É possível gerar a rota através do identificador de regras VEN-140MDFEA02 (Rotas). Ao utilizá-lo, as informações sugeridas para rota são desconsideradas, sendo necessário informar todos os itens que compõem uma rota (carga, passagem, descarga e local de descarregamento de nota fiscal).
Exemplo prático:
- cadastro da função de programador:
A condição utilizada como exemplo acima é a seguinte: foi feita a emissão das notas fiscais 516, 517, 518 e 519. As notas 516 e 517 foram emitidas para o cliente 1 e as notas 518 e 519 para o cliente 42. Assim, quando houver valores na tabela E140NFV será feita a emissão do MDF-e.
- cadastro dos identificadores de regra para sugestão das informações: