Ir para conteúdo
  • Cadastre-se

dev botao

Criar Componente De Consulta A Ncm Online


carlosfilho
  • Este tópico foi criado há 2189 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

com esse endereço eu tive difilculdade de receber a resposta do site pois tem muitos scripts,

mas nesse endereco:

http://www4.receita.fazenda.gov.br/simulador/PesquisarNCM.jsp eu inclusive tenho uma função pronta que faz isso,

alem de consultar se existe, ele fas o download de todos os ncm's desse site vou tentar transformar em componente,

caso algum admin do forum  autorize, visto que ele acessa o site da receita para fazer a consulta e download

Editado por datilas
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Não vejo problemas em usar o site

http://www4.receita.fazenda.gov.br/simulador/PesquisarNCM.jsp
parece que ele foi criado para essa finalidade mesmo...

 

O componente se comportará como um navegador... baixar a tabela toda também é bastante interessante...

 

Se não me engano o primeiro post (do Carlos) era uma proposta para desenvolvimento...  Faz mas sentido utilizar o código já existente...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Não vejo problemas em usar o site

http://www4.receita.fazenda.gov.br/simulador/PesquisarNCM.jsp

parece que ele foi criado para essa finalidade mesmo...

 

O componente se comportará como um navegador... baixar a tabela toda também é bastante interessante...

 

Se não me engano o primeiro post (do Carlos) era uma proposta para desenvolvimento...  Faz mas sentido utilizar o código já existente...

eu ja tenho o codigo que faz o download dos ncm's, e tambem consulta os ja existentes, eu ja uso ele em meus projetos, vou ficar muito feliz em contribuir com o acbr mais uma vez, assim que tiver pronto eu posto o componente para testes

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Segue o Componente em anexo:

ACBrNcm.zip

 

gostaria de pedir para os amigos do fórum para melhorar ele,

pois para listar os ncm's, demora um pouco,

se fosse possível adicionar uma mensagem, (não o showmessage e sim o evento StatusChange) assim como no acbrnfe,

pois eu não consegui.

no mais o componente esta pronto e funcional, fico aguardando os testes

Editado por datilas
  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...
  • Moderadores

Baixei novamente o ACBrNCM. Ao compilar, dá erro DBGrid.Options e Edit1.NumbersOnly (propriedades inexistentes, acredito que tenha sido feito em uma versão mais atualizada do Delphi. Eu uso o Delphi 7). Cliquei em ignorar. Mas os erros de duplicate resourse persistem

[Error] WARNING. Duplicate resourse(s);

[Error] Type 2 [bITMAP], ID DBN_CANCEL;

[Error] File C:\Program Files\Borland\Delphi7\Lib\ACBr\Exemplos\ACBrNCMs\Delphi\AcbrNcmDemo.res resource kept; file c:\program files\borland\delphi7\Lib\DBCtrls.res resource discarded.

 

Insistindo na compilação dá erro

Access Violation at adress 0C6E487B in module RLINK32.DLL. Read of address 0D14034E.

Em seguida:

Internal Error: LA30

 

A compilação após isso conclui e consigo executar o aplicativo.

Questão: só consigo visualizar os NCM se antes informar um NCM qualquer (mesmo que não seja valido) no edit ao lado do botão [VALIDAR NCM], por exemplo, 28000000. Se tentar consultar um NCM válido dá esse erro abaixo: 

post-253-0-69652800-1413805233_thumb.png

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia Graça

Se fala do exemplo acredito que sim, tenha sido feito em outra versão

tente usar o bloco de notas e abrir ele para ter uma ideia e construir um exemplo seu no delhi 7

assim que possível farei a verificação no delphi 7 e subo para ficar compatível

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Insistindo na compilação dá erro

Access Violation at adress 0C6E487B in module RLINK32.DLL. Read of address 0D14034E.

Em seguida:

Internal Error: LA30

 

O "Internal Error" é um erro do Delphi e não das aplicações que ele executa. É um tipo de erro que, digamos, ele não deveria retornar...

Os outros erros de consulta parecem mesmo ser do componente.

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Gr@c@, exclua o arquivo .res e abra o .dpr pelo delphi ela irá recriar o .res para vc, depois ignore a propriedade não existente.

  • Curtir 2

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Ok Isaque, funcionou mas eu já havia feito novo update do svn e não sei se foi somente excluir o res, mas não deu nem o erro de propriedade inexistente.

 

na Unit ACBrNCM foi preciso inicializar a variável cont, estava pegando um valor alto e o loop não executava quando o edit1 era igual a '' .

if Trim(codigoCapitulo) <> '' then
Begin
  try
    Self.HTTPGet(fUrlConsulta + 'codigo=' + Copy(codigoCapitulo,1,2) + '&codigoCapitulo=' + Copy(codigoCapitulo,1,2) + '&codigoPosicao=&button=Exibir+NCMs');
  except
    on E: Exception do
    begin
      raise EACBrNcmException.Create('Erro ao consultar Ncm' + #13#10 + E.Message);
    end;
  end;
  CarregaResultado;
End
Else
Begin
Cont := 0; ---------------------------------------->aqui
while Cont < 98 do
  Begin
   Inc(Cont);
   try
    Self.HTTPGet(fUrlConsulta + 'codigo=' + FormatFloat('00', Cont) + '&codigoCapitulo=' + FormatFloat('00', Cont) + '&codigoPosicao=&button=Exibir+NCMs');
   except
    on E: Exception do
     begin
       raise EACBrNcmException.Create('Erro ao consultar Ncm' + #13#10 + E.Message);
     end;
   end;
   CarregaResultado;
  End;
End;
Editado por EMBarbosa
adicionado tag [code]
Link para o comentário
Compartilhar em outros sites

Boa tarde senhores: 

segue a alteração no acbr monitor para ele trabalhar com o objeto do ncm

obs: o pacote do ncm alterei para incluir uma nova opção= descricaoNcm para vc informar o numero dele ele vai retornar a descrição caso não ache ele retornara vazio

dentro do DoNcmUnit foram criados 3 métodos:

1 Validar ncm, através do comando ncm.validar("numeroncm") ele vai retornar se é valido ou não; opção também disponível na interface gráfica

2 Salvar Lista ncm, atraves do comando ncm.baixarlista("c:\acbr") ele vai salvar a lista ncm do diretório com o nome de ListaNCM.csv com os campos separados por ; (ainda falta fazer a opção de pegar o diretório que já esta salvo na interface grafica e jogar como dir)

3 descrição do ncm através do método ncm.descricao("numeroncm") ele vai retornar a descrição do numero caso na ache ira retornar vazio

enviar.rar

Editado por Alberto.Leal
  • Curtir 1

Alberto Leal

www.tecwebcg.com

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa tarde senhores: 

segue a alteração no acbr monitor para ele trabalhar com o objeto do ncm

obs: o pacote do ncm alterei para incluir uma nova opção= descricaoNcm para vc informar o numero dele ele vai retornar a descrição caso não ache ele retornara vazio

dentro do DoNcmUnit foram criados 3 métodos:

1 Validar ncm, através do comando ncm.validar("numeroncm") ele vai retornar se é valido ou não; opção também disponível na interface gráfica

2 Salvar Lista ncm, atraves do comando ncm.baixarlista("c:\acbr") ele vai salvar a lista ncm do diretório com o nome de ListaNCM.csv com os campos separados por ; (ainda falta fazer a opção de pegar o diretório que já esta salvo na interface grafica e jogar como dir)

3 descrição do ncm através do método ncm.descricao("numeroncm") ele vai retornar a descrição do numero caso na ache ira retornar vazio

Boa tarde

Gostaria de saber se rodou e efetuou testes com o mesmo antes de anexar?

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2189 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.