Jump to content

dev botao

Bloco X - Redução Z - valor do GT negativo


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

Recommended Posts

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
 

  • Like 1

Leandro Gobbo

Link to comment
Share on other sites

  • 2 weeks later...

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.

Link to comment
Share on other sites

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.

  

 

Link to comment
Share on other sites

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;

Link to comment
Share on other sites

  • 1 month later...
  • Este tópico foi criado há 2493 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • 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.