Pesquisar na Comunidade
Showing results for tags 'r-2055'.
Encontrado 3 registros
-
olá, Estava realizando testes envolvendo a consulta de recibo do evento R-2055, no qual sempre estava retornando paramêtros incorretos. Analisando a unit responsável pela alimentação da propertys para a requisição ao webservice estava errada. A consulta do R-2055 foi aproveitada da consulta R-2020, entretanto o R-2020 possui 2 tipos diferentes de inscrição do tomador que seria 1=cnpj e 4 = CNO, já a consulta do R-2055 considera ou 1-CNPJ ou 2-CPF, dessa forma ocorria um retorno inválido devido ao tipo 4 (inexistente no R2055). Desta forma, criei uma nova property seguindo a mesma lógica das demais já implementadas na unit pcnReinfConsulta.pas e ajuste a geração do R-2055. Para isso foi criado a property FtpInscProd. Segue em anexo a unit com as correções. Obrigado pcnReinfConsulta.pas
-
Reinf - 1.05.1 - Gerando vlrSenarSusp no lugar de vlrSenarNRet no grupo infoProcJud.
um tópico no fórum postou Jonathan Gonçalves ACBr-Reinf
Está sendo gerado o item vlrSenarSusp no lugar de vlrSenarNRet, causando erro ao gerar xml. Erro retornado: Falha na validação dos dados do evento: evtAquisicaoProdRural-v1_05_01 1871 - Element '{http://www.reinf.esocial.gov.br/schemas/evt2055AquisicaoProdRural/v1_05_01}vlrSenarSusp': This element is not expected. Expected is ( {http://www.reinf.esocial.gov.br/schemas/evt2055AquisicaoProdRural/v1_05_01}vlrSenarNRet ). Linha que causa o problema: Gerador.wCampo(tcDe2, '', 'vlrSenarSusp', 1, 14, 0, item.vlrSenarNRet); Agradeço desde já! Segue em anexo arquivo com a correção. pcnReinfR2055.pas -
Boa tarde Fiz algumas adaptações no código-fonte para habilitar o envio do Evento R-2055 - Aquisição de Produção Rural através do ACBrMonitor Plus. Verifiquei que já existia uma implementação para leitura do arquivo INI para este Evento, mas ainda faltavam alguns detalhes para funcionar corretamente. Compartilhando com vocês as alterações que fiz para enviar o evento R-2055 corretamente através leitura de arquivo INI pelo Monitor. As alterações estão localizadas entre as linhas com o texto "//28/04/2021 * Fábio *" ). 1ª Alteração: unit pcnEventosReinf function TReinfEventos.LoadFromIni(const AIniString: String): Boolean; var Ok: Boolean; begin case StringINIToTipoEvento(Ok, AIniString) of teR1000: Self.R1000.New.evtInfoContri.LerArqIni(AIniString); teR1070: Self.R1070.New.evtTabProcesso.LerArqIni(AIniString); teR2010: Self.R2010.New.evtServTom.LerArqIni(AIniString); teR2020: Self.R2020.New.evtServPrest.LerArqIni(AIniString); teR2030: Self.R2030.New.evtAssocDespRec.LerArqIni(AIniString); teR2040: Self.R2040.New.evtAssocDespRep.LerArqIni(AIniString); teR2050: Self.R2050.New.evtComProd.LerArqIni(AIniString); //28/04/2021 * Fábio * teR2055: Self.R2055.New.evtAqProd.LerArqIni(AIniString); //28/04/2021 * Fábio * teR2060: Self.R2060.New.evtCPRB.LerArqIni(AIniString); teR2070: Self.R2070.New.evtPgtosDivs.LerArqIni(AIniString); teR2098: Self.R2098.New.evtReabreEvPer.LerArqIni(AIniString); teR2099: Self.R2099.New.evtFechaEvPer.LerArqIni(AIniString); teR3010: Self.R3010.New.evtEspDesportivo.LerArqIni(AIniString); teR9000: Self.R9000.New.evtExclusao.LerArqIni(AIniString); end; Result := (GetCount > 0); end; 2ª Alteração unit pcnReinfR2055 TinfoProcCollectionItem = class(TObject) private //28/04/2021 * Fábio * FtpProc: TtpProc; //28/04/2021 * Fábio * FcodSusp: String; FvlrSenarNRet: double; FnrProc: String; FvlrRatNRet: double; FvlrCPNRet: double; public //28/04/2021 * Fábio * property tpProc: TtpProc read FtpProc write FtpProc; //28/04/2021 * Fábio * property nrProc: String read FnrProc write FnrProc; property codSusp: String read FcodSusp write FcodSusp; property vlrCPNRet: double read FvlrCPNRet write FvlrCPNRet; property vlrRatNRet: double read FvlrRatNRet write FvlrRatNRet; property vlrSenarNRet: double read FvlrSenarNRet write FvlrSenarNRet; end; 3ª Alteração unit pcnReinfR2055 function TevtAqProd.LerArqIni(const AIniString: String): Boolean; var INIRec: TMemIniFile; Ok: Boolean; sSecao, sFim, sSecaoF: String; I, J: Integer; begin Result := True; INIRec := TMemIniFile.Create(''); try LerIniArquivoOuString(AIniString, INIRec); // ******************************************** // Precisa checar se não esta faltando nada // ******************************************** with Self do begin sSecao := 'evtAqProd'; Id := INIRec.ReadString(sSecao, 'Id', ''); Sequencial := INIRec.ReadInteger(sSecao, 'Sequencial', 0); sSecao := 'ideEvento'; ideEvento.indRetif := StrToIndRetificacao(Ok, INIRec.ReadString(sSecao, 'indRetif', '1')); ideEvento.NrRecibo := INIRec.ReadString(sSecao, 'nrRecibo', EmptyStr); ideEvento.perApur := INIRec.ReadString(sSecao, 'perApur', EmptyStr); ideEvento.ProcEmi := StrToProcEmiReinf(Ok, INIRec.ReadString(sSecao, 'procEmi', '1')); ideEvento.VerProc := INIRec.ReadString(sSecao, 'verProc', EmptyStr); { Indicativo de retificação de informação enviada ao ambiente nacional do eSocial. Validação: Informação permitida apenas se perApur for anterior ao início de vigência do evento R-2055 na EFD-Reinf. Só pode ser informado se indRetif = [1]. Valores válidos: S. } ideEvento.retifS1250 := INIRec.ReadString(sSecao, 'retifS1250', EmptyStr); sSecao := 'ideContri'; ideContri.OrgaoPublico := (TACBrReinf(FACBrReinf).Configuracoes.Geral.TipoContribuinte = tcOrgaoPublico); ideContri.TpInsc := StrToTpInscricao(Ok, INIRec.ReadString(sSecao, 'tpInsc', '1')); ideContri.NrInsc := INIRec.ReadString(sSecao, 'nrInsc', EmptyStr); sSecao := 'ideEstabAdq'; FinfoAquisProd.ideEstabAdquir.tpInscAdq := StrToTpInscricao(Ok, INIRec.ReadString(sSecao, 'tpInscAdq', '1')); FinfoAquisProd.ideEstabAdquir.nrInscAdq := INIRec.ReadString(sSecao, 'nrInscAdq', EmptyStr); //28/04/2021 * Fábio * FinfoAquisProd.ideEstabAdquir.tpInscProd := StrToTpInscricao(Ok, INIRec.ReadString(sSecao, 'tpInscProd', '1')); FinfoAquisProd.ideEstabAdquir.nrInscProd := INIRec.ReadString(sSecao, 'nrInscProd', EmptyStr); FinfoAquisProd.ideEstabAdquir.indOpcCP := INIRec.ReadString(sSecao, 'indOpcCP', EmptyStr); //28/04/2021 * Fábio * with FinfoAquisProd.ideEstabAdquir do begin I := 1; while true do begin // de 1 até 3 sSecao := 'tipoCom' + IntToStrZero(I, 1); sFim := INIRec.ReadString(sSecao, 'indCom', 'FIM'); if (sFim = 'FIM') or (Length(sFim) <= 0) then break; with detAquis.New do begin indAquis := StrToDetAquis(Ok, sFim); vlrBruto := StringToFloatDef(INIRec.ReadString(sSecao, 'vlrBruto', ''), 0); //28/04/2021 * Fábio * vlrCPDescPR := StringToFloatDef(INIRec.ReadString(sSecao, 'vlrCPDescPR', ''), 0); vlrRatDescPR := StringToFloatDef(INIRec.ReadString(sSecao, 'vlrRatDescPR', ''), 0); vlrSenarDesc := StringToFloatDef(INIRec.ReadString(sSecao, 'vlrSenarDesc', ''), 0); //28/04/2021 * Fábio * J := 1; while true do begin // de 01 até 50 sSecao := 'infoProcJud' + IntToStrZero(I, 1) + IntToStrZero(J, 2); //28/04/2021 * Fábio * sFim := INIRec.ReadString(sSecao, 'tpProc', 'FIM'); //28/04/2021 * Fábio * if (sFim = 'FIM') or (Length(sFim) <= 0) then break; with infoProc.New do begin //28/04/2021 * Fábio * tpProc := StrToTpProc(Ok, sFim); //28/04/2021 * Fábio * nrProc := INIRec.ReadString(sSecao, 'nrProc', ''); codSusp := INIRec.ReadString(sSecao, 'codSusp', ''); vlrCPNRet := StringToFloatDef(INIRec.ReadString(sSecao, 'vlrCPNRet', ''), 0); vlrRatNRet := StringToFloatDef(INIRec.ReadString(sSecao, 'vlrRatNRet', ''), 0); vlrSenarDesc := StringToFloatDef(INIRec.ReadString(sSecao, 'vlrSenarDesc', ''), 0); end; Inc(J); end; end; Inc(I); end; end; end; GerarXML; XML := FXML; finally INIRec.Free; end; end; Realizei os envios em Ambiente de Homologação utilizando a seguinte estrutura no arquivo INI: [evtAqProd] Id= Sequencial= [ideEvento] indRetif= perApur= tpAmb= procEmi= verProc= [ideContri] tpInsc= nrInsc= [ideEstabAdq] tpInscAdq= nrInscAdq= tpInscProd= nrInscProd= indOpcCP= [tipoCom1] indCom= vlrBruto= vlrCPDescPR= vlrRatDescPR= vlrSenarDesc= [infoProcJud101] tpProc nrProc= codSusp= vlrCPNRet= vlrRatNRet= vlrSenarDesc= Conclusão: Após estas adaptações, todos testes foram enviados com sucesso através do ACBrMonitor Plus 1.4.0.2. Espero ter contribuído de alguma forma com a comunidade ACBr. Obs: Units em Anexo para avaliação/validação pela equipe ACBr. pcnEventosReinf.pas pcnReinfR2055.pas