Jump to content

dev botao

Objeto Aliquota, Propriedade Sequencia.


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

Recommended Posts

Saudações.

 

Estou carregando as alíquotas de icms da impressora fiscal, porém encontrei uma diferença entra a classe Aliquota do projeto jACBrFramework.serial.ecf; com a classe TACBrECFAliquota do projeto em delphi, onde a propriedade Sequencia na classe TACBrECFAliquota é um int e na classe Aliquota é um boolean.

 

Isso impacta no momento em que eu crio os códigos de totalizadores de reduções Z que devem seguir o seguinte modelo xxTnnnn, onde 'xx' é a sequência da alíquota cadastrada.

 

Problema encontrado nas seguintes classes:

 

jACBrFramework.serial.ecf.Aliquota:;

 -> Propriedade sequencia;

 

jACBrFramework.serial.ecf.ACBrECF:

 -> Método: carregaAliquotas(int count)

 

jACBrFramework.InteropLib.AliquotaRec

 -> Propriedade sequencia;

 

 

Att;

Geovani Nicolau de Paula

Cell Corporação Tecnológica

Link to comment
Share on other sites

O que você quer é o índice e não o sequencial. Faz isso:

MessageFormat.format("{0}{1}{2}", StringUtils.leftPad(pIndice, 2, '0'), 
                Character.toUpperCase(pTipo),
                StringUtils.leftPad(String.valueOf(new BigDecimal(pValor * 100).intValue()), 4, '0')

Onde:

pIndice -> obtido da alíquota;

pTipo -> 'T' para ICMS ou 'S' para ISS;

pValor -> valor associado ao totalizador.

 

Att.,

Link to comment
Share on other sites

O problema é que o campo índice me retorna a seguinte informação: "Ta", "Tb".

 

E também o objeto alíquota está diferente ao que é proposto pelo projeto acbr, ficando diferente também ao programa ECFTeste, que sempre é informado no fórum como objeto de pesquisa e embasamento.

 

Att

Edited by CELL Corporação Tecnológic

Geovani Nicolau de Paula

Cell Corporação Tecnológica

Link to comment
Share on other sites

Qual é a impressora que você está utilizando? Fiz os testes com o emulador da bematech e a ECF MP4000, e em ambos o valor do índice foi o desejado.

 

O índice é a representação em string com dois caracteres do sequencial. De qualquer forma havia um erro no interop para obtenção do sequencial, mas é estranho o índice não ter retornado o valor correto.

 

Obtendo as alíquotas:

ecf.carregaAliquotas();
Aliquota[] lAliquotas = ecf.getAliquotas();
for (Aliquota lAliquota : lAliquotas) {
	System.out.println(
			"Sequencial: " + lAliquota.getSequencia() +                         
			" Indice: " + lAliquota.getIndice() + 
			" Tipo: " + lAliquota.getTipo() + " --> " + lAliquota.getAliquota());
}

Saída:

Sequencial: 1 Indice: 01 Tipo: T --> 18.0
Sequencial: 2 Indice: 02 Tipo: T --> 12.0
Sequencial: 3 Indice: 03 Tipo: S --> 18.0

 

Atualize os fontes e teste novamente.

 

Att.,

Link to comment
Share on other sites

jmsandy, estou usando um emulador, pois minha impressora ainda não chegou, utilizo o emulador epson t81fbIII, versão 02.00.03, e ele me retorna esses valores, e como no ECFTeste pegava os valores dessa forma, achei que seria o correto.

 

Estarei baixando os fontes e verificando

 

Att

Geovani Nicolau de Paula

Cell Corporação Tecnológica

Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.