Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Quando alimento o valor do campo vProd com valores como 11,30 ou 12,50 automaticamente ao gerar o xml o ultimo zero a direita é removido.

Desta forma ao validar o xml recebo o retorno de falha na validação dos dados da seguinte forma: '11.3' VIOLATES PATTERN CONSTRAINT OF '0/0\.[0-9]{2}|[1-9]{1}{0-9}{0,12}(\.[0-9]{2})?THE ELEMENT {HTTP://WWW.PORTALFISCAL.INF.BR/NFE}VPROD WITH VALUE '11.3' FAILED TO PARSE

Se o valor passado for 11,32 ou 12,51 por exemplo funciona, pois assim ao gerar o xml continuo com duas casas decimais.

Suspeito de que o problema esteja na forma como estou alimentando o o vProd  (Prod.vProd := DMCMovimentacao.cdsItemMovimentacaoVENPROD_VALOR.asfloat). Tentei utilizar a funcão formatfloat mas ela retorna uma string e o campo vProd assim como todos os outros que recebem valores são do tipo currency.

Já tentei de tudo, até alterar o xml após gerado, mas usar ao usar o comando ACBrNFe1.NotasFiscais.Valida o xml volta a ficar como o padrão sem as duas casas decimais no caso de o valor ser 11,30 por exemplo.

Se alguém puder ajudar ficarei grato.

Link para o comentário
Compartilhar em outros sites

Fiz o debug e o valor que deveria ser 11,30 é passado para vProd como 11,3 descartando o zero. Não alterei o decimalseparator.

O mais interessante é que estava funcionando até que decidi atualizar o acbr para ficar com os fontes mais recentes.

Há alguma propriedade no acbrNfe onde possa alterar o decimalseparator?

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, hleorj disse:

@Tarcisio Silveira, verifique a configuração da propriedade CasasDecimais.

as propriedades que tenho são _MaskqCom, _MaskvUnCom que estão em branco e _qCom e _vUnCom que estão com 2 (duas casas decimais), já tentei alterá-las para 3 ou 4 e mesmo o xml é gerado com apenas uma casa decimal para o valor 11,30.

Veja o xml anexo.

35160104175289000130650010000000011000000013-nfe.xml

Link para o comentário
Compartilhar em outros sites

1 hora atrás, hleorj disse:

@Tarcisio Silveira, Faça alguns testes com o demo, mudando os valores dos campos.

Leia em

 

 

Fiz os testes no demo como indicou mas o xml também foi gerado com apenas uma casa decimal, usei 100,50 como valor de teste já que o demo vem com vProd como 100. Para o valor 100.55 ou qualquer outro valor cujo valor decimal não seja um inteiro (ex: 5,99 / 6,65) o xml é gerado corretamente.

Dei uma olhada no link que passou mas não resolveu. Isso aqui está me deixando maluco, já não sei onde mais onde alterar :(

Editado por Tarcisio Silveira
erro de digitação
Link para o comentário
Compartilhar em outros sites

  • Moderadores
Equipe ACBr Henrique Leonardo
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Tecnólogo em processamento de dados

E-mail [email protected] - Skype : hleorj

Link para o comentário
Compartilhar em outros sites

@hleorj desde já obrigado pela atenção.

Já havia feito os testes de impressão do Danfe e conferi que na impressão as casas decimais estão corretas, mas o problema é na geração do xml por mais que eu informe o valor com duas casas (ex: 11,30) ele sempre remove o zero a direita no momento do comando ACBrNFe1.NotasFiscais.Items[0].SaveToFile ou ACBrNFe1.NotasFiscais.Valida. Retornando o erro  VPROD WITH VALUE '11.3' FAILED TO PARSE.

Tentei validar pelo ACBRMonitorPlus com o xml gerado com apenas uma casa decimal e ao validar o xml foi preenchido com as demais casas fazendo com que o erro de validação não fosse mais apresentado e a emissão foi autorizada pela SEFAZ.

O que não entendo é como o mesmo xml gerado pela minha aplicação passa pela validação com o acbrMonitorPlus e preenche as casas decimais e pelo componente direto na aplicação não passa por não preencher os zeros.

Alguém tem ideia do que pode estar acontecendo?

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...