Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Um problema que eu estava tendo era "Access violation" depois que eu tentava enviar o eSocial e o REINF para o servidor. O motivo disto era que eu pegava os dados do meu sistema e colocava direto no objeto de exportação do ACBr sem uma validação prévia das propriedades que eram de algum tipo de enumeration. Internamente o componente da ACBr gera erro quando algum enumeration contém o valor de "bound out", e não gera o XML. Pensando nisso eu fiz uma classe que retorna uma lista de enumeration que não contém um valor válido.

 

Coloquei no GitHub e coloquei explicações extras:

https://github.com/jeihcio/Validar-Enumeration-ACBrReinf

 

obs: Essa classe tem que ser colocada depois que já deu o erro na hora de enviar.

Postado

EXEMPLO

 

var
  validaDados: TValidarEventosController;
  todosErros: String;
  nTabela: Integer;
  
Begin 
  Try
    ACBrReinf1.Enviar();
  Except
    On E: Exception Do
      Begin
         If (Pos(UpperCase('Access violation'), UpperCase(E.Message)) > 0) Then
            Begin
                validaDados := TValidarEventosController.Create(ACBrReinf1);
                Try
                   nTabela := 1000;
                   validaDados.fValidarDadosExportacao(nTabela, todosErros);
                   If (Trim(todosErros) <> '') Then
                      ShowMessage(todosErros);
                Finally
                   validaDados.Destroy;
                End;
            End; 
      End;
  End;
End;

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