Ir para conteúdo
  • Cadastre-se

emarcolongo

Membros
  • Total de ítens

    72
  • Registro em

  • Última visita

  • Days Won

    1

Posts postados por emarcolongo

  1. Bom dia.

    Um cliente adquiriu uma mercadoria importada e é necessário fazer a nota de entrada.

    Recebemos uma nota do despachante com a finalidade de nota = 1 e o valor de icms abaixo

    Base de Calculo: 65.547,06

    % ICMS: 17

    Vlr.Icms: 11.143,04

     

    Ao fazer o calculo (65547.06 * 0,17) = 11.143,00 o que vai provocar a rejeição 528

    Porém essa nota do despachante esta autorizada pela receita mesmo com a diferença, como se trata de uma nota em que o cliente precisa fazer a entrada todos os valores devem estar iguais.

    Alguém tem alguma ideia de como conseguiram fazer uma nota desta forma ? ou o que preciso configurar para emitir de forma igual ?

    Grato

    nota1.jpg

    nota2.jpg

  2. Boa tarde.

    Estou seguindo o exemplo do ACBrMail para envio do xml e danfe, porém o nome dos meus anexos estão sendo enviados como o nome do arquivo e não o que estou especificando.

    Compilei o exemplo e ocorre a mesma coisa

    Alguem conseguiu contornar ou faz de algum outro jeito ?

     

        ACBrMail1.AddAttachment(Dir + '35150905481336000137550010000111291000111298-nfe.pdf', 'DANFE', adAttachment);

    No codigo acima era para o anexo ter o nome de Danfe mas vem a chave (35150905481336000137550010000111291000111298-nfe.pdf).

    Grato

  3. Boa tarde

    Fizemos uma alteração na leitura do arquivo ini

    Adicionamos a tag IndApurIR dentro do bloco ItensRemun do idePeriodo

    linha 1675

    with itensRemun.New do
      begin
    	  codRubr    := sFim;
      	ideTabRubr := INIRec.ReadString(sSecao, 'ideTabRubr', '');
      	qtdRubr    := StringToFloatDef(INIRec.ReadString(sSecao, 'qtdRubr', ''), 0);
      	fatorRubr  := StringToFloatDef(INIRec.ReadString(sSecao, 'fatorRubr', ''), 0);
      	vrUnit     := StringToFloatDef(INIRec.ReadString(sSecao, 'vrUnit', ''), 0);
      	vrRubr     := StringToFloatDef(INIRec.ReadString(sSecao, 'vrRubr', ''), 0);
      	indApurIR  := eSStrToTpindApurIR(ok, INIRec.ReadString(sSecao, 'indApurIR', '0'));  //09/02/2023
      end;

    pcesS1200.pas

    • Curtir 1
  4. Bom dia.

    Fizemos uma alteração na leitura do arquivo ini

    o exMedOcup.tpExameOcup deveria esta na seção exMedOcup

          sSecao := 'aso';
          exMedOcup.aso.DtAso  := StringToDateTime(INIRec.ReadString(sSecao, 'dtAso', '0'));
          //exMedOcup.tpExameOcup  := eSStrToTpExameOcup(Ok, INIRec.ReadString(sSecao, 'tpAso', '0'));  //02/05/2022
          exMedOcup.aso.ResAso := eSStrToResAso(Ok, INIRec.ReadString(sSecao, 'resAso', '1'));
    
          sSecao := 'exMedOcup';                                                                            //02/05/2022
          exMedOcup.tpExameOcup  := eSStrToTpExameOcup(Ok, INIRec.ReadString(sSecao, 'tpExameOcup', '0'));  //02/05/2022

     

    pcesS2220.pas

  5. Bom dia.


    Fizemos um ajuste no pcesS2205 na leitura do arquivo INI como segue abaixo:

              //sexoDep  := INIRec.ReadString(sSecao, 'sexoDep', 'F');  //25/04/2022
              sexoDep  := INIRec.ReadString(sSecao, 'sexoDep', '');     //25/04/2022

    linha 399

    Desta forma não vai ocorrer mais erros.

    pcesS2205.pas

  6. Fizemos ajustes na leitura do arquivo INI para ficha S2200

            with trabalhador.Dependente.New do
            begin
              tpDep    := eSStrToTpDep(Ok, sFim);
              nmDep    := INIRec.ReadString(sSecao, 'nmDep', '');
              dtNascto := StringToDateTime(INIRec.ReadString(sSecao, 'dtNascto', '0'));
              cpfDep   := INIRec.ReadString(sSecao, 'cpfDep', '');
              //sexoDep  := INIRec.ReadString(sSecao, 'sexoDep', 'F');  //25/04/2022 -- valor padrao
              sexoDep  := INIRec.ReadString(sSecao, 'sexoDep', '');     //25/04/2022 -- retirando valor padrao
              depIRRF  := eSStrToSimNao(Ok, INIRec.ReadString(sSecao, 'depIRRF', 'S'));
              depSF    := eSStrToSimNao(Ok, INIRec.ReadString(sSecao, 'depSF', 'S'));
              incTrab  := eSStrToSimNao(Ok, INIRec.ReadString(sSecao, 'incTrab', 'S'));
            end;

    No codigo abaixo fizemos a verificação da versão

          sSecao := 'sucessaoVinc';
          {if INIRec.ReadString(sSecao, 'cnpjEmpregAnt', '') <> '' then //28/04/2022
          begin
            vinculo.sucessaoVinc.tpInscAnt     := eSStrToTpInscricao(Ok, INIRec.ReadString(sSecao, 'tpInscAnt', '1'));
            vinculo.sucessaoVinc.cnpjEmpregAnt := INIRec.ReadString(sSecao, 'cnpjEmpregAnt', '');
            vinculo.sucessaoVinc.MatricAnt     := INIRec.ReadString(sSecao, 'matricAnt', '');
            vinculo.sucessaoVinc.dtTransf      := StringToDateTime(INIRec.ReadString(sSecao, 'dtTransf', '0'));
            vinculo.sucessaoVinc.Observacao    := INIRec.ReadString(sSecao, 'observacao', '');
          end;}
          if ((INIRec.ReadString(sSecao, 'cnpjEmpregAnt', '') <> '') and (TACBreSocial(FACBreSocial).Configuracoes.Geral.VersaoDF <= ve02_05_00)) then  //28/04/2022
          begin
            vinculo.sucessaoVinc.tpInscAnt     := eSStrToTpInscricao(Ok, INIRec.ReadString(sSecao, 'tpInscAnt', '1'));
            vinculo.sucessaoVinc.cnpjEmpregAnt := INIRec.ReadString(sSecao, 'cnpjEmpregAnt', '');
            vinculo.sucessaoVinc.MatricAnt     := INIRec.ReadString(sSecao, 'matricAnt', '');
            vinculo.sucessaoVinc.dtTransf      := StringToDateTime(INIRec.ReadString(sSecao, 'dtTransf', '0'));
            vinculo.sucessaoVinc.Observacao    := INIRec.ReadString(sSecao, 'observacao', '');
          end;
    
          if ((INIRec.ReadString(sSecao, 'tpInsc', '') <> '') and (TACBreSocial(FACBreSocial).Configuracoes.Geral.VersaoDF > ve02_05_00)) then   //28/04/2022
          begin
            vinculo.sucessaoVinc.tpInsc       := eSStrToTpInscricao(Ok, INIRec.ReadString(sSecao, 'tpInsc', '1'));
            vinculo.sucessaoVinc.nrInsc       := INIRec.ReadString(sSecao, 'nrInsc', '');
            vinculo.sucessaoVinc.MatricAnt    := INIRec.ReadString(sSecao, 'matricAnt', '');
            vinculo.sucessaoVinc.dtTransf     := StringToDateTime(INIRec.ReadString(sSecao, 'dtTransf', '0'));
            vinculo.sucessaoVinc.Observacao   := INIRec.ReadString(sSecao, 'observacao', '');
          end;

     

    Segue fonte para avaliação

    pcesS2200.pas

  7. Bom dia, 

    Ao consultar um evento 2240 com o protocolo o eSocial retorna a seguinte mensagem:

    Citar

    A ESTRUTURA DO ARQUIVO XML ESTÁ EM DESCONFORMIDADE COM O ESQUEMA XSD.THE ELEMENT 'ESOCIAL' IN NAMESPACE 'HTTP://WWW.ESOCIAL.GOV.BR/SCHEMA/EVT/EVTEXPRISCO/V_S_01_00_00' HAS INCOMPLETE CONTENT. LIST OF POSSIBLE ELEMENTS EXPECTED: 'SIGNATURE' IN NAMESPACE 'HTTP://WWW.W3.ORG/2000/09/XMLDSIG#'.

    Não consegui identificar o que há de errado, pois o envio foi feito normalmente, se fosse algo na assinatura acredito que não devia nem enviar.

    Alguma sugestão ?

    Grato

  8. Boa tarde.


    Estou tentando carregar um arquivo INI pelo programa de exemplo

    procedure TfrmACBreSocial.btnCarregarINIClick(Sender: TObject);
    var
      i: Integer;
    begin
      OpenDialog1.Title := 'Selecione o Evento (Arquivo INI)';
      OpenDialog1.DefaultExt := '*.ini';
      OpenDialog1.Filter :=
        'Arquivos INI (*.ini)|*.ini|Todos os Arquivos (*.*)|*.*';
      OpenDialog1.InitialDir := ACBreSocial1.Configuracoes.Arquivos.PathSalvar;
    
      if OpenDialog1.Execute then
        ACBreSocial1.Eventos.LoadFromINI(OpenDialog1.FileName);
    
      MemoResp.Clear;
      MemoResp.Lines.Clear;
      MemoResp.Lines.Add('INI de Eventos Carregado com Sucesso!');
      MemoResp.Lines.Add(' ');
    
      for I := 0 to ACBreSocial1.Eventos.Gerados.Count -1 do
      begin
        MemoResp.Lines.Add('Tipo Evento.: ' + TipoEventoToStr(ACBreSocial1.Eventos.Gerados.Items[i].TipoEvento));
        MemoResp.Lines.Add('Evento Salvo: ' + ACBreSocial1.Eventos.Gerados.Items[i].PathNome);
      end;
    
      pgRespostas.ActivePageIndex := 2;
    end;

    Após selecionar o arquivo INI (inclusive os da pasta INI do projeto de exemplo) a linha 

      for I := 0 to ACBreSocial1.Eventos.Gerados.Count -1 do

    Sempre retorna   ACBreSocial1.Eventos.Gerados.Count = 0

    Anteriormente conseguia utilizar normalmente, houve alguma alteração ? O INI continuará a ser suportado ?

    Grato

     

  9. Bom dia. 

    Qdo faço a leitura do arquivo INI eu consigo pegar o nome do arquivo com o codigo abaixo:

        ACBreSocial1.Eventos.LoadFromINI('c:\teste.ini');
        sAssinado := ACBreSocial1.Eventos.Gerados.Items[0].PathNome;

    Porém qdo eu faço a leitura pelo XML não tenho o evento gerado mesmo utilizando o Eventos.Gerar, então não existe o 'gerados.items[0]'

        ACBreSocial1.Eventos.LoadFromFile('c:\as\esocial.xml',true);

    Como eu poderia pegar o nome do xml que será gerado ?

    Grato

  10. Bom dia Renato

    Eu coloquei as DLLs mas assim mesmo não tive retorno.

    Para um melhor entendimento segue meu fonte:

    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Mask, ACBrBase, ACBrSocket, ACBrConsultaCNPJ;
    
    type
      TForm1 = class(TForm)
        EditCNPJ: TMaskEdit;
        EditCaptcha: TEdit;
        Button1: TButton;
        ACBrConsultaCNPJ1: TACBrConsultaCNPJ;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    uses U_Principal;
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if ACBrConsultaCNPJ1.Consulta(EditCNPJ.Text,EditCaptcha.Text,true) then showmessage(ACBrConsultaCNPJ1.RazaoSocial);
    end;
    
    end.

    Neste form (que estou usando somente para teste) eu não tenho o valor do captcha mas o usuario consegue pega-lo de outra forma.

    Se eu abrir o form do exemplo (que copiei neste projeto) e executar funciona, então acredito que seja alguma coisa que esta me passando.

    Alguma outra sugestão ?

    Grato

  11. Bom dia.

    Estou tendo sempre o retorno abaixo, porém executando pelo exemplo isto não acontece, comparei o componente nos dois projetos e estão iguais, verifiquei se teria alguma dll na pasta do exemplo mas não tem.

    Citar

    ---------------------------
    Debugger Exception Notification
    ---------------------------
    Project Project1.exe raised exception class EACBrConsultaCNPJException with message 'Não foi possível obter os dados.'.
    ---------------------------
    Break   Continue   Help   
    ---------------------------

     

    Alguem tem alguma sugestão ?

    Grato

  12. Bom dia, 

    Compilei e utilizei o exemplo do ACbrCep em minha maquina que contem o ambiente de desenvolvimento e o retorno com o wsCorreios foi correto, porém ao colocar o executavel de exemplo em outra maquina que não tem o Delphi instalado aparece o seguinte retorno:

     

    Citar

    Efetuando consulta HTTP em:
    https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl

    Ocorreu o seguinte erro ao consumir o WebService dos correios:
      - Erro HTTP: 500 
    Socket Error: 10091 error:140A90C4:SSL routines:SSL_CTX_new:null ssl method passed
    URL: https://servicodados.ibge.gov.br/api/v1/localidades/estados/

    Resposta HTTP:

     

    O cep consultado é o mesmo. O mesmo ocorre com a consulta do IBGE. Há algo que preciso configurar ?

    Grato

  13. Bom dia

    Atualmente na leitura do arquivo ini existe o codigo abaixo:

          sSecao := 'sucessaoVinc';
          if INIRec.ReadString(sSecao, 'cnpjEmpregAnt', '') <> '' then
          begin
            vinculo.sucessaoVinc.tpInscAnt     := eSStrToTpInscricao(Ok, INIRec.ReadString(sSecao, 'tpInscAnt', '1'));
            vinculo.sucessaoVinc.cnpjEmpregAnt := INIRec.ReadString(sSecao, 'cnpjEmpregAnt', '');
            vinculo.sucessaoVinc.MatricAnt     := INIRec.ReadString(sSecao, 'matricAnt', '');
            vinculo.sucessaoVinc.dtTransf      := StringToDateTime(INIRec.ReadString(sSecao, 'dtTransf', '0'));
            vinculo.sucessaoVinc.Observacao    := INIRec.ReadString(sSecao, 'observacao', '');
          end;

    mas na versão simplificada não há mais a tag 'cnpjEmpregAnt'

    Fiz a alteração para avaliarem:

          sSecao := 'sucessaoVinc';
          //if INIRec.ReadString(sSecao, 'cnpjEmpregAnt', '') <> '' then
          //begin
            vinculo.sucessaoVinc.tpInscAnt     := eSStrToTpInscricao(Ok, INIRec.ReadString(sSecao, 'tpInscAnt', '1'));
            vinculo.sucessaoVinc.cnpjEmpregAnt := INIRec.ReadString(sSecao, 'cnpjEmpregAnt', '');
            vinculo.sucessaoVinc.MatricAnt     := INIRec.ReadString(sSecao, 'matricAnt', '');
            vinculo.sucessaoVinc.dtTransf      := StringToDateTime(INIRec.ReadString(sSecao, 'dtTransf', '0'));
            vinculo.sucessaoVinc.Observacao    := INIRec.ReadString(sSecao, 'observacao', '');
    
            vinculo.sucessaoVinc.tpInscAnt     := eSStrToTpInscricao(Ok, INIRec.ReadString(sSecao, 'tpInsc', '1'));
            vinculo.sucessaoVinc.cnpjEmpregAnt := INIRec.ReadString(sSecao, 'nrInsc', '');
          //end;

     

    Grato

    Eduardo/Keli - AS Informática

    pcesS2200.pas

  14. Bom dia.

    Aqui precisamos adicionar as linhas nos arquivos abaixo :

    pcesS2200.pas (linha 521)

          sSecao := 'horContratual';
          if INIRec.ReadString(sSecao, 'tpJornada', '') <> '' then
          begin
            vinculo.infoContrato.horContratual.QtdHrsSem := INIRec.ReadInteger(sSecao, 'qtdHrsSem', 0);
            vinculo.infoContrato.horContratual.TpJornada := eSStrToTpJornada(Ok, INIRec.ReadString(sSecao, 'tpJornada', '1'));
            vinculo.infoContrato.horContratual.DscTpJorn := INIRec.ReadString(sSecao, 'dscTpJorn', '');
            vinculo.infoContrato.horContratual.dscJorn   := INIRec.ReadString(sSecao, 'dscJorn', '');
            vinculo.infoContrato.horContratual.tmpParc   := StrTotpTmpParc(Ok, INIRec.ReadString(sSecao, 'tmpParc', '0'));
            vinculo.infoContrato.horContratual.horNoturno:= eSStrToSimNao(Ok, INIRec.ReadString(sSecao, 'horNoturno', 'S'));  //26/01/2022--Adicionado
          end;

     pcesS2206.pas (linha 570)

          sSecao := 'horContratual';
          if INIRec.ReadString(sSecao, 'qtdHrsSem', '') <> '' then
          begin
            altContratual.infoContrato.horContratual.QtdHrsSem := StrtoFloatDef(IniRec.ReadString(sSecao,'qtdHrsSem','0'),0);
            altContratual.infoContrato.horContratual.TpJornada := eSStrToTpJornada(Ok, INIRec.ReadString(sSecao, 'tpJornada', '1'));
            altContratual.infoContrato.horContratual.DscTpJorn := INIRec.ReadString(sSecao, 'dscTpJorn', '');
            altContratual.infoContrato.horContratual.dscJorn   := INIRec.ReadString(sSecao, 'dscJorn', '');
            altContratual.infoContrato.horContratual.tmpParc   := StrTotpTmpParc(Ok, INIRec.ReadString(sSecao, 'tmpParc', '0'));
            altContratual.infoContrato.horContratual.horNoturno:= eSStrToSimNao(Ok, INIRec.ReadString(sSecao, 'horNoturno', 'S'));  //26/01/2022 -- Adicionado
          end;

    Segue para validação

    Eduardo / Keli

    pcesS2206.pas pcesS2200.pas

    • Curtir 1
  15. Boa tarde.

    Estamos ajustando nosso sistema com o esocial e precisamos modificar o fonte da ficha 2210 (pcesS2210) na procedure da leitura do arquivo INI com o codigo abaixo

    a variavel sSecao não recebia a nova seção por consequencia não preechia de maneira correta.

          sSecao := 'ideLocalAcid';  //23/07/2021
          if INIRec.ReadString(sSecao, 'nrInsc', '') <> '' then
          begin
             cat.localAcidente.ideLocalAcid.TpInsc := eSStrToTpInscricao(Ok, INIRec.ReadString(sSecao, 'tpInsc', '1'));
             cat.localAcidente.ideLocalAcid.NrInsc := INIRec.ReadString(sSecao, 'nrInsc', EmptyStr);
          end;

    Segue arquivo anexo tb

    Grato

    Eduardo / Keli

    pcesS2210.pas

    • Curtir 1
  16. Senhores, boa tarde.

    Fizemos alguns testes na versão simplificada do evento 2399 e precisamos modificar algumas linhas para validar corretamente.

    Segue o arquivo anexo, coloquei comentários nas linhas alteradas com a data de 04/06/2021, abaixo tb estará disponível

     

    function TEvtTSVTermino.LerArqIni(const AIniString: String): Boolean;
    var
      INIRec: TMemIniFile;
      Ok: Boolean;
      sSecao, sFim: String;
      I, J, K, L, M: Integer;
    begin
      Self.VersaoDF := TACBreSocial(FACBreSocial).Configuracoes.Geral.VersaoDF;   //04/06/2021
    
      Result := True;
    
      INIRec := TMemIniFile.Create('');
    
    -------------------------------------------------------------------------------------
    
          sSecao := 'ideTrabSemVinculo';
          ideTrabSemVinc.CpfTrab    := INIRec.ReadString(sSecao, 'cpfTrab', EmptyStr);
          ideTrabSemVinc.NisTrab    := INIRec.ReadString(sSecao, 'nisTrab', EmptyStr);
          ideTrabSemVinc.codCateg   := INIRec.ReadInteger(sSecao, 'codCateg', 0);
          ideTrabSemVinc.matricula  := INIRec.ReadString(sSecao, 'matricula', EmptyStr);  //04/06/2021 --
    
    -------------------------------------------------------------------------------------
    
                    with detVerbas.New do
                    begin
                      codRubr    := sFim;
                      ideTabRubr := INIRec.ReadString(sSecao, 'ideTabRubr', '');
                      qtdRubr    := StringToFloatDef(INIRec.ReadString(sSecao, 'qtdRubr', ''), 0);
                      fatorRubr  := StringToFloatDef(INIRec.ReadString(sSecao, 'fatorRubr', ''), 0);
                      vrUnit     := StringToFloatDef(INIRec.ReadString(sSecao, 'vrUnit', ''), 0);
                      vrRubr     := StringToFloatDef(INIRec.ReadString(sSecao, 'vrRubr', ''), 0);
                      indApurIR  := eSStrToTpindApurIR(ok,INIRec.ReadString(sSecao, 'indApurIR', ''));  //04/06/2021

     

    Eduardo / Keli

    pcesS2399.pas

    • Curtir 1
  17. Senhores, boa tarde.

    Fizemos alguns testes na versão simplificada do evento 2306 e precisamos modificar algumas linhas para validar corretamente.

    Segue o arquivo anexo, coloquei comentários nas linhas alteradas com a data de 01/06/2021, abaixo tb estará disponível

     

          sSecao := 'infoComplementares';
          if INIRec.ReadString(sSecao, 'codCargo', '') <> '' then
          begin
            infoTSVAlteracao.infoComplementares.cargoFuncao.CodCargo  := INIRec.ReadString(sSecao, 'codCargo', '');
            infoTSVAlteracao.infoComplementares.cargoFuncao.CodFuncao := INIRec.ReadString(sSecao, 'codFuncao', '');
          end;
          infoTSVAlteracao.infoComplementares.cargoFuncao.nmCargo   := INIRec.ReadString(sSecao, 'nmCargo', '');  //01/06/2021
          infoTSVAlteracao.infoComplementares.cargoFuncao.CBOCargo  := INIRec.ReadString(sSecao, 'CBOCargo', '');  //01/06/2021
          infoTSVAlteracao.infoComplementares.cargoFuncao.nmFuncao  := INIRec.ReadString(sSecao, 'nmFuncao', '');  //01/06/2021
          infoTSVAlteracao.infoComplementares.cargoFuncao.CBOFuncao := INIRec.ReadString(sSecao, 'CBOFuncao', '');  //01/06/2021
    ---------------------------------------------------------------------------
    
    	  sSecao := 'ideTrabSemVinculo';
          ideTrabSemVinc.CpfTrab    := INIRec.ReadString(sSecao, 'cpfTrab', EmptyStr);
          ideTrabSemVinc.NisTrab    := INIRec.ReadString(sSecao, 'nisTrab', EmptyStr);
          ideTrabSemVinc.codCateg   := INIRec.ReadInteger(sSecao, 'codCateg', 0);
          ideTrabSemVinc.matricula  := INIRec.ReadString(sSecao, 'matricula', EmptyStr);  //01/06/2021
    
    ---------------------------------------------------------------------------
    
    procedure TEvtTSVAltContr.GerarInstEnsino(obj: TinstEnsino);
    begin
      Gerador.wGrupo('instEnsino');
    
      Gerador.wCampo(tcStr, '', 'cnpjInstEnsino', 14,  14, 0, obj.cnpjInstEnsino);
      if (obj.cnpjInstEnsino = '') then   //01/06/2021 -- Preenchendo somente se não tiver CNPJ
      begin
        Gerador.wCampo(tcStr, '', 'nmRazao',         1, 100, 1, obj.nmRazao);
        Gerador.wCampo(tcStr, '', 'dscLograd',       1,  80, 0, obj.dscLograd);
        Gerador.wCampo(tcStr, '', 'nrLograd',        1,  10, 0, obj.nrLograd);
        Gerador.wCampo(tcStr, '', 'bairro',          1,  60, 0, obj.bairro);
        Gerador.wCampo(tcStr, '', 'cep',             1,   8, 0, obj.cep);
        Gerador.wCampo(tcInt, '', 'codMunic',        7,   7, 0, obj.codMunic);
        Gerador.wCampo(tcStr, '', 'uf',              2,   2, 0, obj.uf);
      end;
    
      Gerador.wGrupo('/instEnsino');
    end;

     

    Grato

    Eduardo / Keli

    pcesS2306.pas

    • Curtir 1
  18. Senhores, boa tarde.

    Fizemos alguns testes na versão simplificada do evento 2300 e precisamos modificar algumas linhas para validar corretamente.

    Segue o arquivo anexo, coloquei comentários nas linhas alteradas com a data de 01/06/2021, abaixo tb estará disponível

    procedure TEvtTSVInicio.GerarFGTS(obj: TFGTS);
    begin
      if obj.dtOpcFGTS > 0 then
      begin
        if VersaoDF <= ve02_05_00 then
          Gerador.wGrupo('fgts')
        else
          Gerador.wGrupo('FGTS');
    
        if VersaoDF <= ve02_05_00 then    //01/06/2021
          Gerador.wCampo(tcStr, '', 'opcFGTS',    1,  1, 1, eSOpcFGTSToStr(obj.OpcFGTS));
    
        //if VersaoDF <= ve02_05_00 then  //01/06/2021
          Gerador.wCampo(tcDat, '', 'dtOpcFGTS', 10, 10, 0, obj.dtOpcFGTS);
    
        if VersaoDF <= ve02_05_00 then
          Gerador.wGrupo('/fgts')
        else
          Gerador.wGrupo('/FGTS');
      end;
    end;
    --------------------------------------------------------------------------------
          sSecao := 'infoTSVInicio';
          infoTSVInicio.cadIni         := eSStrToSimNao(Ok, INIRec.ReadString(sSecao, 'cadIni', 'S'));
          infoTSVInicio.codCateg       := INIRec.ReadInteger(sSecao, 'codCateg', 0);
          infoTSVInicio.dtInicio       := StringToDateTime(INIRec.ReadString(sSecao, 'dtInicio', '0'));
          infoTSVInicio.natAtividade   := eSStrToNatAtividade(Ok, INIRec.ReadString(sSecao, 'natAtividade', '1'));
          infoTSVInicio.matricula      := INIRec.ReadString(sSecao, 'matricula', '');   //01/06/2021
    
    --------------------------------------------------------------------------------
          sSecao := 'FGTS';
          if INIRec.ReadString(sSecao, 'opcFGTS', '') <> '' then
          begin
            infoTSVInicio.infoComplementares.FGTS.OpcFGTS   := eSStrToOpcFGTS(Ok, INIRec.ReadString(sSecao, 'opcFGTS', '1'));
            infoTSVInicio.infoComplementares.FGTS.DtOpcFGTS := StringToDateTime(INIRec.ReadString(sSecao, 'dtOpcFGTS', '0'));
          end;
          infoTSVInicio.infoComplementares.FGTS.DtOpcFGTS := StringToDateTime(INIRec.ReadString(sSecao, 'dtOpcFGTS', '0'));   //01/06/2021

     

    Grato

    Eduardo / Keli

    pcesS2300.pas

    • Curtir 1
  19. Senhores, boa tarde.

    Fizemos alguns testes na versão simplificada do evento 3000 e precisamos modificar algumas linhas para validar corretamente.

    Segue o arquivo anexo, coloquei comentários nas linhas alteradas com a data de 27/05/2021, abaixo tb estará disponível

     

          sSecao := 'ideFolhaPagto';
          if INIRec.ReadString(sSecao, 'indApuracao', '') <> '' then
          begin
            infoExclusao.ideFolhaPagto.indApuracao := eSStrToIndApuracao(Ok, INIRec.ReadString(sSecao, 'indApuracao', '1'));
            infoExclusao.ideFolhaPagto.perApur     := INIRec.ReadString(sSecao, 'perApur', EmptyStr);
          end;
          if (TipoEventoToStr(infoExclusao.tpEvento) = 'S-1210') then infoExclusao.ideFolhaPagto.perApur := INIRec.ReadString(sSecao, 'perApur', EmptyStr);  //27/05/2021
        end;

     

          sSecao := 'ideFolhaPagto';
          if INIRec.ReadString(sSecao, 'indApuracao', '') <> '' then
          begin
            infoExclusao.ideFolhaPagto.indApuracao := eSStrToIndApuracao(Ok, INIRec.ReadString(sSecao, 'indApuracao', '1'));
            infoExclusao.ideFolhaPagto.perApur     := INIRec.ReadString(sSecao, 'perApur', EmptyStr);
          end;
          if (TipoEventoToStr(infoExclusao.tpEvento) = 'S-1210') then infoExclusao.ideFolhaPagto.perApur := INIRec.ReadString(sSecao, 'perApur', EmptyStr);  //27/05/2021
        end;

    Este codigo faz a leitura do perApur que deve constar no S-1210

    Porém temos um problema ao gerar o XML, a tag indApuracao não pode aparecer ser for o S-1210 mas deverá constar nas demais, neste ponto eu não modifiquei.

    image.png.7f19ed3a3f46a2ada45d51bacb102756.png

    pcesS3000.pas

  20. Senhores, boa tarde.

    Fizemos alguns testes na versão simplificada do evento 2299 e precisamos modificar algumas linhas para validar corretamente.

    Segue o arquivo anexo, coloquei comentários nas linhas alteradas com a data de 20/05/2021, abaixo tb estará disponível

          sSecao := 'infoDeslig';
          infoDeslig.mtvDeslig    := INIRec.ReadString(sSecao, 'mtvDeslig', EmptyStr);
          infoDeslig.dtDeslig     := StringToDateTime(INIRec.ReadString(sSecao, 'dtDeslig', '0'));
          infoDeslig.indPagtoAPI  := eSStrToSimNao(Ok, INIRec.ReadString(sSecao, 'indPagtoAPI', 'S'));
          infoDeslig.dtProjFimAPI := StringToDateTime(INIRec.ReadString(sSecao, 'dtProjFimAPI', '0'));
          infoDeslig.pensAlim     := eSStrToTpPensaoAlim(Ok, INIRec.ReadString(sSecao, 'pensAlim', '0'));
          infoDeslig.percAliment  := StringToFloatDef(INIRec.ReadString(sSecao, 'percAliment', ''), 0);
          infoDeslig.vrAlim       := StringToFloatDef(INIRec.ReadString(sSecao, 'vrAlim', ''), 0);
          infoDeslig.nrCertObito  := INIRec.ReadString(sSecao, 'nrCertObito', EmptyStr);
          infoDeslig.nrProcTrab   := INIRec.ReadString(sSecao, 'nrProcTrab', EmptyStr);
          infoDeslig.indCumprParc := eSStrToTpCumprParcialAviso(Ok, INIRec.ReadString(sSecao, 'indCumprParc', '0'));
          infoDeslig.qtdDiasInterm := INIRec.ReadInteger(sSecao, 'qtdDiasInterm', -1);
          infoDeslig.Observacao   := INIRec.ReadString(sSecao, 'observacao', EmptyStr);
          infoDeslig.dtAvPrv      := StringToDateTime(INIRec.ReadString(sSecao, 'dtAvPrv', '0'));   //20/05/2021
    
    ---------------------------------------------------------------------------------------------------------
    
    			with detVerbas.New do
                    begin
                      codRubr    := sFim;
                      ideTabRubr := INIRec.ReadString(sSecao, 'ideTabRubr', EmptyStr);
                      qtdRubr    := StringToFloatDef(INIRec.ReadString(sSecao, 'qtdRubr', ''), 0);
                      fatorRubr  := StringToFloatDef(INIRec.ReadString(sSecao, 'fatorRubr', ''), 0);
                      vrUnit     := StringToFloatDef(INIRec.ReadString(sSecao, 'vrUnit', ''), 0);
                      vrRubr     := StringToFloatDef(INIRec.ReadString(sSecao, 'vrRubr', ''), 0);
                      indApurIR  := eSStrToTpindApurIR(ok, INIRec.ReadString(sSecao, 'indApurIR', '0'));  //20/05/2021
                    end;

     

    pcesS2299.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.

The popup will be closed in 10 segundos...