Jump to content
Notícias do ACBr

click.png

click.png

click.png

click.png

click.png

click.png

clube mobile


Cursos grátis para toda base ACBr
+ Promoção Clube Mobile para o ACBr Pro

Saiba mais

adriano santos

click.png

click.png

click.png

click.png

click.png

click.png

e-Social: Limite de 50 eventos


Go to solution Solved by EMBarbosa,

Recommended Posts

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?

Link to post
Share on other sites
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.

Edited by Alisson Souza Pereira
Incompleto
  • Like 1
Link to post
Share on other sites

"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. 

 

Link to post
Share on other sites
  • Solution
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.

  • Like 2

[]'s

Consultor SAC ACBr

Elton
Ajude o Projeto ACBr crescer - Assine o SAC

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.
Link to post
Share on other sites
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.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...