Bom dia.
Estou transmitindo e recebendo os arquivos do s1000 ao s2206 perfeitamente. Incorporei o projeto acbresocial ao sistema da empresa. Estou enviando os fontes alterados do acbr para quem quiser dar uma olhada. Repito, funcionando 100% tanto com A1 como com A3, já com as alterações da versao 2.4.01.
O que eu faço é o seguinte:
1 - configuracao
VESocial.Configuracoes.Geral.SSLLib := libOpenSSL;
VESocial.Configuracoes.Geral.SSLHttpLib := httpWinHttp;
VESocial.Configuracoes.Geral.SSLCryptLib := cryWinCrypt;
VESocial.Configuracoes.Geral.SSLXmlSignLib := xsXmlSec;
2 - criei flags nas tabelas para saber se o registro é NOVO, ALTERADO, TRANSMITIDO. Exemplo no S1000 criei um campo GERA_S1000 que enquanto ficar nulo indica que existe um novo registro a ser transmitido ao esocial. Ao transmitir ele muda o status para transmitido e nao gero mais esse arquivo. Criei uma trigger em cada tabela que ao fazermos alguma alteracao em algum campo exigido no esocial e o flag do registro estiver como TRANSMITIDO, o mesmo muda de status de TRANSMITIDO para ALTERADO, ai sei que tenho um registro de alteracao para enviar ao esocial. Tudo automatico para o cliente. Se tenho 300 registros para enviar, ele envia 50, muda o status para TRANSMITIDO (somente muda se tiver retorno do número do recibo), então na hora que for gerar de novo meu select irá pegar sozinho os proximos 50, pois o select nao olha arquivos transmitidos.
3 - como preciso guardar tudo que foi enviado ao esocial, criei tabelas separadas com as informações dos arquivos gerados. Uma tabela espelho para cada arquivo. Exemplo: no S1000 tenho uma tabela com o numeroprotocolo, numerorecibo, id e os campos enviados ao esocial. Na hora que transmitir gravo esse registro pois já tenho o protocolo. Se por ventura não tiver retorno na hora, posso a qualquer hora consultar esse recibo, ai sim pego o número do recibo gravo e altero o flag para transmitido, ou seja, se enviar 50 funcionarios, 10 estão com erro, na transmissao gravo os 50 funcionarios com protocolo e id. No retorno, gravo os 40 recibos mudo o flag para TRANSMITIDO, e os 10 gravo as mensagens de erro para o cliente consultar o que houve de errado. Então esses 10 registros com erro continuam com o flag nulo, ou seja, continua aparecendo para o cliente que precisa ser enviado ao esocial.
4 - Como os fontes são propriedade da empresa não posso dispor para vcs, mas tudo foi feito a partir do exemplo do Leivio.
Segue os fontes que alterei no esocial: (Trabalho com orgão público e privado então está alterado para transmitir os dois).
componente.rar
Espero ter ajudado. A disposição para qualquer dúvida.
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.