Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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

Postado

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.,

Postado (editado)

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

Editado por CELL Corporação Tecnológic

Geovani Nicolau de Paula

Cell Corporação Tecnológica

Postado

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.,

Postado

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

Postado

Deve ser o comportamento da impressora mesmo, como utilizado sempre com a Bematech não tinha passado por isso.

É até bom que inverto o meu lado aqui para não ter problema com outras marcas.

 

Att.,

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

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.