Ir para conteúdo
  • Cadastre-se

Rodrigo - Digibyte

Membros Pro
  • Total de ítens

    284
  • Registro em

  • Última visita

  • Days Won

    1

Posts postados por Rodrigo - Digibyte

  1. Tenho um cliente que baixa as notas pelo portal e quando tento importar não reconhece nem como NFE nem como RPS. Analisei o código e na verdade não acha alguns nós que identificam se é NFE ou RPS.

    Verificando o XML baixado creio que ele não é exatamente uma nota fiscal, como consta no começo do XML. Alguém já pegou essa situação ou tem ideia de como proceder?

     

    image.png.3054899d843d0d329b78203d1e754eff.png

    image.png.50936a161e2d4ac44b0015cfaab44ccf.png

  2. Mas eu não consigo compilar um projeto NFSeX usando o lazarus e colocar isso no docker? Ao meu ver não precisaria do ACBRLib....

    Eu faria uma chamada do .net, passando os parâmetros e certificado digital (se for o caso), ele faz a consulta e me retorna as notas.

    Isso tudo porque não consigo fazer funcionar o certificado digital 100% em um app service linux no azure, ainda estou buscando a solução mas já estou pensando num plano B.

    Aliás se conhecer alguém que conheça muito a parte de certificado digital e possa trocar algumas informações agradeço.

    Não sei se estou falando besteira ou consegui explicar mas é isso.

  3. 2 horas atrás, Juliomar Marchetti disse:

    #TK-2506

    Está no svn

    mas fico a dúvida é só o numero da versaõ que muda? não mudou mais nada?

    Deve ter mudado, isso ainda vou verificar. Só mandei esse pra estimular o pessoal e pra não dar erro de versão logo de início no validador.

  4. Olá, existem uma série de configurações no webservices. Quais seriam os valores recomendados e quais são usadas pelo eSocial? Onde eu poderia achar isso? Pesquisando vi que algumas delas parecem ser usadas ou fazer sentido apenas para nota fiscal.

        property Visualizar: Boolean read FVisualizar write FVisualizar default False;
        property UF: String read FUF write SetUF;
        property UFCodigo: integer read FUFCodigo;
        property AguardarConsultaRet: cardinal read FAguardarConsultaRet  write FAguardarConsultaRet;
        property Tentativas: integer read FTentativas write SetTentativas default 5;
        property IntervaloTentativas: cardinal read FIntervaloTentativas  write SetIntervaloTentativas default 1000;
        property AjustaAguardaConsultaRet: Boolean  read FAjustaAguardaConsultaRet write FAjustaAguardaConsultaRet default False;
        property Salvar: Boolean read FSalvar write FSalvar default False;
        property Params: TStrings read FParams write SetParams;
        property TimeOut: Integer read FTimeOut write SetTimeOut default 5000;
        property TimeOutPorThread: Boolean read FTimeOutPorThread write SetTimeOutPorThread default False;
        property QuebradeLinha: String read FQuebradeLinha write FQuebradeLinha;
        property TimeZoneConf: TTimeZoneConf read FTimeZoneConf write FTimeZoneConf;
     

  5. pcesGerador.pas

    A geração do grupo estava dependendo da versão, o que está incorreto. Apenas a tag opcFGTS não deve ser gerado na versão 1.0.

    ATENÇÂO: existem várias regras pra geração do grupo, não relacionadas a versão. Provavelmente, se não estiver tratado, irá gerar o grupo indevidamente mas é falta de tratamento do seu sistema, não é erro do acbr.

     

    N (se tpAdmissao = [6] OU (se codCateg for diferente de [104] e dtAdm >= [1988-10-05]) OU (se codCateg = [104] e dtAdm >= [2015-10-01]));
  6. Olá. Algumas tags referente a quantidade de dias trabalhados no desligamento de intermitente não estavam sendo geradas corretamente, segue correção.

     

      //O campo é sempre obrigatório para a categoria 111 (Intermitente)
      if (VersaoDF = ve02_05_00) then
      begin
        Gerador.wCampo(tcStr, '', 'indCumprParc', 1,   1, 1, eSTpCumprParcialAvisoToStr(obj.indCumprParc));
        if ((obj.QtdDiasInterm >= 0) or (obj.CodCateg = 111))  then
          Gerador.wCampo(tcInt, '', 'qtdDiasInterm', 1,   2, 1, obj.QtdDiasInterm);
      end;
    
      if (VersaoDF = veS01_00_00) and (obj.infoIntermInst()) then
        GerarinfoInterm(obj.infoInterm);

     

    Abaixo o código incorreto, mesmo com zero dias deve informar a tag. Aproveitei e tirei referência a versão ve02_04_01 que não existe mais e modifiquei pensando na versão simplificada.

      if VersaoDF <= ve02_05_00 then
      begin
        Gerador.wCampo(tcStr, '', 'indCumprParc', 1,   1, 1, eSTpCumprParcialAvisoToStr(obj.indCumprParc));
        
        //O campo é sempre obrigatório para a categoria 111 (Intermitente)
        if (VersaoDF <> ve02_04_01) and
           ((obj.QtdDiasInterm > 0) or (obj.CodCateg = 111))  then
          Gerador.wCampo(tcInt, '', 'qtdDiasInterm', 1,   2, 1, obj.QtdDiasInterm);
      end;

     

    pcesS2299.pas

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