Ir para conteúdo
  • Cadastre-se

dev botao

" is not a valid integer value


Ver Solução Respondido por Agnaldo Prates,
  • Este tópico foi criado há 3023 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

ao tentar imprimir este arquivo anexado ele da o erro , mesmo ele estando todo correto e sendo uma nota valida nao consigo imprimir.. oque eu estou fazendo de errado  ou eu nao vou poder imprimir esse tipo de aquivo, podendo somente a impressao dos aquivos RPS 

eu utilizo o fast report

 

nota_4953.xml

Editado por Alexsandro Lopes

 

 

Link para o comentário
Compartilhar em outros sites

Agora, Agnaldo Prates disse:

Isso ocorre em qual Report?

 

 

fast report 5.0 ? voce tentou imprimir o xml que eu enviei ... acho que o problema nao esta no fast report.

ainda nao consegui achar  mais tenho quase certeza que o problema e no layout desse aquivo ai que eu mandei pois ele nao e um RPS e sim uma NFSe ja autorizada pelo provedor aqui da cidade de fortaleza...

 

 

 

Link para o comentário
Compartilhar em outros sites

12 horas atrás, Agnaldo Prates disse:

Boa tarde.

Está normal sim, segue o Danfe em Fortesreport.

Com absoluta certeza seu Fast deve estar com algum problema.

NFS-e.pdf

desta forma que voce me mando o pdf aqui em fast também faz o problema e com os aquivos que baixo do prvedor manualmente segue em anexo arquivo xml com dados de uma nfse valida e autorizada .. 

nota_4939.xml

 

 

Link para o comentário
Compartilhar em outros sites

  • Solution

Na linha 706 do arquivo ACBrNFSeDANFSeFR.pas, proceda a seguinte alteração:

        FieldByName('CodigoMunicipio').AsString     := CodigoMunicipio;
//        FieldByName('CodigoMunicipio').AsString     := IfThen(CodigoMunicipio <> '', CodCidadeToCidade(StrToInt(CodigoMunicipio)), '');
 

Isso resolve o seu problema.

_____________

Prates, Agnaldo

Link para o comentário
Compartilhar em outros sites

3 horas atrás, Agnaldo Prates disse:

Na linha 706 do arquivo ACBrNFSeDANFSeFR.pas, proceda a seguinte alteração:

        FieldByName('CodigoMunicipio').AsString     := CodigoMunicipio;
//        FieldByName('CodigoMunicipio').AsString     := IfThen(CodigoMunicipio <> '', CodCidadeToCidade(StrToInt(CodigoMunicipio)), '');
 

Isso resolve o seu problema.

obrigado vou colocar em período de testes e dou uma resposta final mais desde ja muito obrigado.

 

 

 

Link para o comentário
Compartilhar em outros sites

2 horas atrás, hleorj disse:

@Agnaldo Prates,  nos ajude a atualizar o código. postando a sugestão de atualização.

Grato.

Bem, o erro “is not a invalid integer value” está ocorrendo no caso do FastReport em decorrência da falta de valor no código do município no parâmetro Servico.

with Servico do

      begin
       FieldByName('CodigoMunicipio').AsString     := IfThen( CodigoMunicipio <> '', CodCidadeToCidade(StrToInt(CodigoMunicipio)), '0');
       FieldByName('ExigibilidadeISS').AsString    := ExigibilidadeISSDescricao(ExigibilidadeISS);
       FieldByName('MunicipioIncidencia').AsString := CodCidadeToCidade(StrToIntDef(CodigoMunicipio, 0));
     end;

Neste momento, o código do município chega em branco, e, consequentemente ao tentar converter para inteiro, ocorre o erro.
Importante ressaltar que, este erro eu apenas consegui reproduzi-lo ao tentar “Imprimir Danfe”, se for gerado uma NFSe, e imprimir, o erro não ocorre.

O fato é que, como na leitura do arquivo xml, o campo relativo ao Código do Município não é alimentado, assim, ao chamar o método de conversão para inteiro, o erro é disparado.

Sugestão.

No Demo, procedi a seguinte alteração no momento que vou imprimir o DANFE, uma vez carregado o arquivo XML alimentando o componente, realizo as verificações abaixo:

 

   if ACBrNFSe1.NotasFiscais.Items[0].NFSe.Servico.CodigoMunicipio='' then
       ACBrNFSe1.NotasFiscais.Items[0].NFSe.Servico.CodigoMunicipio :=  edtCodCidade.Text;

   if ACBrNFSe1.NotasFiscais.Items[0].NFSe.OrgaoGerador.CodigoMunicipio='' then
      ACBrNFSe1.NotasFiscais.Items[0].NFSe.OrgaoGerador.CodigoMunicipio :=  edtCodCidade.Text;

Mas é claro, isso é uma solução paliativa para evitar o erro, antes porem se faz necessário identificar os motivos em que a variável CodigoMunicipio está ficando em branco, depois com mais tempo vou analisar o código para saber exatamente o que é.

 

_____________

Prates, Agnaldo

Link para o comentário
Compartilhar em outros sites

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