Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Estou tendo problemas ao gerar o arquivo do Bloco X - Redução Z.

O valor do GT está bem alto no meu ECF (R$ 4.533.781.611,57) e isso faz o arquivo da Redução Z gerar um valor "negativo" (0000000-1888372219).

Pesquisando no código-fonte, encontrei esse trecho:

  FGerador.wCampo(tcStr, '', 'VendaBrutaDiaria', 1, 14, 1, IntToStrZero(TruncFix(VendaBrutaDiaria*100),14));
  FGerador.wCampo(tcStr, '', 'GT', 1, 18, 1, IntToStrZero(TruncFix(GT*100), 18));

Utilizo Delphi 2005 e esse trecho está causando o erro da transformação do valor (R$ 4.533.781.611,57) num valor negativo (0000000-1888372219).

Apenas alterei para o trecho abaixo e funcionou:
 

  FGerador.wCampo(tcStr, '', 'VendaBrutaDiaria', 1, 14, 1, VendaBrutaDiaria);
  FGerador.wCampo(tcStr, '', 'GT', 1, 18, 1, GT);

Segue o código-fonte para análise.

ACBrBlocoX_ReducaoZ.pasC:\Users\Leandro\Documents\Priori\Fontes\Projetos\ACBr\Fontes\ACBrDFe\ACBrBlocoX\ACBrBlocoX_ReducaoZ.pas
 

  • Curtir 1

Leandro Gobbo

  • 2 semanas depois ...
Postado

Bom dia,  

  Estou no momento trabalhando na implementação deste bloco, e devido a esta alteração, o arquivo da Redução Z está sendo rejeitado no validador, devido ao fato de o número da venda bruta diária e do GT estarem fora do formato aceito no schema.

  Depois desta alteração, por exemplo, o valor no XML aparece <GT>4533781611,57</GT>, e ao validar este XML recebo a mensagem "The value '4533781611,57' is invalid according to its datatype 'Numero18Type'". Se utilizo o código anterior a alteração, ficando <GT>000000453378161157</GT> o arquivo é aceito. Basicamente o schema espera que o valor esteja formato com 14 ou 18 caracteres, nos casos do bruto diário e do GT respectivamente.

  Recebo este retorno testando neste site: https://sathomologa.sef.sc.gov.br/tax.NET/sat.dfe.siv.web/validacao.aspx ou tentando enviar no servidor de homologação.

Postado
17 minutos atrás, Juliomar Marchetti disse:

Retornando ele passa tranquilo?

  Não entendi se sua pergunta é em relação ao valor ficar negativo ou ao processo como um todo. Mas o testando com o mesmo valor do gobbo e utilizando o código antigo não tive problema de ficar negativo.  E o processo como um todo ainda não tenho como confirmar, pois quando envio o arquivo recebo o código de retorno "0" e um código de recibo. Não sei dizer se isso significa que o arquivo foi aceito, pois o retorno "0' é aguardando.

  Complementando mais um pouco, parece ter várias alterações no procedimento de comunicação com o webservice. Agora as função Validar, Enviar e Consultar possuem a mesma chamada para o Estoque e a Redução Z. Mas estou trabalhando nas alterações no momento. Assim que tiver algo mais concreto irei inserir em um outro tópico passando mais informações.

  

 

Postado

Boa tarde, estávamos com este mesmo problema. O valor negativo esta gerando porque o valor GT esta muito alto e ao multiplicar por 100 acaba estourando o integer da função IntToStrZero

para Ajustar fizemos a seguinte alteração na pcnAuxiliar:

function IntToStrZero(const Numero: int64; const tamanho: integer): string;

  • 1 mês depois ...
  • Este tópico foi criado há 2568 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.