Ir para conteúdo
  • Cadastre-se

dev botao

Assessor Público - Problemas ao fazer o Envio.


Ver Solução Respondido por Italo Giurizzato Junior,

Recommended Posts

Postado

Boa tarde pessoal.

 

Eu fiz um tópico faz alguns minutos, relacionado a Inscrição Municipal / Código Imobiliario no Assessor Público. Sobre a parte da leitura do XML retornado da prefeitura 

Nesse tópico eu abordei (corretamente acredito eu) sobre a leitura dos campos que estavam erradas. Porém agora o problema que eu acredito que existe é no envio da requisição para o Assessor.

image.png.aa67d9ae268720bc56b9f79c98475eb4.png

Como podem ver nessa print, é preenchido a tag 'INSCRICAO' com o campo "InscMun", até então, não deveria haver problemas, porém o próprio Assessor Público, não espera a Inscrição Municipal nessa tag, e sim o Código Imobiliario.

Tanto que fazendo os testes e preenchendo essa tag com a Inscrição Municipal de fato, eu tenho o seguinte retorno da prefeitura: 

image.thumb.png.dd7ced2d03bee40eec1bb61df08c626d.png

Isso pois eles tratam de uma maneira equivocada como as tags são preenchidas.

A minha sugestão (caso o ACBR concorde que o preenchimento não deve ser feito assim) é a seguinte:

Criar na unit ACBrNFSeXConfiguracoes o campo "Codigo Imobiliario" e alterar na unit AssessorPublico.Provider a montagem do campo Emitente.InscMun para Emitente.CodigoImobiliario.

Caso queiram, aqui está as units com as modificações:

AssessorPublico.Provider.pas 

ACBrNFSeXConfiguracoes.pas

 

  • Consultores
Postado

Boa noite,

Criada a TK-7432 para avaliação.

Obrigado pela contribuição.

Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

  • Consultores
Postado

Boa tarde @João Vitor Bogo,

O problema de criar mais um parâmetro de configuração no componente é que temos que alterar o ACBrMonitor (tela de configuração) e na Lib também.

Um campo de configuração a ser usado por apenas um provedor, sendo que podemos usar a configuração existente (Inscrição Municipal) para conter a Inscrição Mobiliaria.

Se em algum momento o provedor precisasse das duas informações ai sim deveríamos ter os dois e não apenas um.

Mudar agora, faz com que muitos desenvolvedores parem de emitir suas notas, pois quem usa esse provedor com certeza esta informando a Inscrição Mobiliaria na propriedade de configuração InscMun.

Desculpe mais não vejo com bons olhos essa mudança.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado
40 minutos atrás, Italo Giurizzato Junior disse:

Boa tarde @João Vitor Bogo,

O problema de criar mais um parâmetro de configuração no componente é que temos que alterar o ACBrMonitor (tela de configuração) e na Lib também.

Um campo de configuração a ser usado por apenas um provedor, sendo que podemos usar a configuração existente (Inscrição Municipal) para conter a Inscrição Mobiliaria.

Se em algum momento o provedor precisasse das duas informações ai sim deveríamos ter os dois e não apenas um.

Mudar agora, faz com que muitos desenvolvedores parem de emitir suas notas, pois quem usa esse provedor com certeza esta informando a Inscrição Mobiliaria na propriedade de configuração InscMun.

Desculpe mais não vejo com bons olhos essa mudança.

Boa tarde

Gostaria de reforçar que a inclusão de um parâmetro específico não é um “trabalho à toa”, mas sim um investimento em clareza, robustez e manutenção futura.

É bom notar alguns pontos para reflexão sobre isso:

  1. Clareza na configuração

    • Ter campos separados para Inscrição Municipal e Código Mobiliário evita ambiguidades e “gambiarras” futuras.

    • Facilita a leitura do código, o entendimento de novos desenvolvedores e a detecção de erros.

  2. Manutenção e escalabilidade

    • Hoje apenas um provedor exige o Código Imobiliário mas amanhã outro pode precisar dele também.

    • Planejar para o crescimento do componente reduz retrabalho e dores de cabeça posteriores onde a emissão de determinadas prefeituras podem 'parar' por falta disso.

    • A adição de um parâmetro dedicado segue o conceito de clean code, onde cada elemento tem responsabilidade única e clara.

  3. Esforço de implementação reduzido

    • No ACBrMonitor, basta adicionar um novo campo de configuração (não é algo complexo)

    • Na Lib, é possível usar exatamente a lógica sugerida, sem alterar o fluxo atual de quem já está em produção: Basta utilizar um IF no preenchimento da Tag com o campo novo, quem já está rodando não vai ter nada preenchido nele, e nesse caso, continua utilizando o que já estava antes.

Adicionar um parâmetro novo traz benefícios claros sem quebrar compatibilidade com quem já está em produção. Dessa forma, garantimos um componente mais organizado, preparado para o futuro e com impacto mínimo para os atuais usuários.

Um último ponto à respeito disso, é que até o momento ninguém que está utilizando pareceu se importar nem com a impressão da NFS desse Provedor, pois como eu cito no meu outro post relacionado à leitura do XML, o 'mesmo campo' está sendo lido como Inscrição Municipal, quando na verdade não é assim. Então eu acredito que essa modificação não terá impacto algum para quem já está utilizando.

  • 2 semanas depois ...

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...