Ir para conteúdo
  • Cadastre-se

Luiz Neto

Membros
  • Total de ítens

    47
  • Registro em

  • Última visita

Posts postados por Luiz Neto

  1. Em 15/10/2021 at 10:22, ismaelspaniol disse:

     

    S-1200   *Rubricas Informativas (Tribubutada IR)
    perApur=2021-09
    ideDmDev=Ferias_Provisão
    vrRubr=100.00 (Tributação apenas para o IR)

    Aqui não seriam rubricas informativas e sim proventos e descontos(1 - Vencimento, provento ou pensão 2 - Desconto) mas apenas com incidência de IR

     

     

     

     

    Voces recomendam deixar com informativas ou  seriam rubricas proventos e descontos? e o código de incidência tributação para o IR, deixar como 13 ou 11?

  2. Tem como saber o que causa o erro Schema Inválido ao criar o S-1210 Pagamentos layout S-V.1.0.00, alguma forma de gerar um log? ou forçar mais detalhes do erro? se eu colocar um try..except o programa consegue criar o XML e consigo transmitir sem erro pelo eSocial, mas a mensagem está incomodando meus clientes, pois, se passa a transmissão porque a essa mensagem aparece? então aparentemente o XML está correto.

  3. Forçei a geração do XML pra analisar e não vejo o que pode estar errado, ele ainda acusa erro de Schema Inválido

      <?xml version="1.0" encoding="UTF-8"?>
      <eSocial xmlns="http://www.esocial.gov.br/schema/evt/evtPgtos/v_S_01_00_00">
      <evtPgtos Id="ID0000438150000002022020210000638743">
        <ideEvento>
          <indRetif>1</indRetif>
          <perApur>2022-01</perApur>
          <tpAmb>1</tpAmb>
          <procEmi>1</procEmi>
          <verProc>1.0</verProc>
        </ideEvento>
        <ideEmpregador>
          <tpInsc>1</tpInsc>
          <nrInsc>29003815</nrInsc>
        </ideEmpregador>
        <ideBenef>
          <cpfBenef>00000000000</cpfBenef>
          <infoPgto><dtPgto>2022-01-04</dtPgto>
            <tpPgto>2</tpPgto>
            <perRef>2021-01</perRef>
            <ideDmDev>R</ideDmDev>
            <vrLiq>198.67</vrLiq>
          </infoPgto>
        </ideBenef>
      </evtPgtos>
      </eSocial>
     

    zerei o CPF e o ID por questao de sigilo do cliente, mas o resto é copia do XML

     

    Se puder comparar com o seu XML de pagamento de rescisão e dizer se vê alguma tag faltando ou sobrando eu agradeçerei muito.

  4. Estou com um erro no S-1210 pagamento de rescisão usando o layout Simplificado que apresenta erro de Schema Inválido e descobri que uma das causas é que indGuia não deve ser preenchido, vocês estão conseguindo gerar o S-1210 para rescisões sem erro de Schema Inválido?

     

  5. Quando fui gerar o S-1210 no eSocial, acontece o erro de Schema inválido, gerei o XML antes de assinar e vejo que a estrutura está batendo com o XML gerado pelo site do eSocial quando faço esse registro manualmente, como parece que a assinatura e valdação do XML ocorre em DLL, tem como saber o que pode estar causando esse tipo de erro? alguma tag indesejada, erro na ACBr, ou  no arquivo de Schema? 

     

      <?xml version="1.0" encoding="UTF-8"?>
      <eSocial xmlns="http://www.esocial.gov.br/schema/evt/evtPgtos/v_S_01_00_00">
      <evtPgtos Id="ID0000438150000002022020210000638743">
        <ideEvento>
          <indRetif>1</indRetif>
          <perApur>2022-01</perApur>
          <tpAmb>1</tpAmb>
          <procEmi>1</procEmi>
          <verProc>1.0</verProc>
        </ideEvento>
        <ideEmpregador>
          <tpInsc>1</tpInsc>
          <nrInsc>29243815</nrInsc>
        </ideEmpregador>
        <ideBenef>
          <cpfBenef>00000000000</cpfBenef>
          <infoPgto><dtPgto>2022-01-04</dtPgto>
            <tpPgto>2</tpPgto>
            <perRef>2021-01</perRef>
            <ideDmDev>R</ideDmDev>
            <vrLiq>198.67</vrLiq>
          </infoPgto>
        </ideBenef>
      </evtPgtos>
      </eSocial>
     

  6. Fiz uns ajustes do pcesGerador para corrigir erro na validação quando o trabalhador/sócio for estrangeiro mas residir no Brasil, não basta apenas saber se ele é estrageiro, é necessário verificar o país onde ele reside para gerar o endereço certo.

     

    procedure TeSocialEvento.GerarEndereco(pEndereco: TEndereco;
      pExterior: boolean);
    begin
      Gerador.wGrupo('endereco');
    
      If Not pExterior Or (pEndereco.Exterior.PaisResid = '105') Or (pEndereco.Exterior.PaisResid = '') Then begin // Mora no Brasil
         GerarEnderecoBrasil(pEndereco.Brasil);
      end
      else begin
         GerarEnderecoExterior(pEndereco.Exterior);
      end;
    
      Gerador.wGrupo('/endereco');
    end;

     

    pcesGerador.pas

  7. É para evitar erro de execução na conversão quando t estiver vazia ou nula, tem situações com leitura do BD que podem gerar t nulo, isto é apenas para adicionar mais uma camada de verificação evitar o erro na execução.

    Não irá quebrar o código, é exatamente por ela ser chamada em várias rotinas e com isso dispensar inúmeros testes se t está vazio pelo código. Tem algumas opcoes onde o campo é opcional e aí o valor 

    de t será vazio e vai dar erro de conversão no integer (t).

  8. Sugiro a seguinte alteração

    function EnumeradoToStr2(const t: variant; const AString: array of string ): variant;
    // Atencao não Funciona em Alguns Enumerados ja existentes
    begin
    // Melhorar para testar se o valor consta na string
      IF Not ((VarType(t) = varUnknown) Or (VarType(t) = varNull) Or (VarType(t) = varEmpty)) Then Begin
         result := AString[ integer( t ) ];
      end;
    end;

     

  9. Obrigado por responder Juliomar. Ele não apresenta o erro, pois não faz o include do pces1200 e pces2299 no comando "uses", eu preciso usar pois faço declaração de procedures com parâmetros com essas classes. Não entendi a declaração das mesmas classes com os mesmos nomes mudando apenas alguma letra para maiuscula na pces2299 e pces1200. Eu poderia renomear as classes, embora sejam aparentemente iguais, mas fiquei sem querer alterar a ACBr sem analisar melhor.

  10. Estou tendo erros ao gerar o S-1005 do eSocial por causa da tag <indSubstPatrObra> que não deve ser gerada se não houver situação na empresa. A função infoEstab.DadosEstab.infoObraInst()  testa se foi atribuída e aí gera ou não no xml, porém, como a propriedade no componente ABCr é do tipo enumerado, sempre esta função retorna Verdadeiro e gera a tag com valor 1. Fiz alterações nos fontes para a lista aceitar o valor ispVazio, alterei os métodos de geração das tags, porém gostaria de saber se vocês estão conseguindo gerar o XML sem a tag quando a empresa não utilizar essa situação, antes de perder tempo tentando alterar os fontes pces1005.pas.

    Este problema acontece com outras propriedades nos registros, onde existe uma lista de valores válidos, mas, não deva ser gerada a tag se a empresa não se enquadrar.

    • Curtir 1
  11. Fiz a alteração acima e funcionou bem. Existem varios campos com valor tipo 0,1,2..9 que só devem devem gerados em certas situações, porem como sao propriedades do tipo inteiro que nao pode ficar 'Null' sempre estarão com valor 0 ao iniciar e aí não saberemos se foi preenchida ou está vazia. Alguma sugestão de como modificar pcesConversaoeSocial.pas para para não atribuir valor zero, quando forem inicializadas ou convertidas para string?

     

    function eSIndSitPFToStr(const t: tpIndSitPF): string;
    begin
      result := EnumeradoToStr2(t, TGenericosString0_2);
    end;

     

  12. Estou tantando enviar um evento S-1000 e está ocorrendo o seguinte erro:

    Código da ocorrência: 638
    Descrição do erro...: O ambiente informado no evento é incompatível com a url utilizada.


    <?xml version="1.0" encoding="UTF-8"?>
    -<eSocial xmlns="http://www.esocial.gov.br/schema/evt/evtInfoEmpregador/v02_04_02">
      -<evtInfoEmpregador Id="ID1182359010000002018083017304282694">
        -<ideEvento>
          <tpAmb>2</tpAmb>
          <procEmi>1</procEmi>
          <verProc>1.0</verProc>
          </ideEvento>
          
    tpAmb está igual a 2 e configurei o ambiente para Homologação (1)
    Quando ele retorna o XML na consulta ele coloca tpAmb como 1 no XML de retorno


    -<recepcao>
      <tpAmb>1</tpAmb>
      <dhRecepcao>2018-08-30T16:21:24.273</dhRecepcao>
      <versaoAppRecepcao>0.1.0-A0340</versaoAppRecepcao>

    Alguem sabe como resolver? Verifiquei varias vezes a tag tpAmb e está certa no envio.

  13. Quando estou gerando o XML para envio, está sempre gravando a tag <indAcordoIsenMulta> e com valor 0, mesmo que eu não atribua nenhum valor ele grava a tag. Isto está provocando um erro quando transmito o lote do S1000 e não consegui resolver, nem achar nos fontes onde a ACbr está colocando este valor default para a propriedade ACBrS1000.evtInfoEmpregador.infoEmpregador.infoCadastro.infoOrgInternacional.IndAcordoIsenMulta que força o gerador criar a tag no XML pois foi preenchida. Se eu testo em meu fonte se a propriedade está vazia, ele retorna falso pois ela esta sempre com valor 0 mesmo que na tabela de meu ERP o cliente deixe em branco.

    -<infoOrgInternacional>

          <indAcordoIsenMulta>0</indAcordoIsenMulta>

    </infoOrgInternacional>

  14. IdeEvento.TpAmb  aceita "1" e "2", para Produção  e Produção Restrita.

    Para ACBreSocial1.Configuracoes.WebServices.Ambiente, são '0' e '1' para taProducao e taHomologacao, pois esta usando o rgTipoAmb.ItemIndex, o que causa confusão.

    Mude a linha para IdeEvento.TpAmb := taProducaoRestrita; como Ítalo citou acima que funcionará, pois voce está gravando '1' em TmAmb no XML.

    <ideEvento>
    <tpAmb>1</tpAmb>

    O ideal seria voce  ajustar o programa de exemplo para usar uma função que retornasse de acordo com rgTipoAmb.ItemIndex para determinar IdeEvento.TpAmb, ao invés de atribuir manualmente em cada evento como está no programa Exemplo atual.

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