Jump to content

Delphi chamada_delphi.png acbr.png

C6 chamada_c6.png botao.png

Modificações Nos Componentes Do Sped Que Podem Alterar O Funcionamento


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

Recommended Posts

  • Consultores

Estamos fazendo modificações nos componentes SPED que podem resultar em necessidade de corrigirem seu código. Por isso estamos avisando com antecedência para você poder estar pronto. As alterações estão previstas para ir para o SVN na primeira quinzena de Janeiro de 2015 já estão no SVN.
 
   Há algum tempo temos um bug em certos registros do SPED que não puderam ser resolvidos. O problema é devido a alguns campos que precisam ser gerados com valores numéricos incluindo '0' (zero), mas também precisam aceitar o valor vazio ( e mais ). O componente não consegue atualmente tratar esses casos de forma satisfatória e as alterações são para corrigir isso. Infelizmente, estas alterações podem quebrar a compatibilidade do seu código atual.
 
   "Não!!! Não façam isso com meu código!!!" - disse o programador preguiçoso.
   Em primeiro lugar não é seu código. É nosso! :P
   Além disso, como dito acima, também não estamos tão felizes assim. Mas ou fazemos a alteração, ou não vamos atender a necessidade de todos nem a legislação atual. Preferimos qualidade e confiabilidade. :)
 
   "Mas o que vai mudar?" - disse o programador curioso.
   Resumindo a alteração: Estamos modificando o tipo destes campos para Variant ao invés de um tipo numérico (Currency, Double, extended, etc...). Assim, quando você precisar gerar um valor vazio no campo, bastará passar Null (variant nula) para o campo. Se quiser que seja gerado com '0' (zero), bastará passar zero para o campo. Sim, isso já foi e não é um dejavu. Alguns registros já funcionam assim, como por exemplo os Registros C181 e C185.
 
   "Nenhuma chance de eu não precisar fazer nada?" - disse o programador esperançoso.
   Se você não utilizar os registros mencionados você não vai precisar fazer nada. A lista dos registros estão no deste tópico.
 
   "E se eu não quiser mexer com isso agora?" - disse o programador apertado com os prazos.
   Bom, você pode ficar sem atualizar seus componentes SPED. Mas que fique claro que não recomendamos isso e que você talvez não consiga gerar os arquivos 100%.
 
   Daí você talvez pense: "Ok, eu quero resolver isso. Mas queria saber onde eu posso ter problemas, e o que fazer para corrigi-los."
   Achei que não ia perguntar. :D
   O caso é que os componentes não vão mais tentar adivinhar se o campo ficará vazio ou não vazio quando o valor dele for zero. Você é quem deverá definir isso. Logo, se você está sempre confiando que quando passar zero o componente vai tornar os campos vazios por você, então você pode ter problemas nestes casos.
   Veja um exemplo:
   Na EFD Contribuições (SPED PIS/COFINS), quando você gera registros C191, existem os campos VL_BC_PIS, ALIQ_PIS, QUANT_BC_PIS e ALIQ_PIS_QUANT. Normalmente, você vai preencher os dois primeiros. Ao preencher os dois primeiros você deve fazer com que os campos QUANT_BC_PIS e ALIQ_PIS_QUANT fiquem vazios. O código atual talvez seja assim: 

  RegistroC181.VL_BC_PIS := 100;
  RegistroC181.ALIQ_PIS := 1.65;
  RegistroC181.QUANT_BC_PIS := 0;
  RegistroC181.ALIQ_PIS_QUANT := 0;

   Você vai ter que alterar para:

  RegistroC181.VL_BC_PIS := 100;
  RegistroC181.ALIQ_PIS := 1.65;
  RegistroC181.QUANT_BC_PIS := Null;
  RegistroC181.ALIQ_PIS_QUANT := Null;

   Mas talvez, você seja um dos que desenvolvem software para fabricantes ou importadores de combustíveis e de bebidas frias (água, cerveja, refrigerantes) que tenham optado por apurar as contribuições sociais com base na quantidade de produto vendida. Neste caso, você vai querer preencher os campos posteriores e deixar os dois primeiros vazios. Algo assim:

  RegistroC181.VL_BC_PIS := Null;
  RegistroC181.ALIQ_PIS := Null;
  RegistroC181.QUANT_BC_PIS := 10;
  RegistroC181.ALIQ_PIS_QUANT := 0.1;

   Isso foi apenas um exemplo. Mas, via de regra, o que você de prestar atenção é:
   O código gerava vazio pra você e você quer que continue assim? Então atribua Null.
 
   "Mas e os eventos? Não tinha alguns eventos para resolver esse problema?"
   Hmmm!!! Temos um espertinho aqui! ^_^
 
   O problema dos registros com eventos (C481, C485, C491, C495), é que o evento é gerado na hora de escrever o arquivo e não na hora de alimentar o componente. Por isso, você já não tem acesso ao banco de dados. Assim, pode ser preciso consultar novamente ao banco de dados para decidir quais campos vão ser preenchidos ou deixados vazios. Isso pode ser um problema muito grande e até insustentável dependendo do tamanho do seu banco de dados e do período gerado. Fora que são mais conexões desnecessárias ao BD.
   Assim, os eventos estão sendo considerados obsoletos (deprecated). Mais cedo ou mais tarde eles serão removidos.
   Para evitar maiores problemas, o código dos eventos a princípio vão continuar funcionando. Quer dizer que, se você está utilizando os eventos e eles estão lhe atendendo, você pode decidir não mexer nessa parte do código. Mas incentivamos você a remover os eventos e fazer os tratamentos conforme acima sugerido para os outros registros assim que as alterações forem postadas no SVN.
 
   Veja abaixo onde as modificações estão sendo feitas primeiro e analise ali se seu código precisa ser modificado. Apenas atente que isso é apenas os primeiros lugares onde vão acontecer as modificações. Mais lugares vão ser alterados sempre que percebemos que o código atual não pode atender a necessidade e legislação que afeta todos os nossos usuários. Vamos tentar manter a lista abaixo atualizada.

Edited by EMBarbosa
Alterações postadas ao SVN.
  • Like 8

[]'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

  • Consultores

Lista de campos e registros alterados:

  • SPED PIS/COFINS (EFD Contribuições). Nota: substitua abaixo o asterisco * por PIS ou COFINS conforme o registro.
    • Registros C191 e C195 campos VL_DESC, VL_BC_*, ALIQ_*, QUANT_BC_*, ALIQ_*_QUANT, VL_*
    • Registros C381 e C385 campos VL_BC_*, ALIQ_*, QUANT_BC_*, ALIQ_*_QUANT, VL_*
    • Registros C481 e C485 campos VL_BC_*, ALIQ_*, QUANT_BC_*, ALIQ_*_QUANT, VL_*
    • Registros C491 e C495 campos VL_BC_*, ALIQ_*, QUANT_BC_*, ALIQ_*_QUANT, VL_*
    • Registros D350 campos VL_BC_*, ALIQ_*, QUANT_BC_*, ALIQ_*_QUANT, VL_*
    • Vários campos dos Registros M100, M105, M210, M500, M505, M610
    • Registro C170 campos ALIQ_*_PERC, QUANT_BC_*, ALIQ_*_R, VL_*
  • SPED Fiscal (EFD ICMS/IPI)
    • Ainda em análise
    • Ainda em análise
Edited by EMBarbosa
Atualizado campos do C170
  • Like 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.
Link to comment
Share on other sites

  • Consultores

[Reservado para orientações de implementações específicas]

[]'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

Muito bem explicado, parabéns pelo post, nota 1000.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link to comment
Share on other sites

  • Consultores

Verdade! Assinado e explicado, se vierem perguntas abaixo ou é falta de interpretação ou leitura!

Não sendo chato mas já sendo com os usuários!

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

Link to comment
Share on other sites

  • 3 weeks later...
  • Consultores

Modificações para o SPED PIS/COFINS foram enviadas ao SVN.

  • Like 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.
Link to comment
Share on other sites

  • 5 weeks later...
  • Membros Pro

Barbosa, estou precisando gerar o SPED com NFCe, e nesse caso não devem ser informados no C100 e C190 os registros de PIS e COFINS, e nem os de ST de todos, já tentei colocar com zero, mas ele cria os campos e isso gera um erro no validador. Essa mudança contempla isso também?

Link to comment
Share on other sites

  • Consultores

Creio que sim. Passe NULL para os campos que precise que sejam gerados em branco.

Em caso de problemas, por favor, crie outro tópico mencionando os dados preenchidos e o erro do validador.

[]'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

  • 5 months later...

Obrigado pela resposta EMBarbosa

A mensagem do validador no campo 12-VL_DESC é "Campo obrigatório não preenchido" e está nulo no arquivo mesmo passando 0 na geração, se preencher com 0,00 manualmente some o erro.

Isso acontece nos campo VL_DESC,VL_OUT_DA, VL_ICMS , VL_PIS , VL_PIS_ST, VL_COFINS, VL_COFINS_ST 

Todos estes o ACBrSPEDFISCAL está gerando NULL se forem igual a zero.

 

 

Link to comment
Share on other sites

  • Este tópico foi criado há 2499 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.