S-1298 simplificado - campo indGuia - ACBreSocial - Projeto ACBr
November 1, 2021 in ACBreSocial
Go to solution Solved by EMBarbosa, December 14, 2021
Este tópico foi criado há 158 dias atrás.
É necessário adicionar o campo 'indGuia' na exportação da tabela 1298, esse campo já existe em outras tabelas mas ainda não tinha sido implementada nessa. Segue o código modificado e o print do layout.
TK-2052
Sua observação foi importante colega, e devido a isso me levou a analisar quais eventos usam essa tag ( indGuia ), então pesquisei pelo PDF do e-Social Layout Simplificado e encontrei os seguintes eventos que usam essa tag como obrigatória :
S-2299, S-2399, S-1200, S-1210, S-1260, S-1270, S-1280, S-1298, S-1299
Sendo assim, vi que outro colega do fórum já tinha feito uma alteração para os eventos S-1200 e s-1210
criando a property indGuia na classe TIdeEvento3 que herda os métodos da classe TIdeEvento2, so que os eventos 2299 e 2399 herdam as property de TIdeEvento2 por isso que vc nao ver essa property nos eventos que informei, sendo assim fiz algumas alterações para atender a todos os eventos listados acima,
Criei uma classe chamada
TIdeEventoGuia = class(TIdeEvento2) { Classe Criada para atender a Tag indGuia do S-2299 e S-2399 }
e adicionei a property indGuia e fiz alterações na classe TIdeEvento3 removendo a property indGuia e mudando a herança da classe de TIdeEvento2 para TIdeEventoGuia e alterei as Classes pcesS2299 e pcesS2399 para herdar de TIdeEventoGuia que estava como TIdeEvento2 segue em anexos as alterações para análise
pcesCommon.pas pcesS2299.pas pcesS2399.pas
2 minutos atrás, Jicelmo Andrade disse:
pcesCommon.pas 84 kB · 0 downloads pcesS2299.pas 48 kB · 0 downloads pcesS2399.pas 21 kB · 0 downloads
Em 01/11/2021 at 09:43, Jeihcio Francis disse:
pcesGerador.pas 74 kB · 0 downloads pcesCommon.pas 84 kB · 0 downloads
As alterações que fiz atende a seu evento tb
Peço desculpas mandei os arquivos errados, enviando os arquivos corretos, compilados e testados para todos os eventos, anexo uma print com o evento do colega que abriu o post que a property já está no 1298
charles tiago
charles tiago 0
Boa tarde ! Estou com o mesmo problema descrito acima sobre a tag ( indGuia ), no envio do evento S-1210, vocês conseguiram solucionar isso no s-1298.
Seguem algumas correções realizadas no componente para correta geração dos eventos: 1020, 1200, 1210, 1210, 1260, 1299, 1298, 2210, 2240, 2299, 2399...
A maioria das correções foi para geração correta dos periódicos para o segurado especial, que obrigatoriamente deve ser enviado na versão 1.0 e com o campo indGuia preenchido.
Enviei e foram processados com sucesso todos esses eventos no eSocial...
Sei que já há a colaboração dos amigos também, mas acredito que não esteja completa.
PCNeSocial.rar
Em 02/11/2021 at 18:06, Jicelmo Andrade disse:
pcesCommon.pas 84 kB · 2 downloads pcesS2299.pas 48 kB · 2 downloads pcesS2399.pas 21 kB · 2 downloads
Subi as alterações para o SVN na Revisão 23478.
Em 04/11/2021 at 23:25, Paulo Aguiar Junior disse:
Oi Paulo bom dia.
Muito obrigado pela contribuição. Mas preciso de mais uma ajuda sua.
Infelizmente houveram várias alterações nessa semana além do código já postado nesse tópico. Eu fiquei um pouco perdido analisando os códigos, embora notei que algumas units que você anexou já estão no SVN de forma idênticas.
Por isso preciso que você atualize seu código com a última revisão do SVN e anexe novamente para análise.
A boa notícia é que se você conseguir fazer isso até segunda, no máximo até terça feira eu devo avaliar e fazer o commit.
Agradecemos sua cooperação e compreensão.
Bom dia, prezados colegas!
Fiz o update com as últimas alterações no ACBr com relação ao eSocial, e revisei a geração de alguns eventos que possam ter a informação do campo indGuia.
Com o devido respeito ao trabalho dos colegas, e também com os devidos agradecimentos, pois me baseei no código deles, fiz algumas alterações que acredito simplificarem a geração do grupo ideEvento para os eventos: S-1200 a S-1300, S-2190, S-2200 a S-2420.
Pelo que pude notar, todos estes eventos podem ser resumidos em quatro grupos, e para cada grupo já havia uma classe implementada:
Evento que não têm informações de Retificação nem de Apuração -> TIdeEvento;
Eventos que têm informações apenas de Retificação -> TIdeEvento2;
Eventos que têm informações de Retificação e de Apuração -> TIdeEvento3;
Eventos que têm informações apenas de Apuração -> TIdeEvento4.
Com a necessidade da inclusão do campo indGuia no leiaute S1.0, uma nova classe chamada TIdeEventoGuia foi criada herdando da TIdeEvento2. Porém, o campo indGuia pode ocorrer também em eventos que pertençam às classes TIdeEvento3 e TIdeEvento4. Seria possível criar uma nova classe TIdeEventoGuiaX herdando da respectiva classe TIdeEventoX, bem como uma nova procedure de geração para cada classe TIdeEventoGuiaX. Porém, particularmente, acho mais complexo do que parametrizar as classes e procedures já existentes. Além disso, os parâmetros para os dois outros campos indicativos já existiam, de modo que criar um novo parâmetro não seria algo estranho.
Assim, optei por não criar subclasses, mas por utilizar as já existentes e parametrizar a procedure que gera o grupo ideEvento para cada classe, de modo que a geração de cada evento faz a chamada de sua procedure correspondente, informando os parâmetros necessários para gerar as informações adequadamente, caso os parâmetros necessários sejam diferentes dos que ficaram definidos por padrão.
Em anexo seguem as alterações que realizei.
No arquivo pcesCommon.pas linha 602 há um bloco de comentário resumindo as alterações que intentei realizar.
Embora eu tenha testado as alterações que realizei em ambiente de Produção Restrita, envio minhas sugestões no intuito de compartilhar conhecimentos, e de que sejam também revisadas, corrigidas e melhoradas.
Agradeço ao projeto e aos colaboradores pelos conhecimentos compartilhados, e aguardo caso tenham críticas, dúvidas ou novas sugestões.