Membros Pro Eduardo Rodrigues de Faria Postado 13 Dezembro Membros Pro Postado 13 Dezembro Bom dia, trabalhando com o componente ACBReSocial notei uma possivel divergencia do componente com o manual em dois casos. Primeiro caso: No evento S-2200 existe o campo dscSalVar. No leiaute diz que ele é obrigatório quando o campo undSalFixo for 6 ou 7. Se o undSalFixo tiver outro valor, o preenchimento do dscSalVar é opcional, mas o ACBr só está gravando esse campo no XML quando o undSalFixo está com o valor 6 ou 7. De acordo com minha analise se mudarmos a procedure TeSocialEvento.GerarRemuneracao(pRemuneracao: TRemuneracao); do arquivo \Fontes\ACBrDFe\ACBreSocial\PCNeSocial\pcesGerador.pas, deixando como eu fiz abaixo, irá corrigir essa questão procedure TeSocialEvento.GerarRemuneracao(pRemuneracao: TRemuneracao); begin Gerador.wGrupo('remuneracao'); Gerador.wCampo(tcDe2, '', 'vrSalFx', 1, 14, 1, pRemuneracao.VrSalFx); Gerador.wCampo(tcStr, '', 'undSalFixo', 1, 1, 1, eSUndSalFixoToStr(pRemuneracao.UndSalFixo)); if (trim(pRemuneracao.DscSalVar) <> '') then Gerador.wCampo(tcStr, '', 'dscSalVar', 0, 255, 0, pRemuneracao.DscSalVar); Gerador.wGrupo('/remuneracao'); end; Segundo caso: Se refere a alteração no leiaute 1.3 abaixo do grupo infoIRComplem do evento S-5002 Esse grupo, agora pode ter até 13 ocorrências, conforme o leiaute No arquivo \Fontes\ACBrDFe\ACBreSocial\PCNeSocial\pcesS5002.pas acredito que o certo seria trocar o tipo da propriedade FinfoIRComplem para TinfoIRComplemCollection, se for seguir o padrão dos outros grupos TideTrabalhador4 = class(TIdeTrabalhador3) private FcpfBenef: string; FdmDev: TdmDevCollection; FtotInfoIR: TtotInfoIR; FinfoIRComplem: TinfoIRComplem; function getDmDev: TDmDevCollection; function getInfoIRComplem: TInfoIRComplem; function getTotInfoIR: TtotInfoIR; 1
Consultores Renato Rubinho Postado 13 Dezembro Consultores Postado 13 Dezembro Obrigado pela contribuição. Criada TK-6364 para análise. 6 horas atrás, Eduardo Rodrigues de Faria disse: De acordo com minha analise se mudarmos a procedure TeSocialEvento.GerarRemuneracao(pRemuneracao: TRemuneracao); do arquivo \Fontes\ACBrDFe\ACBreSocial\PCNeSocial\pcesGerador.pas, deixando como eu fiz abaixo, irá corrigir essa questão Por favor anexe o fonte alterado para análise. 1
Membros Pro Eduardo Rodrigues de Faria Postado Terça as 11:58 Autor Membros Pro Postado Terça as 11:58 A principio só fizemos a alteração do primeiro caso. Segue em anexo pcesGerador.pas 2
Consultores Renato Rubinho Postado Terça as 21:55 Consultores Postado Terça as 21:55 @Eduardo Rodrigues de Faria Você pode disponibilizar um xml do S5002 para testes e validações do segundo caso?
Membros Pro Eduardo Rodrigues de Faria Postado Quarta as 14:20 Autor Membros Pro Postado Quarta as 14:20 16 horas atrás, Renato Rubinho disse: @Eduardo Rodrigues de Faria Você pode disponibilizar um xml do S5002 para testes e validações do segundo caso? Segue em anexo, @Renato Rubinho ID1044416460000002024121810562811407-S5002.xml 2
Recommended Posts