Ir para conteúdo
  • Cadastre-se

dev botao

e-Social: Limite de 50 eventos


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

Recommended Posts

Postado

O e-social impõe a limitação de 50 eventos por lote a ser enviado.  Não consegui identificar, dentro do método Enviar do componente ACBreSocial, em que momento esse limite é tratado.  Alguém pode me ajudar?

Esclarecimento:  Não carrego os registros nos INIs.  Minha aplicação possui uma rotina que gera um XML no formato do esquema (podendo ter mais de 50 registros/eventos).  A partir daí, uso o Eventos.LoadFromFile para transportar para o componente ACBreSocial e assiná-lo.   Em seguida, faço o envio com o método Enviar.  Funciona bem, até encontrar lotes com mais de 50 eventos.  Alguma ideia de como podemos tratar esta questão?

Postado (editado)
1 hora atrás, Jucemar Duarte disse:

O e-social impõe a limitação de 50 eventos por lote a ser enviado.  Não consegui identificar, dentro do método Enviar do componente ACBreSocial, em que momento esse limite é tratado.  Alguém pode me ajudar?

Esclarecimento:  Não carrego os registros nos INIs.  Minha aplicação possui uma rotina que gera um XML no formato do esquema (podendo ter mais de 50 registros/eventos).  A partir daí, uso o Eventos.LoadFromFile para transportar para o componente ACBreSocial e assiná-lo.   Em seguida, faço o envio com o método Enviar.  Funciona bem, até encontrar lotes com mais de 50 eventos.  Alguma ideia de como podemos tratar esta questão?

Pelo que entendi vc não quer que dê erro se passar de 50 e sim que ele consiga enviar fragmentado.

Se for isso, não vejo como essa regra poderia ser implementada dentro do ACBr, pois se você iniciou o envio ele seria responsável por separar e enviar cada 50 em um lote, teria que saber qual deu certo e qual deu erro, lembre-se que a comunicação é assincrona, pode ser que um lote consiga ser enviado e o outro não...
ao meu ver seria algo muito elaborado.

No meu caso faço a tratativa antes, mando para o componente apenas os 50 registros, no segundo envio mando os outros 50.

Entendo que essa regra deva ficar na aplicação cliente.

Editado por Alisson Souza Pereira
Incompleto
  • Curtir 1
Postado

"No meu caso faço a tratativa antes, mando para o componente apenas os 50 registros, no segundo envio mando os outros 50." - Alisson

Pois é, amigo Alissonatualmente estou jogando na conta do usuário escolher quais registros ele quer enviar (com limite de 50).  Mas isso não é nada elegante.  

Vou estudar o assunto.  Acredito que dê para fazer sim.  Acompanhe comigo: minha aplicação gerou um XML gigante com (por exemplo) 100 eventos. Quando carrego para o componente, o mesmo particiona em 100 XMLs já assinados.  Vou tentar fazer com que, na montagem do lote, o componente gere, em vez de um, quantos lotes forem necessários para satisfazer a requisição. 

 

  • Consultores
  • Solution
Postado
10 horas atrás, Jucemar Duarte disse:

"No meu caso faço a tratativa antes, mando para o componente apenas os 50 registros, no segundo envio mando os outros 50." - Alisson

Pois é, amigo Alissonatualmente estou jogando na conta do usuário escolher quais registros ele quer enviar (com limite de 50).  Mas isso não é nada elegante.  

Vou estudar o assunto.  Acredito que dê para fazer sim.  Acompanhe comigo: minha aplicação gerou um XML gigante com (por exemplo) 100 eventos. Quando carrego para o componente, o mesmo particiona em 100 XMLs já assinados.  Vou tentar fazer com que, na montagem do lote, o componente gere, em vez de um, quantos lotes forem necessários para satisfazer a requisição. 

 

Do meu ponto de vista, é muito melhor que o seu sistema faça o controle.

Se o componente fizesse o particionamento do lote, ele teria que retornar a você informações como quantidade de lotes e id de cada lote. Isso complica muito.

É bem mais fácil você implementar essa separação de lotes na sua aplicação e alimentar o componente de acordo com os lotes gerados pela sua aplicação.

  • Curtir 2

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado
Em 11/06/2021 at 15:28, EMBarbosa disse:

Do meu ponto de vista, é muito melhor que o seu sistema faça o controle.

Se o componente fizesse o particionamento do lote, ele teria que retornar a você informações como quantidade de lotes e id de cada lote. Isso complica muito.

É bem mais fácil você implementar essa separação de lotes na sua aplicação e alimentar o componente de acordo com os lotes gerados pela sua aplicação.

EMBarbosa, você tem razão.  Eu cheguei à mesma conclusão ao estudar melhor o assunto.  Obrigado.

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