Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia a todos, estou com um pequeno problema,

estou usando a AcbrEcf com uma impressora Daruma FS700 H

estou tentando retornar o total da substituição tributária ISSQN

e o ACBRECF esta me trazendo um valor incorreto.

O valor que sai na leitura X é 1116,00

e o ACBrECF1.TotalSubstituicaoTributariaISSQN me retorna 111,60

Desde já grato aos que tentarem me ajudar !

Postado

Oi pessoal, pra resolver o meu problema mudei a unit ACBrECFDaruma na função:

function TACBrECFDaruma.GetTotalSubstituicaoTributariaISSQN: Double;

begin

Result := 0;

if fpMFD then

Result := StrToFloatDef(Copy(RetornaInfoECF('003'), 286, 13),0)/100;

Result := RoundTo( Result, -2);

end;

Para:

function TACBrECFDaruma.GetTotalSubstituicaoTributariaISSQN: Double;

begin

Result := 0;

if fpMFD then

Result := StrToFloatDef(Copy(RetornaInfoECF('003'), 286, 13),0)/10;

Result := RoundTo( Result, -2);

end;

Se alguém puder validar e atualizar o fonte se a alteração for correta, agradeço !

William

Postado

Hum... tem que testar em uma daruma fs600 tbm e dar uma revisada no manual.

Porque geralmente essas informações vem sem vírgula mas com duas casas decimais, por isso a divisão por 100.

Quantas reuniões foram mesmo esta semana? Reúna os amigos!

Postado

Essa sua alteração não vai funcionar amigo.

Olha só, se a impressora retornar o valor de 100,99 a string que virá será:

'0000000010099'

Na divisão, o valor que será retornado pra você é : 1009,9

Se não está funcionando para essa sua impressora, pode ser que tenha mudado algo na daruma. Tem que olhar o manual para ter certeza.

Edit:

Acabei de consultar o manual, onde diz que o set de comandos das impressoras são todos iguais.

Na página 27 do manual(http://www.desenvolvedoresdaruma.com.br ... FS2100.zip) explica:


T01 a T16 + F1 + F2+ I1 + I2 + N1 + N2 +

FS1 + FS2 + IS1 +IS2 + NS1 + NS2

Cada informação tem 13 bytes, O FS1 e FS2 estão na posição 286 ( 13*22 )

No caso o acbr está lendo o FS1 que é a posição 286+13/100 o que está correto no fonte.

Quantas reuniões foram mesmo esta semana? Reúna os amigos!

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