Jump to content
Notícias do ACBr

click.png

click.png

click.png

click.png

click.png

click.png

logo_acbr_paygo.png

TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


Saiba mais

beneficios.png

click.png

click.png

click.png

IMATECH

Membros
  • Posts

    198
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by IMATECH

  1. Linha 834, para Layout S1.0 ajustar também de: if obj.cnpjSucessora <> EmptyStr then para: if (obj.cnpjSucessora <> EmptyStr) or (obj.nrInsc <> EmptyStr) then pcesS2299.pas
  2. Correção final: Erro detectado*: Uso incorreto de valor para o campo if VersaoDF >= ve02_05_00 then Gerador.wCampo(tcStr, '', 'tpInscSuc', 1, 1, 1, eSTpInscricaoToStr(obj.tpInsc)); Gerador.wCampo(tcStr, '', 'cnpjSucessora', 14, 14, 1, obj.nrInsc); Correção: if VersaoDF >= ve02_05_00 then Gerador.wCampo(tcStr, '', 'tpInscSuc', 1, 1, 1, eSTpInscricaoToStr(obj.tpInscSuc)); Gerador.wCampo(tcStr, '', 'cnpjSucessora', 14, 14, 1, obj.cnpjSucessora); *Desconsiderar a proposta de correção anterior Arquivo fonte corrigido em anexo: pcesS2299.pas
  3. Segue implantação do comando para mudança de versão Layout criação XML eSocial (Parâmetro deve ser passado entre Aspas; Ex: "S01_00_00" ) ...\AcBr\Projetos\ACBrMonitorPLUS\Lazarus\DoACBreSocialUnit.pas { TMetodoSetVersaoDF } { Params: 0 - String contendo versão do Layout: "02_04_01", "02_04_02", "02_05_00" ou "S01_00_00" } procedure TMetodoSetVersaoDF.Executar; var OK: boolean; eVersao: TVersaoeSocial; AVersao: String; begin AVersao := fpCmd.Params(0); eVersao := StrToVersaoeSocial(OK, AVersao); if not OK then raise Exception.Create('Versão Inválida do eSocial.'); with TACBrObjetoeSocial(fpObjetoDono) do begin with MonitorConfig.DFE.WebService do VersaoeSocial := VersaoeSocialToStr(eVersao); MonitorConfig.SalvarArquivo; end; end; ...\AcBr\Fontes\ACBrDFe\ACBreSocial\PCNeSocial\pcesConversaoeSocial.pas ****************************** *** ERRO: 'S_01_00_00' ******* ****************************** function VersaoeSocialToStr(const t: TVersaoeSocial): String; begin result := EnumeradoToStr(t, ['02_04_01', '02_04_02', '02_05_00', 'S_01_00_00'], [ve02_04_01, ve02_04_02, ve02_05_00, veS01_00_00]); end; **************** *** CORREÇÃO *** **************** function VersaoeSocialToStr(const t: TVersaoeSocial): String; begin result := EnumeradoToStr(t, ['02_04_01', '02_04_02', '02_05_00', 'S01_00_00'], [ve02_04_01, ve02_04_02, ve02_05_00, veS01_00_00]); end; pcesConversaoeSocial.pas DoACBreSocialUnit.pas
  4. Proposta para correção: procedure TEvtDeslig.GerarSucessaoVinc(obj: TSucessaoVinc2); begin if obj.cnpjSucessora <> EmptyStr then begin Gerador.wGrupo('sucessaoVinc'); if VersaoDF >= veS01_00_00 then begin Gerador.wCampo(tcStr, '', 'tpInsc', 1, 1, 1, eSTpInscricaoToStr(obj.tpInsc)); Gerador.wCampo(tcStr, '', 'nrInsc', 14, 14, 1, obj.nrInsc); end else begin if VersaoDF >= ve02_05_00 then Gerador.wCampo(tcStr, '', 'tpInscSuc', 1, 1, 1, eSTpInscricaoToStr(obj.tpInsc)); Gerador.wCampo(tcStr, '', 'cnpjSucessora', 14, 14, 1, obj.nrInsc); end; Gerador.wGrupo('/sucessaoVinc'); end; end;
  5. Com o código abaixo é impossivel gerar as TAG's tpInscSuc e cnpjSucessora ...\AcBr\Fontes\ACBrDFe\ACBreSocial\PCNeSocial\pcesS2299.pas (Linha 832) procedure TEvtDeslig.GerarSucessaoVinc(obj: TSucessaoVinc2); begin if obj.cnpjSucessora <> EmptyStr then begin Gerador.wGrupo('sucessaoVinc'); if VersaoDF <= ve02_05_00 then begin if VersaoDF >= ve02_05_00 then Gerador.wCampo(tcStr, '', 'tpInscSuc', 1, 1, 1, eSTpInscricaoToStr(obj.tpInsc)); Gerador.wCampo(tcStr, '', 'cnpjSucessora', 14, 14, 1, obj.nrInsc); end else begin Gerador.wCampo(tcStr, '', 'tpInsc', 1, 1, 1, eSTpInscricaoToStr(obj.tpInsc)); Gerador.wCampo(tcStr, '', 'nrInsc', 14, 14, 1, obj.nrInsc); end; Gerador.wGrupo('/sucessaoVinc'); end; end;
  6. Muito agradecido BigW, "GO" = uf 52 Resolvido
  7. Utilizando o método DistribuicaoDFePorUltNSU ou DistribuicaoDFePorNSU sempre recebo a resposta abaixo. Alguma dica para obter a lista de Documentos Destinados para o CNPJ ? Desde já agradeço qualquer ajuda Consulta: 1ª consulta, UltNSU = 0 <nfeDadosMsg> <distDFeInt versao="1.01"> <tpAmb>1</tpAmb> <cUFAutor>55</cUFAutor> <CNPJ>XXXXXXX00001XX</CNPJ> <distNSU> <ultNSU>000000000000000</ultNSU> </distNSU> </distDFeInt> </nfeDadosMsg> Resposta: <retDistDFeInt versao="1.01"> <tpAmb>1</tpAmb> <verAplic>1.3.7</verAplic> <cStat>215</cStat> <xMotivo>Rejeicao: Falha no esquema xml</xMotivo> <dhResp>2021-02-03T09:15:24-03:00</dhResp> <ultNSU>000000000000000</ultNSU> <maxNSU>000000000000000</maxNSU> </retDistDFeInt>
  8. Sobre os 12 eventos que vão deixar de existir Tiram o evento de um lugar e mudam para outro (Ou seja vão continuar a existir)
  9. A meu ver o "novo" validador irá ignorar os 12 eventos que vão deixar de existir. E o Layout como esta vai continuar sendo aceito. Nenhuma urgência até a chegada das regras de validação. Sucesso
  10. Ajuste para "somente" gerar a tag quando o Arquivo INI contiver infomação do campo "qtdDiasInterm" unit em anexo de: infoDeslig.qtdDiasInterm := INIRec.ReadInteger(sSecao, 'qtdDiasInterm', 0); correção: infoDeslig.qtdDiasInterm := INIRec.ReadInteger(sSecao, 'qtdDiasInterm', -1); pcesS2299.pas
  11. [infoDeslig] ... indCumprParc=4 qtdDiasInterm=1 <infoDeslig> ... ...<indCumprParc>4</indCumprParc> ......<verbasResc>
  12. Erro: Tag nome indevido "cnpjEmpSucessora", linha 1006 if INIRec.ReadString(sSecao, 'cnpjEmpSucessora', '') <> '' then infoDeslig.sucessaoVinc.cnpjSucessora := INIRec.ReadString(sSecao, 'cnpjSucessora', EmptyStr); Corrreção: Tag "cnpjSucessora" if INIRec.ReadString(sSecao, 'cnpjSucessora', '') <> '' then infoDeslig.sucessaoVinc.cnpjSucessora := INIRec.ReadString(sSecao, 'cnpjSucessora', EmptyStr); *Corrigir também no modelo de INI on-line ( neste ainda falta a Tag "tpInscSuc" ) https://acbr.sourceforge.io/ACBrMonitor/ModeloEventoS2299INI.html pcesS2299.pas
  13. https://acbr.sourceforge.io/ACBrMonitor/eSocialCriarEventoeSocial.html https://acbr.sourceforge.io/ACBrMonitor/eSocialEnviareSocial.html
  14. Falta informar ao menos uma das tags: infoSaudeColet infoAgNocivo infoSimples
  15. O Campo tpAcidTransito só pode ser preenchido se o codMotAfastt for equivalente a [01,03] Problema: Campo esta sendo preenchido por valor default "1" que no caso é tpatAtropelamento Correção: Se não foi preenchido não deve ser informado. ...pcesS2230.pas\ACBR\Fontes\ACBrDFe\ACBreSocial\PCNeSocial\pcesS2230.pas Problema: infoAfastamento.iniAfastamento.tpAcidTransito := eSStrTotpTpAcidTransito(Ok, INIRec.ReadString(sSecao, 'tpAcidTransito', '1')); Correção: tpatNao = 4 (não gerar a tag) infoAfastamento.iniAfastamento.tpAcidTransito := eSStrTotpTpAcidTransito(Ok, INIRec.ReadString(sSecao, 'tpAcidTransito', '4'));
  16. "J" deve ter 1 dígito, esta sendo considerado 3 causando a omissão da leitura da informação (Pensão Alimentícia no Recibo de Férias) sSecao := 'detRubrFer' + IntToStrZero(I, 2) + IntToStrZero(J, 1) + IntToStrZero(K, 2); sSecao := 'penAlim' + IntToStrZero(I, 2) + IntToStrZero(J, 3) + IntToStrZero(K, 2) + IntToStrZero(L, 2); [Correção]: sSecao := 'penAlim' + IntToStrZero(I, 2) + IntToStrZero(J, 1) + IntToStrZero(K, 2) + IntToStrZero(L, 2); pcesS1210.pas linha ~1318~ K := 1; while true do begin // de 01 até 99 sSecao := 'detRubrFer' + IntToStrZero(I, 2) + IntToStrZero(J, 1) + IntToStrZero(K, 2); sFim := INIRec.ReadString(sSecao, 'codRubr', 'FIM'); if (sFim = 'FIM') or (Length(sFim) <= 0) then break; with detRubrFer.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); L := 1; while true do begin // de 01 até 99 sSecao := 'penAlim' + IntToStrZero(I, 2) + IntToStrZero(J, 1) + IntToStrZero(K, 2) + IntToStrZero(L, 2); sFim := INIRec.ReadString(sSecao, 'cpfBenef', 'FIM'); if (sFim = 'FIM') or (Length(sFim) <= 0) then break; with penAlim.New do begin cpfBenef := sFim; dtNasctoBenef := StringToDateTime(INIRec.ReadString(sSecao, 'dtNasctoBenef', '0')); nmBenefic := INIRec.ReadString(sSecao, 'nmBenefic', EmptyStr); vlrPensao := StringToFloatDef(INIRec.ReadString(sSecao, 'vlrPensao', ''), 0); end; Inc(L); end; end; Inc(K); end; end; Inc(J); end;
  17. Sefip em processo de migração para DCTFWeb
  18. AcBrNFeMonitor foi descontinuado, faça o teste com o novo projeto:
  19. Resolvido: Favor fechar o tópico se ninguém tiver dúvida relacionada. Solução (conforme acima) "dmDevNN" para "dmDevNNN" Obg
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.