Ir para conteúdo
  • Cadastre-se

dev botao

ACBrSPEDPisCofins


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

Recommended Posts

  • Membros Pro

Oi pessoal,

Os campos ALIQ_PIS e ALIQ_COFINS do registro C170 segundo o manual possuem tamanho 8 com 4 decimais, esse campos estavam declarados como currency, alterei para Double, conseqüentemente tive que alterar a função de formatação na procedure WriteRegistroC170, trocando o LFill por DFill.

Na unit ACBrEPCBloco_C ficou :

    

    fALIQ_PIS_PERC            : Double;                  /// Alíquota do PIS (em percentual)

    fALIQ_COFINS_PERC         : Double;                  /// Alíquota do COFINS (em percentual)


    property ALIQ_PIS_PERC    : Double                    read FALIQ_PIS_PERC    write FALIQ_PIS_PERC;

    property ALIQ_COFINS_PERC : Double                    read FALIQ_COFINS_PERC write FALIQ_COFINS_PERC;
Na unit ACBrEPCBloco_C_Class, procedure WriteRegistroC170 ficou :
              {27} DFill( ALIQ_PIS_PERC,4,true )    +

              {33} DFill( ALIQ_COFINS_PERC,4,true ) +

Grato.

Quando for expecificado tamanho e decimais, não pode ser Double, porque a função que recebe tipo Double, tem tamanho infinito, só podemos parametrizar decimais.

Para corrigir tem que ser o Tipo Currency e parametrizar corretamente:

LFill( ALIQ_PIS_PERC,8,4 )

LFill( ALIQ_COFINS_PERC,8,4)

Faz um teste ai

Vou ajustar e subir

Não funciona, já tinha tentado desse jeito, mesmo com esses parâmetros ele arredonda pra duas decimais, um valor como "0,5775" fica "0,58", por isso fiz com double, mas não lembrei do fato da função não limitar o tamanho da parte inteira. O problema está na propriedade "CurMascara" que no componente fica setada como "#0.00", então mesmo colocando 4 decimais a função LFill arredonda para o valor da máscara setada ali, tentei deixar o valor da propriedade em branco, mas também não funcionou. Vou pensar em outra solução e coloco aqui depois.

Grato.

Link para o comentário
Compartilhar em outros sites

  • Respostas 185
  • Created
  • Última resposta

Top Posters In This Topic

Oi pessoal,

Os campos ALIQ_PIS e ALIQ_COFINS do registro C170 segundo o manual possuem tamanho 8 com 4 decimais, esse campos estavam declarados como currency, alterei para Double, conseqüentemente tive que alterar a função de formatação na procedure WriteRegistroC170, trocando o LFill por DFill.

Na unit ACBrEPCBloco_C ficou :

    
fALIQ_PIS_PERC : Double; /// Alíquota do PIS (em percentual)
fALIQ_COFINS_PERC : Double; /// Alíquota do COFINS (em percentual)

property ALIQ_PIS_PERC : Double read FALIQ_PIS_PERC write FALIQ_PIS_PERC;
property ALIQ_COFINS_PERC : Double read FALIQ_COFINS_PERC write FALIQ_COFINS_PERC;[/code] Na unit ACBrEPCBloco_C_Class, procedure WriteRegistroC170 ficou :
[code] {27} DFill( ALIQ_PIS_PERC,4,true ) +
{33} DFill( ALIQ_COFINS_PERC,4,true ) +

Grato.

Quando for expecificado tamanho e decimais, não pode ser Double, porque a função que recebe tipo Double, tem tamanho infinito, só podemos parametrizar decimais.

Para corrigir tem que ser o Tipo Currency e parametrizar corretamente:

LFill( ALIQ_PIS_PERC,8,4 )

LFill( ALIQ_COFINS_PERC,8,4)

Faz um teste ai

Vou ajustar e subir

Não funciona, já tinha tentado desse jeito, mesmo com esses parâmetros ele arredonda pra duas decimais, um valor como "0,5775" fica "0,58", por isso fiz com double, mas não lembrei do fato da função não limitar o tamanho da parte inteira. O problema está na propriedade "CurMascara" que no componente fica setada como "#0.00", então mesmo colocando 4 decimais a função LFill arredonda para o valor da máscara setada ali, tentei deixar o valor da propriedade em branco, mas também não funcionou. Vou pensar em outra solução e coloco aqui depois.

Grato.

Bem lembrado mude a propriedade CurMascara = '#0.0000'

Depois me retorne se funcionou

Abs

Já testei não irá funcionar, vou ter que pensar como resolver isso.

Assim que tiver uma solução post aqui

--
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 para o comentário
Compartilhar em outros sites

Agora vai

Baixa la testa e me retorna se funcionou

Abs

--
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 para o comentário
Compartilhar em outros sites

  • Membros Pro

Agora vai

Baixa la testa e me retorna se funcionou

Abs

Sim, funcionou, apesar de todos os valores ficarem com 4 decimais, exemplo "7,6000" ao invés de "7,6" o validador não deu erro, só aumentou um pouco o tamanho do arquivo.

Obrigado.

Aproveitando o contato, embora não seja o lugar apropriado, mas como já postei um tópico sobre o assunto e o problema ainda persiste, Isaque, tem um problema parecido no SPED Fiscal, nos campos NUM_PARC do Reg G125 e do Reg G126, o campo é numérico tamanho 3 e sem decimais, qual o "post" ativo que devo informar isso?

Link para o comentário
Compartilhar em outros sites

Agora vai

Baixa la testa e me retorna se funcionou

Abs

Sim, funcionou, apesar de todos os valores ficarem com 4 decimais, exemplo "7,6000" ao invés de "7,6" o validador não deu erro, só aumentou um pouco o tamanho do arquivo.

Obrigado.

Aproveitando o contato, embora não seja o lugar apropriado, mas como já postei um tópico sobre o assunto e o problema ainda persiste, Isaque, tem um problema parecido no SPED Fiscal, nos campos NUM_PARC do Reg G125 e do Reg G126, o campo é numérico tamanho 3 e sem decimais, qual o "post" ativo que devo informar isso?

volte a propriedade CurMascara para '#0.00', que irá funcionar 100%

Vou olhar esses registro G125 e G126 do SPEDFiscal

T+

--
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 para o comentário
Compartilhar em outros sites

Agora vai

Baixa la testa e me retorna se funcionou

Abs

Aproveitando o contato, embora não seja o lugar apropriado, mas como já postei um tópico sobre o assunto e o problema ainda persiste, Isaque, tem um problema parecido no SPED Fiscal, nos campos NUM_PARC do Reg G125 e do Reg G126, o campo é numérico tamanho 3 e sem decimais, qual o "post" ativo que devo informar isso?

T+

Resolvido e já disponivel no SVN, o problema do G125 e G126 do SPED Fiscal

Abs

--
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 para o comentário
Compartilhar em outros sites

Resolvido e já disponivel no SVN, o problema do G125 e G126 do SPED Fiscal

Abs

Oi Isaque, faltou modificar na procedure WriteRegistroG125 da unit ACBrEFDBloco_G_Class quando for "Versao103" para para LFill( NUM_PARC, 3 ) fazendo isso tudo OK. Grato mais uma vez.

OK, vou acertar agora mesmo, e já subir, valeu

Abs

--
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 para o comentário
Compartilhar em outros sites

Boa Tarde,

Efetuando testes para validação, encontrei uma divergência nos registros C191 e C195, que basicamente são a mesma coisa.

C191 (C195)

VL_BC_PIS (VL_BC_COFINS)

ALIQ_PIS (ALIQ_COFINS)

ALIQ_PIS_QUANT (ALIQ_COFINS_QUANT)

QUANT_BC_PIS (QUANT_BC_COFINS)

- Quando eu informo o VL_BC_PIS (VL_BC_COFINS) e ALIQ_PIS (ALIQ_COFINS), os outros dois campos devem estar vazios.

Hoje ele está enviando 0 (Zero) e o programa SPED PIS-COFINS vr.1.0.0 rejeita o arquivo.

Link para o comentário
Compartilhar em outros sites

Boa Tarde,

Efetuando testes para validação, encontrei uma divergência nos registros C191 e C195, que basicamente são a mesma coisa.

C191 (C195)

VL_BC_PIS (VL_BC_COFINS)

ALIQ_PIS (ALIQ_COFINS)

ALIQ_PIS_QUANT (ALIQ_COFINS_QUANT)

QUANT_BC_PIS (QUANT_BC_COFINS)

- Quando eu informo o VL_BC_PIS (VL_BC_COFINS) e ALIQ_PIS (ALIQ_COFINS), os outros dois campos devem estar vazios.

Hoje ele está enviando 0 (Zero) e o programa SPED PIS-COFINS vr.1.0.0 rejeita o arquivo.

Atualizado, favor baixar e testar novamente, caso haja algum erro ainda só me reportar.

Abs

--
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 para o comentário
Compartilhar em outros sites

Bom dia a todos.

Tenho alguns bugs no SPED Pis/Cofins que corrigi e gostaria que alguem submete-se.

Unit ACBrEPCBloco_A_Class.pas na linha 108. No seguinte codigo:

property RegistroA110Count: Integer read FRegistroA110Count write FRegistroA111Count;

A variavel após o write esta errada, o correto é FRegistroA110Count ao invez de FRegistroA111Count.

Fiz algumas alterações na unit ACBrEPCBloco_C_Class.pas pra permitir que nos registros C170,C481 e C485 o componente aceite produtos tributados por quantidade ou por aliquota. Segue arquivo em anexo para an´-alise.

Obrigado.

ACBrEPCBloco_C_Class.pas

Link para o comentário
Compartilhar em outros sites

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