Paulo Aguiar Junior
Membros-
Total de ítens
184 -
Registro em
-
Última visita
-
Days Won
2
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Paulo Aguiar Junior postou
-
esocial s2190 erro inclusao
Paulo Aguiar Junior replied to anderson.mendonca's tópico in ACBreSocial
Anderson, posta o XML de retorno... -
esocial; Falta de campo dtPrevPgto no S2260
Paulo Aguiar Junior replied to RenatoE's tópico in ACBreSocial
Renato, boa tarde! Só uma observação, no layout que está em produção 2.4.01, não existe esse campo...No momento de gerar as informações no "GerarInfoConvInterm", talvez você precise verificar a versão para gerar ou não o campo no xml (se é que você já não fez isso)... Abraço! -
Bom dia Arce, hoje já enviei diversos S-2200 e S-2205... Posta o XML para darmos uma olhada...
-
esocial s2190 erro inclusao
Paulo Aguiar Junior replied to anderson.mendonca's tópico in ACBreSocial
Os xml's que você postou não diz isso. -
esocial s2190 erro inclusao
Paulo Aguiar Junior replied to anderson.mendonca's tópico in ACBreSocial
Você está gerando na versão 2.4.01, e o ambiente de testes está na 2.4.02 -
Boa tarde, está ocorrendo um erro na geração desse evento no momento de percorrer o zCount: "List index out of bounds". Embora a ocorrência na versão 2.4.1 seja obrigatória, quando não está atribuído ocorre esse erro e não chega nem na validação do Schema... Alterado de: zCount := StrToInt(IfThen((VersaoDF = ve02_04_01), '1', IntToStr(obj.Count))); Para: zCount := StrToInt(IfThen((VersaoDF = ve02_04_01) and (obj.Count > 0), '1', IntToStr(obj.Count))); pcesS2299.pas
-
Boa tarde! A partir de segunda-feira 09/04 (ficará fora do ar das 8:00 as 18:00) o ambiente de produção restrita passará a operacionalizar na versão 2.4.02 do layout. http://portal.esocial.gov.br/noticias/producao-restrita-sera-atualizada-para-a-versao-2-4-02-do-leiaute-em-09-04 Outra notícia importante é que a partir de segunda-feira (09/04) também começa a funcionar o eSocial Web para as as empresas, que poderão consultar os eventos enviados, o conteúdo, os recibos, etc. Também haverá a possibilidade de incluir/alterar/retificar/excluir os eventos diretamente pelo ambiente nas versões futuras. http://portal.esocial.gov.br/noticias/esocial-web-para-empresas-e-regras-de-eventos-extemporaneos-entram-em-producao-em-09-04
-
Sim, utilizo o mesmo mecanismo para todos os eventos. Resumindo: Usuário seleciona 50 eventos na grid, gero cada um deles e armazeno o ID de cada um. Após enviar, atualizo em cada registro enviado nesse lote, o Nº do Protocolo de Envio gerado. Ao consultar determinado protocolo de envio, dou um select retornando os registros que foram enviados nesse lote (ou seja, os que possuem o nº de protocolo que estou consultando). E ai basta percorrer o RetConsultaLote.RetEventos e ir localizando o RetConsultaLote.RetEventos.Items.Id na query, como expliquei no outro post. Não estou dizendo que seja a melhor maneira de fazer, tem gente fazendo de outras formas. Mas essa forma segue o "fluxo natural" das rotinas, e está funcionando bem.
-
try bValido := evtInfoEmpregador.GerarXML; except on e:Exception do begin AdicionaInconsistencia('ERRO', e.Message); end; end; if ( bValido ) then Result := evtInfoEmpregador.Id else begin dmESocial.ACBreSocial.Eventos.Iniciais.S1000.Delete(dmESocial.ACBreSocial.Eventos.Iniciais.S1000.Count-1); Result := ''; end; No exemplo disponibilizado pelo ACBr, adiciona-se todos os eventos, e no final, chama-se o ACBreSocial.Eventos.GerarXMLs, que percorre todas as estruturas (Iniciais, Periodicos, NaoPeriodicos) e sai gerando os xmls... Eu preferi fazer de outra forma, para cada evento que eu adiciono, eu já chamo o GerarXML para ele, e verifico se houve algum erro na geração desse xml (schema por exemplo), quando há erro, eu já removo ele do lote dmESocial.ACBreSocial.Eventos.Iniciais.S1000.Delete(dmESocial.ACBreSocial.Eventos.Iniciais.S1000.Count-1), pois mesmo quando há falha na validação do schema o evento já está adicionado ao lote. E quando não há erro na geração do xml desse evento, pego o atributo Id que foi gerado...
-
Alisson, Cada registro S-1000 corresponde a um registro no seu banco de dados, correto? Você precisa salvar o ID de cada evento gerado no seu respectivo registro no banco (é o único campo que você pode vincular quando efetuar a consulta), e após consultar, você deve percorrer a estrutura RetConsultaLote.RetEventos.Count, e ir localizando (em uma query, por exemplo) pelo RetConsultaLote.RetEventos.Items.Id. No meu caso, nessa query que eu citei, eu dou um select em todos os registros do banco de dados que contém aquele protocolo de envio que eu estou consultando, ou seja, esse é outro campo que eu preencho para cada registro que foi gerado no meu lote. Dessa forma, dou o select em todos os registros do lote que vou consultar, consulto, percorro o retorno (RetConsultaLote.RetEventos.Count), e faço um dmESocial.qryBuscaEventosProtocolo.Locate('ID_EVENTO', RetConsultaLote.RetEventos.Items.Id, []) para encontrar o registro no meu banco. No loop, você pode verificar o RetConsultaLote.RetEventos.Items.Processamento.cdResposta, para saber se o registro foi processado ou não. Caso tenha sido processado, o campo RetConsultaLote.RetEventos.Items.Recibo.nrRecibo estará preenchido com o devido recibo, caso em que você deve armazenar esse recibo (que é o seu comprovante de entrega), caso contrário, percorra a estrutura RetConsultaLote.RetEventos.Items.Processamento.Ocorrencias.Count, para pegar as ocorrências (erros) desse registro que está percorrendo e armazenar p/ mostrar para o usuário. Essa é mais ou menos a lógica que estamos utilizando aqui...
-
Bom dia! Estou tentando enviar agora o S-2200 também, e estou obtendo a mesma mensagem. Você chegou a conseguir enviar algum S-2200 em produção restrita?
-
Boa tarde! Você fez o update do repositório? Componente.Configuracoes.Geral.SSLLib := libCustom; Componente.Configuracoes.Geral.SSLHttpLib := httpWinHttp; Componente.Configuracoes.Geral.SSLCryptLib := cryWinCrypt; Componente.Configuracoes.Geral.SSLXmlSignLib := xsLibXml2; Componente.Configuracoes.Certificados.NumeroSerie := dmESocial.qryCertificadoDigital.FieldByName('NR_SERIE').AsString; Estou utilizando assim, e está funcionando perfeitamente, inclusive, o Rafael disse que o PFX também funciona com essa config...
-
Boa tarde, Corrigido o número dos Grupos de Eventos, os Não Periódicos é o Código 2, e não 3. TeSocialGrupo = (egIniciais = 1, egNaoPeriodicos = 2, egPeriodicos = 3); Fui enviar o 2190 e Recebi a mensagem "O tipo de evento informado não é aceito para este tipo de lote/serviço". Aí fui ver no layout, e realmente estava errado... pcesConversaoeSocial.pas
-
Assinatura A3 e A1 Instalado na máquina
Paulo Aguiar Junior replied to Paulo Aguiar Junior's tópico in ACBreSocial
Joceando, não estava funcionando mesmo nem o A3 nem o A1 instalado mesmo... A gente fez a correção aqui na empresa, e enviamos, e o Rafael implementou de acordo com o padrão aqui do ACBr e anexou aqui. Testei e está funcionando certinho também, provavelmente jájá eles versionam... Valeu! -
Assinatura A3 e A1 Instalado na máquina
Paulo Aguiar Junior replied to Paulo Aguiar Junior's tópico in ACBreSocial
Joceando, bom dia! Estou utilizando assim: Nesse momento aqui já foi validado se ele associou o certificado cadastrado a empresa e tal... Dessa forma estou enviando com A1 PFX, A1 instalado e A3. //Quando usuário cadastrou o certificado pelo PFX if dmESocial.qryCertificadoDigital.FieldByName('DS_CAMINHOPFX').AsString <> '' then begin dmESocial.ACBreSocial.Configuracoes.Geral.SSLLib := libOpenSSL; dmESocial.ACBreSocial.Configuracoes.Geral.SSLHttpLib := httpWinHttp; dmESocial.ACBreSocial.Configuracoes.Certificados.ArquivoPFX := dmESocial.qryCertificadoDigital.FieldByName('DS_CAMINHOPFX').AsString; end else begin //Assinando com o A3 dmESocial.ACBreSocial.Configuracoes.Geral.SSLLib := libCustom; dmESocial.ACBreSocial.Configuracoes.Geral.SSLHttpLib := httpWinHttp; dmESocial.ACBreSocial.Configuracoes.Geral.SSLCryptLib := cryWinCrypt; dmESocial.ACBreSocial.Configuracoes.Geral.SSLXmlSignLib := xsLibXml2; dmESocial.ACBreSocial.Configuracoes.Certificados.NumeroSerie := dmESocial.qryCertificadoDigital.FieldByName('NR_SERIE').AsString; end; dmESocial.ACBreSocial.Configuracoes.Certificados.Senha := TMetodos.fncCriptografia(Descriptografar, dmESocial.qryCertificadoDigital.FieldByName('DS_SENHA').AsString); -
Assinatura A3 e A1 Instalado na máquina
Paulo Aguiar Junior replied to Paulo Aguiar Junior's tópico in ACBreSocial
Bom dia Rafael, funcionou também, normalmente! A1 PFX, A1 instalado e A3 Abc -
Boa tarde, Depois de muito tempo trabalhando em cima, conseguimos aqui na empresa corrigir o problema da assinatura com o certificado A3, e o A1 instalado na máquina para o e-Social (sha-256). Fizemos diversos testes, enviamos e recebemos os recibos normalmente... Segue a unit para análise, testes, e se for o caso ser versionada no componente. É só substituir a unit na pasta: \Fontes\ACBrDFe Valeu! ACBrDFeXsLibXml2.pas
-
Novo Layout e Ambiente de Testes
Paulo Aguiar Junior replied to Joceandro Perin's tópico in ACBreSocial
Os prazos continuam os mesmos, não tem nem porque serem alterados... Os ambientes de produção e testes permanecem na versão 2.4.01 por enquanto. http://portal.esocial.gov.br/noticias/disponibilizada-versao-2-4-02-beta-do-leiaute-do-esocial -
Entendi... Então, estamos para soltar uma versão para os nossos clientes, e, a idéia era não ter dependência com o .NET framework, tendo em vista que há diversos tipos de ambiente nos clientes, e certamente não estão todos aptos. Valeu!
-
Bom dia! O erro no processamento do lote assinado pelo A3 persiste... "Assinatura do evento inválida. Ações Sugeridas: Verificar se houve alteração do evento após a assinatura. Verificar a validade da assinatura." Estou tentando identificar o problema na assinatura do A3, mas está complicado... Alguém que tenha participado no desenvolvimento da ACBrDFeXsLibXml2 poderia nos ajudar? Obrigado
-
Para conhecimento, o ambiente de produção restrita estará fora do ar no dia de hoje para adequações... http://portal.esocial.gov.br/noticias/testes-com-eventos-extemporaneos-comecam-a-partir-do-dia-08-02
-
- 2
-
-
Svn Corrigir Retorno Consulta Lote
Paulo Aguiar Junior replied to EdmarFrazao's tópico in ACBreSocial
Fiz o teste de um retorno com Ocorrencias, e de um apenas com o Recibo. Ambos deu certinho. Faz novamente por favor o teste Edmar.. -
Svn Corrigir Retorno Consulta Lote
Paulo Aguiar Junior replied to EdmarFrazao's tópico in ACBreSocial
Dá uma analisada nessa unit, está corrigido o problema dos access violation referente a Recepcao, Processamento e Recibo. O problema era que não estava passando no TRetEventosCollectionItem.Create. Agora precisamos acertar os erros dos níveis do Leitor.Extrai pcesRetConsultaLote.pas -
Svn Corrigir Retorno Consulta Lote
Paulo Aguiar Junior replied to EdmarFrazao's tópico in ACBreSocial
Esse problema eu corrigi, vou postar aqui p/ análise. Agora o único problema está nos níveis do Leitor.Extrai. O Extrai da forma que está não sei se vai dar certo, pois por exemplo, quando houver a tag Ocorrencias, o nível do Recibo será um, quando não houver, será outro. -
Svn Corrigir Retorno Consulta Lote
Paulo Aguiar Junior replied to EdmarFrazao's tópico in ACBreSocial
O erro está exatamente onde o Edmar disse... RetEventos.Items.evtDupl := StrToBool(FLeitor.rAtributo('evtDupl=', 'evento')); O leitor não encontra o "evtDupl" e aí a função tenta converter uma String '' p/ Boolean e da o erro. Pelo que percebi, o XML de retorno não está vindo com a Tag evtDupl...embora no layout a ocorrência dele esteja 1, e não 0-1. E aí como da erro nessa linha, não está sendo executado o que está abaixo, que é onde iria atribuir os valores para Processamento, Recepcao e Recibo
