Ir para conteúdo
  • Cadastre-se

IMATECH

Membros
  • Total de ítens

    240
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que IMATECH postou

  1. Simplificando o teste: if self.exMedOcup.Aso.Exame.Items[i].indResult >= irNormal then Gerador.wCampo(tcInt, '', 'indResult', 1, 1, 0, eSIndResultToStr(self.exMedOcup.Aso.Exame.Items[i].indResult)); pcesS2220.pas
  2. Remova o campo "indExcApur1250" *Só remover ele do .INI e enviar novamente **ou faça o envio na versão S1.0.0
  3. \AcBr\Fontes\ACBrDFe\ACBreSocial
  4. No momento a fonte de consulta é o próprio manual do layout simplificado: https://www.gov.br/esocial/pt-br/documentacao-tecnica/manuais/manual-de-orientacao-do-esocial-mos-v-s-1-0.pdf https://www.gov.br/esocial/pt-br/documentacao-tecnica/leiautes-esocial-html/index.html
  5. Discordo desse tipo de solução. Os nomes de campos anteriores são para uso até o Layout v2.5 Para gerar no Layout Simplificado S1.0.0 deve-se informar os novos nomes/campos. Principalmente porque não dá para transformar os dados de versões anteriores e fazer mágica para transformar na versão simplificada. É orientar o pessoal a revisar o código antigo e implementar com o novo Layout. Sucesso galera *Somente minha opinião
  6. O retorno do S-5002, após os ajustes no 3º post estão disponiveis O problema é que o totalizador do IR utilizado foi código "13", no retorno do 5012 totaliza no código "11" IR Descrição 11 Remuneração mensal* 12 13º salário 13 Férias*
  7. É exatamente o que acontece no 2º S-1200 (que é a real referencia do pagamento). No 1º registro Informo os valores como Rubricas Informativas com tributação apenas para o IR No 2º registro Informo os valores como Rubricas Normais (com tributação apenas INSS e FGTS) Justificativa: Não dobrar os valores para fins de totalização para DIRF (deixando as férias no mês correto para esse fim. "Regime de Competência" vs "Regime de Caixa" )
  8. Opção implementada: Gerar o Registro S-1200 no mês de pagamento e também no mês de referencia das férias (período de gozo) Recibo de Férias, no Valor: R$ 100.00 Data Pagamento: 28/09/2021 Período gozo: 01/10/2021 a 31/10/2021 S-1010 Criação Variações Rubricas Tributadas e Não Tributadas para as Férias 1 - Tributadas e tpRubr=1 ou 2 (1 - Vencimento, provento ou pensão, 2 - Desconto) 2 - Não Tributadas tpRubr= 3 ou 4 (3 - Informativa, 4 - Informativa dedutora) S-1200 *Rubricas Informativas (Tribubutada IR) perApur=2021-09 ideDmDev=Ferias_Provisão vrRubr=100.00 (Tributação apenas para o IR) S-1200 *Rubricas Tributadas (Não Tribubutada IR) perApur=2021-10 ideDmDev=Ferias_Gozadas vrRubr=100.00 (Não Tributação IR) S-1210 DtPgto=28/09/2021 TpPgto=1 perRef=2021-09 ideDmDev=Ferias_Provisão vrLiq=100.00 RESULTADO/PROBLEMA ! 1 - Os valores de INSS e FGTS estão ok (Consulta site eSocial) 2 - Os valores de IR não estão disponíveis. Erro no site ou lógica esta errada ?
  9. Opção implementada: Gerar o Registro S-1200 no mês de pagamento e também no mês de referencia das férias (período de gozo) Recibo de Férias, no Valor: R$ 100.00 Data Pagamento: 28/09/2021 Período gozo: 01/10/2021 a 31/10/2021 S-1010 Criação Rubricas Tributadas e Não Tributadas para as Férias S-1200 perApur=2021-09 ideDmDev=Ferias_Provisão vrRubr=100.00 (Tributação apenas para o IR) S-1200 perApur=2021-10 ideDmDev=Ferias_Gozadas vrRubr=100.00 (Não Tributação IR) S-1210 DtPgto=28/09/2021 TpPgto=1 perRef=2021-09 ideDmDev=Ferias_Provisão vrLiq=100.00 RESULTADO/PROBLEMA ! 1 - Os valores de INSS e FGTS estão ok (Consulta site eSocial) 2 - Os valores de IR não estão disponíveis. Erro no site ou lógica esta errada ?
  10. Recibo de Férias, no Valor: R$ 100.00 Data Pagamento: 28/09/2021 Período gozo: 01/10/2021 a 31/10/2021 S-1200 perApur=2021-10 ideDmDev=Ferias_NN vrRubr=100.00 S-1210 DtPgto=28/09/2021 TpPgto=1 perRef=2021-09 ideDmDev=Ferias_NN vrLiq=100.00 Rejeição=A data de pagamento deve ser maior ou igual ao período de apuração da remuneração. perApur # perRef Alguém pode me explicar como informar as férias no eSocial por favor
  11. No XML os campos tem nome diferente para o Layout S1.0 em relação as anteriores. Obrigado *Em outros registros a prática tem sido adicionar propriedades com os novos nomes
  12. Remoção propriedade "ReenvioFap", pois não tem utilidade/função no *componente Criação da TAG se faz exclusivamente pela existência de valor informado do campo "FAP" pcesGerador.pas
  13. Correção erro compilação: Propriedade inexistente ( Reverter *Commit [r23011] ) *Mudou nome dos novos campos do Layout S1.0 pcesS1200.pas
  14. Ajuste adicional para compatibilizar com o Monitor. Linha 1322 sSecao := 'sucessaoVinc'; if INIRec.ReadString(sSecao, 'cnpjEmpregAnt', '') <> '' then begin ideTrabalhador.infoComplem.sucessaoVinc.tpInscAnt := eSStrToTpInscricao(Ok, INIRec.ReadString(sSecao, 'tpInscAnt', '1')); ideTrabalhador.infoComplem.sucessaoVinc.cnpjEmpregAnt := INIRec.ReadString(sSecao, 'cnpjEmpregAnt', ''); ideTrabalhador.infoComplem.sucessaoVinc.matricAnt := INIRec.ReadString(sSecao, 'matricAnt', ''); ideTrabalhador.infoComplem.sucessaoVinc.dtAdm := StringToDateTime(INIRec.ReadString(sSecao, 'dtAdm', '0')); ideTrabalhador.infoComplem.sucessaoVinc.observacao := INIRec.ReadString(sSecao, 'observacao', ''); end; if INIRec.ReadString(sSecao, 'nrInsc', '') <> '' then begin ideTrabalhador.infoComplem.sucessaoVinc.tpInsc := eSStrToTpInscricao(Ok, INIRec.ReadString(sSecao, 'tpInsc', '1')); ideTrabalhador.infoComplem.sucessaoVinc.nrInsc := INIRec.ReadString(sSecao, 'nrInsc', EmptyStr); ideTrabalhador.infoComplem.sucessaoVinc.matricAnt := INIRec.ReadString(sSecao, 'matricAnt', ''); ideTrabalhador.infoComplem.sucessaoVinc.dtAdm := StringToDateTime(INIRec.ReadString(sSecao, 'dtAdm', '0')); ideTrabalhador.infoComplem.sucessaoVinc.observacao := INIRec.ReadString(sSecao, 'observacao', ''); end; pcesS1200.pas
  15. Testado e aprovado (1º envio não informa o fat. Em caso de rejeição gera novamente com o fat) pcesGerador.pas De: if not(VersaoDF <= ve02_05_00) and not(bProcJudRat) and not(bProcJudFap) and not(pTpInscEstab = tiCNO) then Exit; Gerador.wGrupo(GroupName); if (VersaoDF <= ve02_05_00) or bProcJudRat then Gerador.wCampo(tcStr, '', 'aliqRat', 1, 1, 1, eSAliqRatToStr(pAliqRat.AliqRat)); if (pEmp.TpInsc = tiCNPJ) then begin if (VersaoDF <= ve02_05_00) or bProcJudFap or (pTpInscEstab = tiCNO) then Gerador.wCampo(tcDe4, '', 'fap', 1, 5, 0, pAliqRat.Fap); Para: if not(VersaoDF <= veS01_00_00) and not(bProcJudRat) and not(bProcJudFap) and not(pTpInscEstab = tiCNO) then Exit; Gerador.wGrupo(GroupName); if (VersaoDF <= ve02_05_00) or bProcJudRat then Gerador.wCampo(tcStr, '', 'aliqRat', 1, 1, 1, eSAliqRatToStr(pAliqRat.AliqRat)); if (pEmp.TpInsc = tiCNPJ) then begin if (VersaoDF <= veS01_00_00) or bProcJudFap or (pTpInscEstab = tiCNO) then pcesGerador.pas
  16. Não seria mais simples considerar a existência de valor para o 'fap' ? if pAliqRat.Fap > 0 then GeraCampo( ..., pAliqRat.Fap) Fica a cargo do aplicativo gerar ou não (conforme necessário)
  17. Perfeito, está funcionando tudo corretamente. A alteração em pcesConversao realmente não deve ser feita. Agradecido José MSJr e Juliana *Tópico concluído
  18. 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
  19. 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
  20. 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
  21. 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;
  22. 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;
  23. Muito agradecido BigW, "GO" = uf 52 Resolvido
  24. 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>
×
×
  • 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.