Ir para conteúdo
  • Cadastre-se

dev botao

Criar Componente De Consulta A Ncm Online


carlosfilho
  • Este tópico foi criado há 2206 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á 2206 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...