Ir para conteúdo
  • Cadastre-se

dev botao

S-1200 na versão do layout simplificado


Ver Solução Respondido por EMBarbosa,
  • Este tópico foi criado há 1119 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde!

Ao implementar correções no envio do Evento S-1200 na versão do layout simplificado S-1.0, notei que este evento sofreu alteração de nome em dois campos do grupo "sucessaoVinc".

No layout 2.5

image.thumb.png.524af284f5c24d72affb73dac1495ddd.png

Enquanto no layout S-1.0

image.thumb.png.5e189602d3ede4db42f09c95ed073605.png

 

Repare que as informações a serem enviadas são as mesmas em ambas as versões.

Para adequar a geração do arquivo às diferenças entre os dois layouts, implementei a seguinte alteração, a qual também envio em anexo:

image.thumb.png.69ca854bd72c0f1a0e7ca00683f2ac90.png

 

Deste modo, a partir da versão S-1.0 o evento passará a gerar as informações nos campos com os nomes atualizados ("tpInsc" e "nrInsc"), mas caso a versão do layout seja anterior permanecerá da mesma forma como era gerado anteriormente ("tpInscAnt" e "cnpjEmpregAnt").

Porém, embora a solução desta forma seja mais fácil para mim, pois não precisarei alterar o código fonte onde informo os valores dos campos, penso que para o Projeto ACBr esta simples alteração trará um dilema. Pelo fato de os campos apresentarem nomes diferentes nos dois layouts, quem começar a implementar o envio do S-1200 diretamente no layout S-1.0 não encontrará uma correspondência exata entre os nomes dos campos.

Assim, gostaria de não apenas postar a solução que implementei, mas também de perguntar se a solução implementada pelo Projeto ACBr será diferente para este caso?

pcesS1200.pas

  • Curtir 2
  • Obrigado 1
  • Administradores
Postado

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

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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 !!

Postado

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

  • Curtir 1
  • Obrigado 1

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

  • 2 semanas depois ...
  • Consultores
Postado
Em 02/09/2021 at 15:13, Danúbio Viana Nogueira disse:

Boa tarde!

Ao implementar correções no envio do Evento S-1200 na versão do layout simplificado S-1.0, notei que este evento sofreu alteração de nome em dois campos do grupo "sucessaoVinc".

Assim, gostaria de não apenas postar a solução que implementei, mas também de perguntar se a solução implementada pelo Projeto ACBr será diferente para este caso?

pcesS1200.pas 55 kB · 1 download

Em 02/09/2021 at 19:45, IMATECH disse:

Ajuste adicional para compatibilizar com o Monitor.

Linha 1322

Muito obrigado pelas contribuições.
Fiz a implementação baseada nelas.
Subi as alterações para o SVN na Revisão  23008.
Pelo que vi está tudo certo.
Queira por favor atualizar, testar e reportar qualquer problema.

Mais uma vez obrigado.

  • Curtir 1

[]'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.
  • Moderadores
Postado
Em 18/09/2021 at 13:01, IMATECH disse:

Correção erro compilação: Propriedade inexistente ( Reverter *Commit [r23011] )

Pelo que vi não é questão de reverter e sim complementar com as propriedades que estavam faltando...

Não sei se é o caso de duplicar propriedades apenas por terem sido renomeadas, o ideal seria manter apenas uma com a nomenclatura mais atual.

O @EMBarbosa deve analisar.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado
27 minutos atrás, BigWings disse:

Pelo que vi não é questão de reverter e sim complementar com as propriedades que estavam faltando...

Não sei se é o caso de duplicar propriedades apenas por terem sido renomeadas, o ideal seria manter apenas uma com a nomenclatura mais atual.

O @EMBarbosa deve analisar.

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

  • Curtir 1

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

  • Consultores
  • Solution
Postado
Em 18/09/2021 at 14:01, IMATECH disse:

Correção erro compilação: Propriedade inexistente ( Reverter *Commit [r23011] )

*Mudou nome dos novos campos do Layout S1.0

pcesS1200.pas 56 kB · 3 downloads

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

Mais uma vez obrigado.

  • Curtir 1

[]'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.
  • 4 semanas depois ...
Postado

Bom dia!

Fiz ontem o update da revision 23254 contendo as alterações nesta unit, testei e ocorreu tudo certo.

Notei também que foram criadas as propriedades para os novos campos na classe TSucessaoVinc. Assim, fiz um ajuste que acredito possa ajudar tanto quem já utiliza as propriedades antigas, quanto quem passará a utilizar as propriedades novas.

A alteração consiste basicamente em pegar o campo específico para o devido leiaute, e caso este não esteja informado, pegar o campo alternativo.


  if VersaoDF >= veS01_00_00 then
  begin

    tpInsc := ideTrabalhador.infoComplem.sucessaoVinc.tpInsc;
    nrInsc := ideTrabalhador.infoComplem.sucessaoVinc.nrInsc;

    if nrInsc = '' then
    begin
      tpInsc := ideTrabalhador.infoComplem.sucessaoVinc.tpInscAnt;
      nrInsc := ideTrabalhador.infoComplem.sucessaoVinc.cnpjEmpregAnt;
    end;

    Gerador.wCampo(tcInt, '', 'tpInsc', 1, 1, 1, eSTpInscricaoToStr(tpInsc));
    Gerador.wCampo(tcStr, '', 'nrInsc', 14,  14, 1, nrInsc);

  end
  else
  begin

    tpInsc := ideTrabalhador.infoComplem.sucessaoVinc.tpInscAnt;
    nrInsc := ideTrabalhador.infoComplem.sucessaoVinc.cnpjEmpregAnt;

    if nrInsc = '' then
    begin
      tpInsc := ideTrabalhador.infoComplem.sucessaoVinc.tpInsc;
      nrInsc := ideTrabalhador.infoComplem.sucessaoVinc.nrInsc;
    end;

    if VersaoDF >= ve02_05_00 then
      Gerador.wCampo(tcInt, '', 'tpInscAnt', 1, 1, 1, eSTpInscricaoToStr(tpInsc));

    Gerador.wCampo(tcStr, '', 'cnpjEmpregAnt', 14,  14, 1, nrInsc);

  end;

Em anexo segue a minha sugestão de alteração.

pcesS1200.pas

  • Curtir 1
  • Administradores
Postado

Boa tarde.

Obrigada pela contribuição, adicionado para validação, TK-2016.

No futuro queira por favor criar um novo tópico.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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 !!

Postado
10 horas atrás, Danúbio Viana Nogueira disse:

Bom dia!
Fiz ontem o update da revision 23254 contendo as alterações nesta unit, testei e ocorreu tudo certo.
Notei também que foram criadas as propriedades para os novos campos na classe TSucessaoVinc. Assim, fiz um ajuste que acredito possa ajudar tanto quem já utiliza as propriedades antigas, quanto quem passará a utilizar as propriedades novas.
A alteração consiste basicamente em pegar o campo específico para o devido leiaute, e caso este não esteja informado, pegar o campo alternativo.

    tpInsc := ideTrabalhador.infoComplem.sucessaoVinc.tpInsc;
    nrInsc := ideTrabalhador.infoComplem.sucessaoVinc.nrInsc;

    if nrInsc = '' then
    begin
      tpInsc := ideTrabalhador.infoComplem.sucessaoVinc.tpInscAnt;
      nrInsc := ideTrabalhador.infoComplem.sucessaoVinc.cnpjEmpregAnt;
    end;

 

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 😃

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

Postado
Em 15/10/2021 at 20:20, IMATECH disse:

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 😃

Compreendo o seu ponto de vista, sua opinião é bem-vinda.

Acredito que quando o leiaute 2.5 sair de uso no ano que vem, será realmente necessário remover os campos antigos.

Minha sugestão foi apenas visando não gerar estranhamento, caso alguém ainda esteja acostumado apenas ao leiaute 2.5, nem gerar incompatibilidade com os códigos já implementados.

Particularmente, qualquer que seja a decisão do pessoal do projeto, para mim será uma boa decisão.

  • Curtir 1
  • 3 semanas depois ...
  • Consultores
Postado
Em 15/10/2021 at 09:17, Danúbio Viana Nogueira disse:

Em anexo segue a minha sugestão de alteração.

pcesS1200.pas

Muito obrigado Danúbio pela sugestão. Mas no momento acho mais prudente mantermos a implementação atual.

Como você mesmo mencionou, no futuro teríamos que remover o código de qualquer maneira. Assim ideia agora é evitar o trabalho dobrado.

Quero aproveitar pra agradecer o esforço que tanto você, o @IMATECH bem como outros usuários tem feito nessas últimas semanas e meses.

  • Curtir 2

[]'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.
  • Este tópico foi criado há 1119 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.