Ir para conteúdo
  • Cadastre-se

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Comprar

Impressora de Etiquetas L42

Fabricada no Brasil. Benefícios exclusivos
Garantia de 18 meses   Visor na Tampa   Protocolos PPLA e PPLB
Portas USB e Serial   Baixo Custo de Manutenção   Financiamento através do BNDES

Comprar

Evandro Rocha Almeida

RESPONDIDO Interpretador de tipo evento

Recommended Posts

Ao executa a função mACBreSocial.Eventos.LoadFromString(lxml_esocial) para carregar o evento S-1299, o ACBR valida no xml quanto o evento que esta sendo executado usando a função StringXMLToTipoEvento(Ok, AXMLString)

só que ele encontra outras palavras chaves antes da palavra "evtFechaEvPer" e acaba validado o schema do xml errado. A pesquisa das palavras chaves ele copia da posição 1 até o fima da palavra "</eSocial>" então pesquisa todo o  xml causando o erro segue pedaço do fonte do acbr:

===================================================

function TEventos.LoadFromString(AXMLString: String): Boolean;
var
  AXML: AnsiString;
  P: integer;

  function PoseSocial: integer;
  begin
    Result := pos('</eSocial>', AXMLString);
  end;

begin
  Result := False;
  P := PoseSocial;

  while P > 0 do
  begin
    AXML := copy(AXMLString, 1, P + 9);
    AXMLString := Trim(copy(AXMLString, P + 10, length(AXMLString)));
 

======================================================

Segue o xml importado:
<?xml version="1.0"?>
<eSocial xmlns="http://www.esocial.gov.br/schema/evt/EvtFechaEvPer/v02_04_02">
  <evtFechaEvPer Id="ID1272972900000002019011115273900001">
    <ideEvento>
      <indApuracao>1</indApuracao>
      <perApur>2018-12</perApur>
      <tpAmb>2</tpAmb>
      <procEmi>1</procEmi>
      <verProc>Auditor 2.11.35</verProc>
    </ideEvento>
    <ideEmpregador>
      <tpInsc>1</tpInsc>
      <nrInsc>27297290</nrInsc>
    </ideEmpregador>
    <ideRespInf>
      <nmResp>MONICA OHNESZORGE NEITZEL</nmResp>
      <cpfResp>06848242721</cpfResp>
      <telefone>2732631170</telefone>
      <email>rhgrupoberger@hotmail.com</email>
    </ideRespInf>
    <infoFech>
      <evtRemun>N</evtRemun>
      <evtPgtos>N</evtPgtos>
      <evtAqProd>N</evtAqProd>
      <evtComProd>N</evtComProd>
      <evtContratAvNP>N</evtContratAvNP>
      <evtInfoComplPer>N</evtInfoComplPer>
    </infoFech>
  </evtFechaEvPer>
</eSocial>

Editado por Evandro Rocha Almeida

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Evandro,

Peço que não poste conteúdo de XML como parte do texto da postagem, procure sempre anexar o XML.

Desculpe, não compreendi onde esta o problema.

Você esta com todos os fontes de todas as pastas atualizados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Problema ocorre quando eu passo para o ACBR o xml em anexo do Evento S-1299 para o ACBR validar o schema e transmitir para a Sefaz através do comando mACBreSocial.Eventos.LoadFromString(lxml_esocial)

, o ACBR me retorna o erro abaixo:

Divergência Apresentada: <ret></ret>
<retws></retws><versao>1.22.1.6</versao><fault> bloco:0 ROTINA: TObjEsocial.Enviar
BLOCO:10 Falha na validação dos dados do evento: evtRemun-v02_04_02

1845 - Element '{http://www.esocial.gov.br/schema/evt/EvtFechaEvPer/v02_04_02}eSocial': No matching global declaration available for the validation root.</fault>

-----------

Foi descoberto que na unit pcesConversaoeSocial existe uma função StringXMLToTipoEvento que pesquisa a TAG do evento, e tem uma constante chamada TEventoString que retorna a tag do evento,  como a tag evtRemun está na frente da tag evtFechaEvPer, a função pensa que se trava de um evento evtRemun e não de um evento tag evtFechaEvPer que estou preenchendo conforme o arquivo em anexo. 

 

TempEventoGerado.xml

Editado por Evandro Rocha Almeida

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está agora fechado para novas respostas

×