Apenas uma ideia para validar UF percurso - ACBrMDFe - Projeto ACBr
By RicardoVoigt, March 31, 2017 in ACBrMDFe
iniciei os estudos para implementar a emissão do MDF-e, e uma das regras que mais me chamou atenção foi sobre as informações do percurso do manifesto, nas viagens intermunicipais.
Gostaria de compartilhar um pequeno projeto desenvolvido em Lazarus, (meu objetivo é montar um cadastro de percursos, a fim de evitar a rejeição de "Percurso inválido") considerando as seguintes validações verificadas na documentação do MDF-e:
Validações SEM percurso:
1) UF ini e UF fim são iguais
-> não deve selecionar nenhuma UF de percurso
2) UF ini e UF fim são diferentes e fazem divisa
Validações COM percurso:
3) nem UF ini nem UF fim devem estar selecionadas no percurso.
4) a primeira UF da lista deve fazer divisa com a UF inicial (carregamento)
5) entre as UF selecionadas, cada UF deve fazer divisa
com a UF seguinte, na ordem de cima para baixo.
6) a ultima UF da lista deve fazer divisa com a UF final (descarregamento)
Basicamente, foi montada uma classe TUF (uufclass.pas), onde para cada objeto de UF criado, ele cria num vetor a lista das outras UF que fazem divisa com esta. Também tem um Form mostrando como o usuário informaria as UF inicial e final, assim como selecionar (TCheckListBox) as UFs do percurso. Também é possível ordenar as UFs (TListBox). Por último, foi feito uma "perfumaria", desenhando o percurso selecionado, no mapa do Brasil (TImage).
Espero que seja útil, qualquer sugestão é bem vinda.
valida_percurso_lazarus.zip
Quando compartilhamos conhecimento todos aprendem inclusive quem compartilha.
é como o Italo falou!
Só pra registrar, ao testar hoje, foi encontrado um BUG no projeto: Nas divisas de "ES" estava "MS" ao invés de "MG".
Aproveitando o UP, estas mesmas regras também valem para o infPercurso do documento CT-e OS modelo 67.
Em anexo código corrigido, junto com o "project1.exe" compilado.
valida_percurso_lazarus-2018.zip
Leonardo Gregianin 95
Parabéns pelo projeto @RicardoVoigt.
Uma sugestão, poderia ser incluído no svn do ACBr em uma pasta separada ou um projeto aberto do github para não ficar esquecido.
@RicardoVoigt Parabéns...muito útil mesmo !
Mas me deparei com uma situação.
Frequentemente tenho cliente com rotas entre RJ e ES. Em primeira vista, são estados limítrofes.
Entretanto, temos uma rota que vai da cidade de Três Rios - RJ para qualquer cidade do ES que precisamos passar por MG, voltar para o RJ e depois entrar no ES.
E para piorar, quando entramos em MG, é justamente no local de Posto de Fiscalização com balança.
Pelo seu projeto, dá logo a mensagem que trata-se de uf's limítrofes e não deve informar o percurso, que seria RJ (início), MG, RJ, ES (Fim). a segunda passagem pelo RJ está só para mostrar o percurso completo.
Você já se deparou com uma situação desta e como vc trataria em seu projeto ?
Você tem algum MDF-e com esse percurso que foi autorizado pela SEFAZ?
@Italo Jurisato Junior, infelizmente não...estou começando o processo agora e já venho pensando nisto...como tratar ou como a SEFAZ trata isto...
Só sei que as fronteiras MG-RJ, RJ-MG está muito forte na fiscalização. Venho tendo demandas de MDF-e para veículos próprios que não estavam sendo parados na fiscalização, mas a partir do ano passado, começaram a parar.
Por isso postei o caso aqui com intuito de saber se alguém já se deparou com uma situação igual.
21 minutos atrás, Nelson Santos disse:
minha sugestão é tentar emitir em homologação pra ver como será o retorno...
(Infelizmente, eu não tive essa experiência ainda, nenhum dos usuários do software que dou manutenção sequer saiu do RS.... )
Isso mesmo, vou fazer um teste hoje e posto o retorno da SEFAZ RJ aqui...e vamos vendo como a SEFAZ trata...
Eu acredito que a SEFAZ vai rejeitar o MDF-e cuja origem é RJ destino ES com percurso me MG, uma vez que RJ e ES são vizinhos.
Se isso ocorrer, a solução vai ser emiti 2 MDF-e, um com origem RJ destino MG e outro com origem MG e destino ES.