Ir para conteúdo
  • Cadastre-se

dev botao

[IMPLEMENTAR] Faltando no TACBrIBPTax.TACBrIBPTaxProdutoDTO o item de retorno Tabela ou Tipo


Ver Solução Respondido por Victor H. Gonzales - Panda,
  • Este tópico foi criado há 969 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Pessoal, verifiquei na versão mais nova, fazendo conexão com o componente do acbr via webervice (interno)

Constatei que falta o Retorno quando solicitado em TACBrIBPTax.TACBrIBPTaxProdutoDTO.

Exemplo

var
  Retorno: TACBrIBPTaxProdutoDTO;
begin
....

  ACBrIBPTax.CNPJEmpresa := ConfigDef.IBPT_CNPJ;
  ACBrIBPTax.Token       := ConfigDef.IBPT_Token;

  Retorno := ACBrIBPTax.API_ConsultarProduto(EDTWS_NCM.Text, EDTWS_UF.Text,
    0, //EX_TIPI
    '', //codigo interno
    '', //Descricao
    '', //inidade
    0,  //Valor
    '' //GTIN
    );

     codigo:=               Retorno.Codigo;
     descricao:=          Retorno.Descricao;
     tipo:=                     Retorno.Tabela;  //valor de 0 até 2

Consultando o arquivo CSV do IBPTax, segue abaixo:

codigo;ex;tipo;descricao;nacionalfederal;importadosfederal;estadual;municipal;vigenciainicio;vigenciafim;chave;versao;fonte

3o. coluna não é importado, pois não existe a propriedade "Tabela"
 

Mas isto está presente em... ACBrIBPTax1.Itens.Tabela;

 

Atenciosamente,

 

Guilherme Wiethaus

De louco, programador e químico só eu tenho um pouco.

 

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Administradores

Bom dia Guilherme.

Caso tenha implementado por favor anexe a unit, caso não tenha mais queira contribuir, ficaremos muito felizes tb.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

Legal Juliana. Me explica como posso participar do projeto colocando as atualizações e melhorias do código? Eu não cheguei a abrir a unit que está faltando a implementação. Eu já tenho feito umas correções de um problema antes de uma unit que agora está funcionando.

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...
  • Moderadores
Em 15/04/2020 at 08:57, gwiethaus disse:

Legal Juliana. Me explica como posso participar do projeto colocando as atualizações e melhorias do código? Eu não cheguei a abrir a unit que está faltando a implementação. Eu já tenho feito umas correções de um problema antes de uma unit que agora está funcionando.

Já tem a implementação?

anexe ela aqui por favor?

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

Verifiquei com  mais calma o código e ví abaixo descrevo as minhas impressões, posso estar errado ou não visto alguma situação, então é uma proposta para ver se encaixa no escopo do projeto.

Antes de começar sugiro que entre no IBPTax e faça a pesquisa lá por produto, serviço e locação verão que tem um campo de saída comum a todos e não está implementado em Produtos na unit ACbrIBPTax.pas

O Tipo Retorna 0,1 e 2 se estiver na pesquisa por produto, e inserir o código do serviço ou locação dele irá retornar vários campos em Nil inclusive Tipo, como vou descrever a seguir.

Sugiro fazer uma modificação na estrutura:

No site do ibptax se solicitar pesquisa de produto e colocar o código do serviço retornara o campo tipo=nil
e vice-vesa.

Para Produto:

TACBrIBPTaxProdutoDTO = record
  parametro exclusivo EX
 (Implementado) Tipo retorna '' ou '0'

Para Serviço e Locações:

TACBrIBPTaxServicoDTO = record
 parâmetro exclusivo Nenhum (*Todos existentes em TACBrIBPTaxProdutoDTO
 Tipo retorna '', '1', '2'

Foi implementado TACBrIBPTaxProdutoDTO.Tipo

Evitaria o vazio no Tipo para o caso de usar API_ConsultarProduto() quando passa o código de serviço/locação e evitaria o vazio no Tipo para o caso se usar API_ConsultarServico() quando passar o código de produto.

Proposta:

Como existem campos comuns a todas estruturas de dados é implementar um novo método de consulta unica para a busca de produto/serviço/locação.

O campo EX é obrigatório para o produto em API_ConsultarProduto() e não para API_ConsultarServico(), desta forma poderia implementar um método API_Consultar() que configura produto quando passar algum valor de ex e para serviço quando passar ''

ou poderia usar o tipo enumerado TACBrIBPTaxTabela na entrada e preencher o ex quando necessário o retorno seria numa estrutura unica que pelo que vi só o EX não pertence a serviço o resto é tudo comum.

Reduziria e otimizaria muito o código, seria um aspecto positivo.

Eu vejo que criar dois tipos enumerados distintos e estruturas distintas que apenas tem em diferença um campo é muita complexidade e o código fica muito grande.

O que acham da ideia? Posso tentar otimizar isto e ver como fica.

Aspecto negativo:

A questão agora é o API_ConsultarProduto() e API_ConsultarServico() se isto sair ira prejudicar todos os projetos que o implementam, então a saída é fazer uma nova estrutura record de nome TACBrIBPTaxRegistroDTO que ai entra em concordância com a Classe TACBrIBPTaxRegistro a qual vi que estava faltando no comentário anterior que fiz. Como impele menta o campo Tipo em produto que retorna sempre zero se a busca por produto e não por serviço (se buscar por serviço em API_ConsultarProduto retorna vazio) 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Tem que lembrar que vai precisar funcionar no delphi e lazarus e do delphi 7 a última versão.

faz a sugestão e anexa os fontes que vamos analisar

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

Para ter uma ideia nos testes que eu fiz coloquei em API_ConsultarProduto um NCM que é de serviço "deu pau" logo de cara na data ACBrUtil.StringToDateTimeDef(). Não deveria acontecer isto, o certo é evitar a excecao e tratar as situações dentro dos métodos e funções para saber se vem um produto ou serviço e prever antes de uma exceção ocorra.

ACBRIBPTax_Excecao na conversão de Data.png

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

  • Moderadores

na pasta Pacotes. acho que ele faz parte do ACBrTCP.dpk

achei que já estava com ele até mesmo por causa da sugestão acima.

sobre a instalação creio que seja efetuar a correção no fonte e use o instalador para rodar se precisar recompilar para a IDE

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

  • 10 meses depois ...
  • Membros Pro
Em 01/04/2020 at 18:22, gwiethaus disse:

Pessoal, verifiquei na versão mais nova, fazendo conexão com o componente do acbr via webervice (interno)

Constatei que falta o Retorno quando solicitado em TACBrIBPTax.TACBrIBPTaxProdutoDTO.

Exemplo

var
  Retorno: TACBrIBPTaxProdutoDTO;
begin
....

  ACBrIBPTax.CNPJEmpresa := ConfigDef.IBPT_CNPJ;
  ACBrIBPTax.Token       := ConfigDef.IBPT_Token;

  Retorno := ACBrIBPTax.API_ConsultarProduto(EDTWS_NCM.Text, EDTWS_UF.Text,
    0, //EX_TIPI
    '', //codigo interno
    '', //Descricao
    '', //inidade
    0,  //Valor
    '' //GTIN
    );

     codigo:=               Retorno.Codigo;
     descricao:=          Retorno.Descricao;
     tipo:=                     Retorno.Tabela;  //valor de 0 até 2

Consultando o arquivo CSV do IBPTax, segue abaixo:

codigo;ex;tipo;descricao;nacionalfederal;importadosfederal;estadual;municipal;vigenciainicio;vigenciafim;chave;versao;fonte

3o. coluna não é importado, pois não existe a propriedade "Tabela"
 

Mas isto está presente em... ACBrIBPTax1.Itens.Tabela;

 

Atenciosamente,

 

Guilherme Wiethaus

De louco, programador e químico só eu tenho um pouco.

 

@Guilherme Wiethaus,

Conseguiu fazer essa implementação?

Link para o comentário
Compartilhar em outros sites

  • 4 meses depois ...
  • Consultores
  • Solution

Bom dia @gwiethaus @jean_peixoto,

Estou analisando  aqui o relato de vocês, não consegui recriar o problema.

Tanto via API ou importação CSV tenho acesso a propriedade que me retorna 0 = NCM , 1 = NBS, 2 = LST LC116

Via CSV ::  Integer(ACBrIBPTax1.Itens[I].Tabela);

Via API ::  <ACBrIBPTax>.Procurar(NCM, ex, descricao, tabela, aliqFedNac, aliqFedImp, aliqEst, aliqMun, NCMParcial); // o retorno será na variável tabela

 

Abraços;

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

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

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

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Link para o comentário
Compartilhar em outros sites

  • Administradores

Tópico fechado por falta de retorno do usuário

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

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