Ir para conteúdo
  • Cadastre-se

fabibona

Membros
  • Total de ítens

    53
  • Registro em

  • Última visita

Posts postados por fabibona

  1. 7 minutos atrás, Alisson Souza Pereira disse:

    É o seguinte @fabibona

    Produção a primeira fase = 2018-01

    Produção restrita a primeira fase = 2016-01

     

    1) Zere a base do eSocial com S-1000(Limpar a base)

    2)Envie os eventos de tabela como se a primeira fase tivesse inicado em 2016-01

    3)envie seus colaboradores

           Se o colaborador começou antes de 2016-01, CadIni deve ser = S

           Se o colaborador começou após 2016-01, CadIni deve ser = N

     

     

    Eu tentei excluir o s-1000 e retorna o erro que já existe eventos trabalhistas ou de pagamento referente ao empregador, com isso não consigo zerar a base de dados, ou tem outra maneira ?

  2. Ufa!, kk

    Os s-2190 tambem

    obrigado

     

    3 minutos atrás, Alisson Souza Pereira disse:

    É o seguinte @fabibona

    Produção a primeira fase = 2018-01

    Produção restrita a primeira fase = 2016-01

     

    1) Zere a base do eSocial com S-1000(Limpar a base)

    2)Envie os eventos de tabela como se a primeira fase tivesse inicado em 2016-01

    3)envie seus colaboradores

           Se o colaborador começou antes de 2016-01, CadIni deve ser = S

           Se o colaborador começou após 2016-01, CadIni deve ser = N

     

     

    Eu tentei excluir o s-1000 e retorna o erro que já existe eventos trabalhistas ou de pagamento referente ao empregador, com isso não consigo zerar a base de dados, ou tem outra maneira ?

  3. Em 26/02/2018 at 14:49, Italo Jurisato Junior disse:

    Boa tarde Edmar,

    Muito obrigado pela colaboração, já enviei para o repositório.

    Olá Italo!

    Desde ontem estou enviando o evento s-2200 e retornam vários erros que não existem, o xml está correto, está retornando principalmente este erro: Código:130
       Descrição: É necessário existir informação cadastral do empregador para o período.
    Ação Sugerida:Verificar se já foi enviado um evento de cadastramento do empregador.

    Eu enviei o s-1000 e todos os eventos iniciais, inclusive enviei novamente e retornou erro que já existe no sistema, estou enviando como Produção Restrita

    Mas vem outros erros também, como horário de turno, evento não aceito para o empregador, grupo doméstico, entre outros que não tem nada haver, será que é problema no esocial, estão em manutenção ?, você chegou a enviar algum funcionário no s-2200 pra testar ?, obrigado.

    Segue o xml s-2200 que foi enviado.

    S-2200-0.xml

  4. 16 horas atrás, EdmarFrazao disse:

    estou tendo este erro com alguns funcionário que antes passavam, outros estão enviando sem problemas,

     

    deve ser erro do servidor do esocial ( instabilidade)

     

    Olá Edmar!

    Hoje tá pior que ontem, agora está retornando vários erros que não existem, o xml está correto, está retornando principalmente este erro: Código:130
       Descrição: É necessário existir informação cadastral do empregador para o período.
    Ação Sugerida:Verificar se já foi enviado um evento de cadastramento do empregador.

    Eu enviei o s-1000 e todos os eventos iniciais, inclusive enviei novamente e retornou erro que já existe no sistema.

    Mas vem outros erros também, como horário de turno, evento não aceito para o empregador, grupo doméstico, entre outros que não tem nada haver, será que é problema no esocial, estão em manutenção ?, você chegou a enviar algum funcionário no s-2200 pra testar ?, obrigado.

  5. 51 minutos atrás, EdmarFrazao disse:

    estou tendo este erro com alguns funcionário que antes passavam, outros estão enviando sem problemas,

     

    deve ser erro do servidor do esocial ( instabilidade)

     

    Esse erro agora parou, mas esta retornando vários campos com erro que estão corretos, deve ser manutenção no esocial, exemplo: estou enviado o registro s-2200 como inicial e retorna vários erros, como horário contratual não informado, código do município não informado, e esses registros estão todos preenchidos, deve ser manutenção.

     

  6. Olá!

    Hoje estou tentando enviar pra teste os eventos s-2190 e s-2200, e esta retornando erro na validação do cpf, segue abaixo o erro, o que me parece é que o site do governo que checa o cpf esta fora do ar, mas estou tentando desde hoje de manhã.

    Código:72
       Descrição: Não foi possível estabelecer conexão com o Sistema do CPF. A falha pode ser temporária, tente novamente mais tarde.

     

  7. 51 minutos atrás, Italo Jurisato Junior disse:

    Boa tarde fabibona,

    Se ao gerar o evento, antes do seu envio você guardar o ID do mesmo no banco de dados, ao consultar o lote, você pode comparar esse ID com o ID da lista de eventos retornados e assim saber quais eventos foram processados com sucesso e quais não foram.

    Para ler o ID após gerar o evento faça assim:

    (por exemplo)  ACBreSocial1.Eventos.NaoPeriodicos.S3000.Items[ x ].EvtExclusao.Id
     

    Para ler o ID do retorno faça assim:

        ACBreSocial1.WebServices.ConsultaLote.RetConsultaLote.RetEventos.items[ x ].Id
     

    Se esses dois ID foram iguais você tem ai o resultado do processamento do respectivo evento.

    Espero ter ajudado.

    Boa tarde Italo,

    Eu pensei que tinha uma forma automática de pegar o erro com o mesmo id, eu achei que quando enviamos o id, ela ficava guardada naquele respectivo protocolo e quando consultado o lote quando houvesse erro retornaria no mesmo id enviado, mas não ele começa como ocorrencia 0 em diante, então tenho que fazer o que você sugeriu, guardar o id na hora do envio do evento e depois comparar com o do retorno qual esta com erro, não vai ter outro jeito, se pelo meno no retorno viesse mais informações, por exemplo o nome do funcionário ou o nome do cargo ficaria muito mais fácil para tratar o erro

    Obrigado pela ajuda.

  8. Bom dia Italo, tudo bem ?

    Estou com um problema no eSocial e gostaria de saber se você pode me ajudar, esta funcionando tudo perfeitamente mas o problema é quando acontece algum erro no evento, segue um exemplo abaixo, abaixo esta como ocorrência 0 ,1 e 3, e pode ser que no envio ele esteja em outro id, como mostrar qual o registro foi errado, como identificar, neste exemplo enviei 50 eventos da tabela de cargos s-1030, 3 estão errados, obrigado.

     

     Ocorrencia 0
       Código:252
       Descrição: CBO inválido.
    Ação Sugerida: O valor informado no campo deverá existir na Tabela de CBO.
       Tipo: 1
       Localização:/eSocial/evtTabCargo/infoCargo/inclusao/dadosCargo/codCBO

  9. 29 minutos atrás, Joceandro Perin disse:

    Entendi, o que percebi que sempre quando retorna o 407, tem um 101 no meio, ou seja, ele esta processando ainda então, por isso os demais vão dar o 407..

    Eu tive esse problema também, resolvi o problema enviando os 50 eventos por lote e uma pausa para enviar o restante de 10 segundos, fazendo isso não aconteceu mais o erro 407, ou seja envia 50 eventos pausa por 10 segundos e assim por diante até terminar a sequencia inteira.

  10. Olá!

    Uma dúvida, a partir de Março de 2018 no cronograma do eSocial começa a ser enviados os eventos não periódicos, pode ser até o final de abril ou já tem que começar a enviar funcionários e outros eventos no começo de Março ?, obrigado.

  11. 14 minutos atrás, LUIZTEC disse:

    São 3500 funcionários então vão ser 3500 / 50=70 envios, pois cada funcionário conta como um evento, ou seja, mesmo que ele tenha 30 proventos e descontos, é um evento só.

    É verdade eu me confundi, cada funcionário tem todos os registros de sua folha de pagamento em seu evento, obrigado.

    1 hora atrás, LUIZTEC disse:

    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.

     

     

    Vou fazer dessa forma que você mencionou, vai ser o melhor a fazer, muito obrigado pelas informações.

    • Curtir 1
  12. 50 minutos atrás, arce disse:

    Um dos clientes aqui da empresa tem 3500 funcionários fixos. O sistema precisa ter uma lógica onde os lotes sejam transmitidos na sequencia correta, para evitar conflitos. Uma sugestão seria organizá-los por funcionário, assim tornaria o controle de erros menos complexo.

    Vou ter que fazer isso mesmo, vai ser melhor, não vai ter outro jeito, quem sabe até lá o governo muda esse esquema e passa aceitar um número infinito de eventos, pois em seu exemplo acima com 3500 funcionários, geralmente tem uma média de proventos e descontos de 15 registros por funcionário, multiplicando dá um total de 52.500 eventos / 50 = 1.050 lotes (Protocolo e Recibo), isso todo o mês.

    Obrigado pela dica.

  13. Esse eSocial tem cada uma...

    Enviei o evento S-1030 (Cargos), um total de 159 eventos, foi direto sem dar qualquer problema, gerou o protocolo corretamente, consultei o protocolo e estava tudo correto.

    Fui enviar o evento S-2200 (Admissão), um total de 90 eventos, e retornou o erro que os eventos tem que estar em um total de 1..50, vai entender, alguns tipos de eventos transmite em sua totalidade e alguns não

    Como mencionei acima uma empresa com mais de 1.000 funcionários vai ser difícil esta manutenção de protocolos e números de recibo.

    Alguém tem alguma sugestão para diminuir esse sofrimento ?.

     

  14. 14 minutos atrás, Alisson Souza Pereira disse:

     

    No caso teria que ser um único lote com os 1000 registros, o eSocial é bem categórico nesta parte, poderão conter apenas 50 eventos por lote e cada protocolo serve para consultar um lote. 

    Lembrando que o protocolo é gerado pelo eSocial. 

    Então se o eSocial não mudar o seu processo, isso não irá acontecer.

    Isso mesmo, eu tentei enviar agora como produção restrita 490 funcionários, retorna o erro: Erro Interno: 0   -  Erro HTTP: 413

    Mas se o eSocial não mudar isso a única maneira será enviar vários lote e com isso vários protocolos serão gerados, vai ser difícil isso, isso falando de funcionários e quando for enviar a folha de pagamento, levando em conta 1000 funcionários e uma média de 15 eventos para cada funcionário será um montante de 15.000 eventos, dividindo por 50 eventos por lote daria 300 envios / protocolo, não tem outro jeito ?.

  15. 57 minutos atrás, Juliomar Marchetti disse:

    acho que tu não atualizou o svn e olhou.

    está no trunk2 já foi subido semana passada e essa semana já foram feito outros commits

    Bom dia Juliomar, tudo bem ?

    No envio do lote do eSocial terá uma forma automática de enviar 50 eventos por vez automaticamente, ou seja, vamos dizer que no evento de funcionarios S-2200 tem um montante de 1000 funcionários, seria um total de 20 lotes de 50 eventos, vou ter que fazer isso manualmente em meu programa, ou nos exemplos tem como enviar automaticamente esses 20 lotes e gerar somente um protocolo ?.

  16. 7 horas atrás, juuninho disse:

     

    Fala Leandro, embora alguns já relataram aqui que o servidor está aceitando lotes maiores, os manuais deixam de forma expressa que o lote só poderá conter até 50 eventos.

    image.png.5a8bfc35348599f6e06686444b28b3cd.png

    image.png.0af05e8d8b559fb5392d72533f61327e.png

    Olá!

    Será que quando tiver pronto os exemplos do eSocial terá uma forma automática de enviar os eventos de 50 por vez automaticamente, ou teremos que fazer isso no próprio sistema, ou seja, envia 50 eventos gera o protocolo, gera mais 50 eventos e outro protocolo, lembrando que quando estiver enviando a folha de pagamento dependendo do total de funcionários pode chegar a mais de 20.000 eventos por folha de pagamento.

  17. 36 minutos atrás, tiago.prs disse:

    Há dois arquivos de DLL que precisam ser adicionados na pasta do executável do seu projeto. Está colocando as duas?
    E posta o trecho do seu código que levanta a exceção ou um exemplo de como você está recebendo esse erro.

    Realmente o problema foi esse, faltou colocar na pasta do executável o arquivo Security.Cryptography.dll , muito obrigado pela dica e agradeço também a todos e ao Jeihcio pela elaboração do projeto, agora esta funcionando perfeitamente.

  18. 39 minutos atrás, Jeihcio Francis disse:

    Eu acabei resolvendo o problema que mencionei acima da seguinte forma: 

     

    Configurações do componente:

     

    If ( Obj.Modelo = A3 ) Then
             Begin
                If FConsultar Then
                   AACBreSocial.Configuracoes.Geral.SSLLib := libCapicom
                Else
                   AACBreSocial.Configuracoes.Geral.SSLLib := libCustom;

                AACBreSocial.Configuracoes.Geral.SSLXmlSignLib := xsNone;
                AACBreSocial.Configuracoes.Certificados.NumeroSerie := Obj.NumeroSerie;
                AACBreSocial.SSL.CarregarCertificado;
             End;

     

    Obs: Eu sei que por default o 'SSLXmlSignLib' vem 'xsNone', mas eu quis deixar explicitamente no código do meu controller que é obrigatório setar esse valor no atributo. 

     

    Depois e antes de enviar eu faço:

     

    { Assinatura digital }
    ACBreSocial1.AssinarEventos;

    { Enviar dados ao webservice }
    ACBreSocial1.Configuracoes.Geral.SSLXmlSignLib := xsXmlSec;
    ACBreSocial1.Enviar(getTipoGrupo(nTabela));

     

    Antes de enviar é obrigatório setar 'xsXmlSec'  para a propriedade 'SSLXmlSignLib', pois no método 'Enviar' da classe 'TACBreSocial' que fica dentro do arquivo 'ACBReSocial' existe a seguinte verificação: 

     

    if SSL.SSLXmlSignLib <> xsXmlSec then
        raise EACBreSocialException.Create('Necessário DigestMethod Algorithm = sha256 -> SSLLib = libOpenSSL'); 

     

    Essas configurações eu fiz no meu código da minha aplicação, já no componente da ACBR tive que fazer as seguintes alterações no arquivo 'ACBrDFeSSL':

     

    Método 'Assinar' da classe 'TDFeSSLXmlSignClass':

     

    function TDFeSSLXmlSignClass.Assinar(const ConteudoXML, docElement,
      infElement: String; SignatureNode: String; SelectionNamespaces: String;
      IdSignature: String; IdAttr: String): String;
    var
      xml: PAnsiChar;
    begin
       FpDFeSSL.SSLCryptLib := cryCapicom;

       xml := PAnsiChar(AnsiString(ConteudoXML));
       TESocialSignature.SignSHA256Ansi(xml, PAnsiChar(AnsiString(infElement)),
                                             PAnsiChar(AnsiString(FpDFeSSL.NumeroSerie)),
                                             PAnsiChar(AnsiString(FpDFeSSL.Senha)));
       Result := string(AnsiString(xml));
    end;

     

    e no método 'Validar' dessa mesma classe:

     

    function TDFeSSLXmlSignClass.Validar(const ConteudoXML, ArqSchema: String; out
      MsgErro: String): Boolean;
    var
      DFeSSL: TDFeSSL;
    begin
       DFeSSL := TDFeSSL.Create;
       Try
          DFeSSL.SetSSLXmlSignLib(xsXmlSec);
          Result := DFeSSL.Validar(ConteudoXML, ArqSchema, MsgErro);
       Finally
          DFeSSL.Free;
       End;
    end;

     

    Essas foram as unicas alterações que fiz para resolver o problema....

    Eu fiz todas essas alterações e voltou a dar o mesmo erro:

    erro "External exception E0434352", linha do Esocialsignature.dll ->   proc(AXml, ANodeToSign, ASerialNumber, APassword);

  19. 1 hora atrás, LUIZTEC disse:

    Minhas configurações estão assim e está funcionando normalmente, até para vários eventos: (nao usei libcustom)

      VESocial.Configuracoes.Geral.SSLLib        := libOpenSSL;  
      VESocial.Configuracoes.Geral.SSLHttpLib    := httpWinHttp; 
      VESocial.Configuracoes.Geral.SSLCryptLib   := cryWinCrypt; 
      VESocial.Configuracoes.Geral.SSLXmlSignLib := xsXmlSec;   

      VESocial.SSL.SelecionarCertificado;

     

    Utilizando o seu ACBrDFeSSL.pas dá erro ao compilar o ACBr_DFeComum, segue o erro abaixo:

        function ValidarHash( const AStream : TStream;
           const Digest: TSSLDgst;
           const Hash: AnsiString;
           const Assinado: Boolean =  False): Boolean; override;
     

    Erro no ACBrDFeWinCrypt.pas

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