Jump to content

chamada diadoacbr

Assista tectoy.png

e-Social: Limite de 50 eventos


Jucemar Duarte
Go to solution Solved by EMBarbosa,
  • Este tópico foi criado há 378 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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 comment
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 comment
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 comment
Share on other sites

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

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

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

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.