Jump to content

dev botao

Sugestão de Alteração Evento S-2210 (CAT)


Andergoncalves
Go to solution Solved by EMBarbosa,
  • Este tópico foi criado há 399 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia.

Segue como sugestão os arquivos pas e o xsd em anexo.

Nos deparamos com problemas no envio do evento S-2210, verificamos que o eSocial fez ajuste nos servidores, fizemos alguns ajustes para geração dos campos obrigatórios ultDiaTrab e houveAfast, onde devem ser informados quando dtAcid no ambiente:

Produção restrita for maior que 15/01/2022;

Produção for maior 15/01/2023;

Obrigado.

Anderson

pcesS2210.pas evtCAT-v_S_01_00_00.xsd

Edited by Andergoncalves
Link to comment
Share on other sites

  • Andergoncalves changed the title to Sugestão de Alteração Evento S-2210 (CAT)
  • Consultores

Obrigado pela contribuição, em breve será validada para possível inclusão ao svn #TK-3124

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • 2 months later...
  • Consultores
  • Solution
Em 04/10/2022 at 10:54, Andergoncalves disse:

Bom dia.

Segue como sugestão os arquivos pas e o xsd em anexo.

Nos deparamos com problemas no envio do evento S-2210, verificamos que o eSocial fez ajuste nos servidores, fizemos alguns ajustes para geração dos campos obrigatórios ultDiaTrab e houveAfast, onde devem ser informados quando dtAcid no ambiente:

Produção restrita for maior que 15/01/2022;

Produção for maior 15/01/2023;

Obrigado.

Anderson

pcesS2210.pas 35.27 kB · 2 downloads evtCAT-v_S_01_00_00.xsd 51.96 kB · 2 downloads

Muito obrigado pela contribuição.
Fiz a implementação baseada nela.
Já subi as alterações para o SVN.
Pelo que vi está tudo certo.
Queira por favor atualizar, testar e reportar qualquer problema.

Quanto as alterações nesse outro post:

Em 05/10/2022 at 10:07, Andergoncalves disse:

Segue mais uma sugestão de alteração do Evento S-2240.

Já está no código atual do componente conforme outro tópico. Caso algo tenha passado despercebido e seja necessário uma nova modificação, por favor, crie um novo tópico.

Siga essa orientação (novo tópico para novos eventos ou modificações) sempre que for tratar de eventos diferentes. Uma exceção a isso é quando for enviar várias modificações de uma vez, como por exemplo por conta de um novo layout. Daí pode enviar tudo em um tópico mesmo... Isso facilita nosso trabalho.

Mais uma vez obrigado.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

  • 1 month later...

bom dia, aproveitando o tópico do amigo.

Encontrei uma divergência criada no dia 07/12/2022 na "pcesS2210.pas", foi criado uma validação que não condiz com o manual S.1.1.
O campo <ultDiaTrab> Último dia trabalhado. Validação: Preenchimento obrigatório se dtAcid >= Página  [2023-01-16]). Se informada, deve ser uma data igual ou anterior à data atual e igual ou posterior à data de admissão do trabalhador.

Foi inserida uma validação que "obrigado" o operador informar a data de ultimo de trabalho, igual ou posterior a data do acidente.
 

Citar

if Self.Cat.ultDiaTrab >= Self.Cat.dtAcid then
      Gerador.wCampo(tcDat, '', 'ultDiaTrab',     10,  10, 1, Self.Cat.ultDiaTrab);

O correto não seria confrontar a data do ultimo dia de trabalho sendo menor ou igual a data atual ? 

 

Diante mão, peço desculpas se não for este o local para comentar/postar.

 

  • Thanks 1
Link to comment
Share on other sites

On 1/11/2023 at 12:04 PM, Diego Cavalcante said:

bom dia, aproveitando o tópico do amigo.

Encontrei uma divergência criada no dia 07/12/2022 na "pcesS2210.pas", foi criado uma validação que não condiz com o manual S.1.1.
O campo <ultDiaTrab> Último dia trabalhado. Validação: Preenchimento obrigatório se dtAcid >= Página  [2023-01-16]). Se informada, deve ser uma data igual ou anterior à data atual e igual ou posterior à data de admissão do trabalhador.

Foi inserida uma validação que "obrigado" o operador informar a data de ultimo de trabalho, igual ou posterior a data do acidente.
 

O correto não seria confrontar a data do ultimo dia de trabalho sendo menor ou igual a data atual ? 

 

Diante mão, peço desculpas se não for este o local para comentar/postar.

 

Bom dia,

 

ontem eu tive o mesmo problema, essa validação está divergente com o layout, inclusive ao remover ela, a exportação passou no servidor. No layout está "Se informada, deve ser uma data igual ou anterior à data atual e igual ou posterior à data de admissão do trabalhador.". Ou seja essa validação não era para ser com a data do acidente, como está acima "Self.Cat.dtAcid" e sim com a data de admissão do trabalhador, contudo na exportação 2210 não vai a data de admissão, ela vai apenas no 2200. Acredito eu, que essa validação precisa ser removida. 

 

image.thumb.png.14781c7b01c17a7f4f7359431d7d699f.png

Link to comment
Share on other sites

  • Consultores

Bom dia @Jeihcio Francis e @Diego Cavalcante.
Na Rev-28218 a validação foi alterada de 

if Self.Cat.ultDiaTrab >= Self.Cat.dtAcid then

Para

if Self.Cat.ultDiaTrab <= Now then

Conforme sugerido.
Por favor, atualizem seus fontes, reinstalem o ACBr e façam novos testes.
Peço que reportem caso ainda tenham problemas.

  • Thanks 2
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

Boa tarde a todos.

Concordo com a colocação do nosso amigo: @Jeihcio Francis não temos a data de admissão do trabalhador.

Como sugestão que implementamos foi sem a validação para que o mesmo possa ser validado na aplicação. 

  if (
       ( (TpAmbToStr(TACBreSocial(FACBreSocial).Configuracoes.WebServices.Ambiente) = '1') and (Self.Cat.dtAcid >= StringToDateTime('16/01/2023')) ) or
       ( (TpAmbToStr(TACBreSocial(FACBreSocial).Configuracoes.WebServices.Ambiente) = '2') and (Self.Cat.dtAcid >= StringToDateTime('16/01/2022')) )
     )
  then
  begin
    Gerador.wCampo(tcDat, '', 'ultDiaTrab',     10,  10, 1, Self.Cat.ultDiaTrab);

    Gerador.wCampo(tcStr, '', 'houveAfast',      1,   1, 1, eSSimNaoToStr(Self.Cat.houveAfast));
  end;

Outra sugestão seria atualizada com a validação abaixo: 

if Self.Cat.ultDiaTrab <= Self.Cat.dtAcid then

 

Outra sugestão que estamos disponibilizando aqui é a do Evento S-3000 foram implementados alguns ajustes na função GerarXML.

Obrigado pela atenção.

pcesS2210.pas pcesS3000.pas

  • Like 2
Link to comment
Share on other sites

Bom dia,

Também entendo que seria melhor incluir a regra de negócio sobre a data do último dia trabalhado na aplicação e não no componente.

No momento do cadastro da CAT no sistema, poderia validar se a data do último dia trabalhado é menor ou igual a data do acidente e maior que a admissão, e se a data do acidente é menor ou igual a data atual e maior que a admissão. Entendo que essa é uma regra da CAT, não do eSocial.

Já em relação ao corte temporal da obrigatoriedade do envio (16/01/2022 para Ambiente de Teste e 16/01/2023 para Ambiente de Produção), é uma regra do eSocial, portanto, a meu ver, deveria ser tratado no componente.

Entendo que a forma implementada pelo Anderson seria a mais acertada. 

At.te,

 

 

  • Thanks 1
Link to comment
Share on other sites

  • Consultores
23 horas atrás, Andergoncalves disse:

Boa tarde a todos.

Concordo com a colocação do nosso amigo: @Jeihcio Francis não temos a data de admissão do trabalhador.

Como sugestão que implementamos foi sem a validação para que o mesmo possa ser validado na aplicação. 

  if (
       ( (TpAmbToStr(TACBreSocial(FACBreSocial).Configuracoes.WebServices.Ambiente) = '1') and (Self.Cat.dtAcid >= StringToDateTime('16/01/2023')) ) or
       ( (TpAmbToStr(TACBreSocial(FACBreSocial).Configuracoes.WebServices.Ambiente) = '2') and (Self.Cat.dtAcid >= StringToDateTime('16/01/2022')) )
     )
  then
  begin
    Gerador.wCampo(tcDat, '', 'ultDiaTrab',     10,  10, 1, Self.Cat.ultDiaTrab);

    Gerador.wCampo(tcStr, '', 'houveAfast',      1,   1, 1, eSSimNaoToStr(Self.Cat.houveAfast));
  end;

Outra sugestão seria atualizada com a validação abaixo: 

if Self.Cat.ultDiaTrab <= Self.Cat.dtAcid then

 

Outra sugestão que estamos disponibilizando aqui é a do Evento S-3000 foram implementados alguns ajustes na função GerarXML.

Obrigado pela atenção.

pcesS2210.pas 35.46 kB · 1 download pcesS3000.pas 10.47 kB · 0 downloads

Muito obrigado pela contribuição @Andergoncalves!
Foi criada a #TK-3514 para que a mesma seja validade e enviada ao SVN.

  • Thanks 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

Ajuste para Leitura de arquivos .INI e .XML

tpIdeOC                 = (idNenhum, idCRM, idCRO, idRMS, idCREA, idOutros);

De:

function eSStrToIdeOC(var ok: boolean; const s: string): tpIdeOC;
begin
  result := tpIdeOC( StrToEnumerado2(ok, s, ['1', '2', '3', '4', '9'] ) );
end;

Para:

function eSStrToIdeOC(var ok: boolean; const s: string): tpIdeOC;
begin
  result := tpIdeOC( StrToEnumerado2(ok, s, ['0', '1', '2', '3', '4', '9'] ) );
end;

 

@EMBarbosa

@Juliana Tamizou

 

 

pcesConversaoeSocial.pas

Edited by IMATECH

by IMATECH
[email protected]
Goiânia - GO.

Link to comment
Share on other sites

  • Consultores
Em 18/01/2023 at 13:43, Andergoncalves disse:

Boa tarde a todos.

Concordo com a colocação do nosso amigo: @Jeihcio Francis não temos a data de admissão do trabalhador.

Como sugestão que implementamos foi sem a validação para que o mesmo possa ser validado na aplicação. 

  if (
       ( (TpAmbToStr(TACBreSocial(FACBreSocial).Configuracoes.WebServices.Ambiente) = '1') and (Self.Cat.dtAcid >= StringToDateTime('16/01/2023')) ) or
       ( (TpAmbToStr(TACBreSocial(FACBreSocial).Configuracoes.WebServices.Ambiente) = '2') and (Self.Cat.dtAcid >= StringToDateTime('16/01/2022')) )
     )
  then
  begin
    Gerador.wCampo(tcDat, '', 'ultDiaTrab',     10,  10, 1, Self.Cat.ultDiaTrab);

    Gerador.wCampo(tcStr, '', 'houveAfast',      1,   1, 1, eSSimNaoToStr(Self.Cat.houveAfast));
  end;

Outra sugestão seria atualizada com a validação abaixo: 

if Self.Cat.ultDiaTrab <= Self.Cat.dtAcid then

 

Outra sugestão que estamos disponibilizando aqui é a do Evento S-3000 foram implementados alguns ajustes na função GerarXML.

Obrigado pela atenção.

pcesS2210.pas 35.46 kB · 4 downloads pcesS3000.pas 10.47 kB · 3 downloads

Boa tarde!
Mais uma vez, muito obrigado pela contribuição!
Conferindo aqui, aparenta estar tudo certo.
Enviado ao SVN nas Revs 28329 28330.
Por favor, atualizem seus fontes, reinstalem o ACBr e façam novos testes.
Reportem qualquer problema.
 

  • Thanks 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Consultores
Em 20/01/2023 at 12:49, IMATECH disse:

Ajuste para Leitura de arquivos .INI e .XML

tpIdeOC                 = (idNenhum, idCRM, idCRO, idRMS, idCREA, idOutros);

De:

function eSStrToIdeOC(var ok: boolean; const s: string): tpIdeOC;
begin
  result := tpIdeOC( StrToEnumerado2(ok, s, ['1', '2', '3', '4', '9'] ) );
end;

Para:

function eSStrToIdeOC(var ok: boolean; const s: string): tpIdeOC;
begin
  result := tpIdeOC( StrToEnumerado2(ok, s, ['0', '1', '2', '3', '4', '9'] ) );
end;

 

@EMBarbosa

@Juliana Tamizou

 

 

pcesConversaoeSocial.pas 159.06 kB · 0 downloads

Boa tarde @IMATECH!
Muito obrigado pela intenção em colaborar!
Mas esse ponto já foi corrigido na Rev-28247.
Por favor, atualize seus fontes, reinstale o ACBr para realizar novos testes e reporte qualquer problema.

  • Haha 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Este tópico foi criado há 399 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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.