Jump to content

dev botao

Registro F550 não totaliza no registro 9900


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

Recommended Posts

Boa tarde pessoal, agradeço antecipadamente a iniciativa deste projeto que tanto tem me axiliado no processo de adequação da emrpresa para o SPED.

Estou com um problema, acredito que simples porem não estou sabendo resolver, atualizei a versão do componente para a atual, porem,

depois da atualização quando gero o arquivo de texto, ele não esta criando o registro 9900 referente ao registro F550.

Estou tendo que lançar manualmente.

|9900|F550|6|

Alguem ja teve esse problema, ou sabe como devo fazer para corrigí-lo?

Até mais.

Link to comment
Share on other sites

Boa tarde pessoal, agradeço antecipadamente a iniciativa deste projeto que tanto tem me axiliado no processo de adequação da emrpresa para o SPED.

Estou com um problema, acredito que simples porem não estou sabendo resolver, atualizei a versão do componente para a atual, porem,

depois da atualização quando gero o arquivo de texto, ele não esta criando o registro 9900 referente ao registro F550.

Estou tendo que lançar manualmente.

|9900|F550|6|

Alguem ja teve esse problema, ou sabe como devo fazer para corrigí-lo?

Até mais.

Olhei o código e existe sim a implementação para esse registro ser gerado, porem existe uma situação de checagem de uma data inicial

Unit ACBrEPCBloco_F_Class, Linha = 1474

if DT_INI >= EncodeDate(2012,01,01) then

Veja se essa data esta atendendo a essa condição.

Na Unit ACBrSpedPisCofins, linha 1745 esta a implementação para que esse registros seja inserido no 9900 veja:


if Bloco_F.RegistroF550Count > 0 then
begin
with New do
begin
REG_BLC := 'F550';
QTD_REG_BLC := Bloco_F.RegistroF550Count;
end;
end;
[/code]

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

Bom Dia Isaque,

Eu foi no código fonte do componente como vc sugeriu, fiz a checagem e o código está exatamente como vc mencionou no topico anterior. Porem fiz apenas um teste de tirar a condição que testa se a quantidade de registro é maior que zero pra ver o que aconteceria. então deixei o codigo assim:

unit AcBRSpedPisCofins linha 1745

// if Bloco_F.RegistroF550Count > 0 then

// begin

with New do

begin

REG_BLC := 'F550';

QTD_REG_BLC := Bloco_F.RegistroF550Count;

end;

//end;

Com este comentário a linha foi gerada |9900|F550|0| , mas com 0 (zero) registros.

Me parece que o problema possa estar onde a variavel RegistroF550Count é gerada. Pois no meu arquivo tenho 6 registros do tipo F550.

Vou postar aqui o codigo que estou usando para gerar este registro, talvez eu esteja fazendo de maneira errada.

procedure TFrmSPEDPisCofins.btnB_FClick(Sender: TObject);

var

intF550 :integer;

intF560 :integer;

DINICIAL, DFINAL :string;

aliq : double;

iCFOP,erro :integer;

begin

// Alimenta o componente com informações para gerar todos os registros do

// Bloco F.

DINICIAL := formatdatetime('dd/mm/yyyy', DtINICIAL.Date);

DFINAL := formatdatetime('dd/mm/yyyy', DtFINAL.Date);

with ACBrSPEDPisCofins1.Bloco_F do

begin

with RegistroF001New do

begin

IND_MOV := imComDados;

with RegistroF010New do

begin

CNPJ := DmsPED.quEmpresaCNPJ.AsString;

//

//

//OPERAÇÕES CON NOTAS FISCAIS DE SAÍDA

//MONTANTE DE NOTAS DE SAIDAAS

//não gerea nenhum registro no sped diretamente, apenas mostra na aba, produtos X cfop X Cst_Pis X Cst_Cofins

with DmSped.quNF_Saida do

begin

close;

parambyname('di').AsString := DINICIAL;

parambyname('df').AsString := DFINAL;

open;

First;

lbTotProdCfop.Caption:=inttostr(RecordCount);

end;

with DmSped.quRegF550 do

begin

close;

parambyname('di').AsString := DINICIAL;

parambyname('df').AsString := DFINAL;

open;

First;

end;

// criar rotina para tratar apenas a escrituração do mes

dmSped.quGravaRegF550.Open;

FOR intF550 := 1 to DmSped.quRegF550.RecordCount do

begin

with RegistroF550New do

begin

VL_REC_COMP := DmSped.quRegF550VLR_REC_COMP.Value ;

IF DmSped.quRegF550CST_PIS.Value = '01' then CST_PIS := stpisValorAliquotaNormal ;

IF DmSped.quRegF550CST_PIS.Value = '02' then CST_PIS := stpisValorAliquotaDiferenciada ;

IF DmSped.quRegF550CST_PIS.Value = '03' then CST_PIS := stpisQtdeAliquotaUnidade ;

IF DmSped.quRegF550CST_PIS.Value = '04' then CST_PIS := stpisMonofaticaAliquotaZero ;

IF DmSped.quRegF550CST_PIS.Value = '05' then CST_PIS := stpisValorAliquotaPorST ;

IF DmSped.quRegF550CST_PIS.Value = '06' then CST_PIS := stpisAliquotaZero ;

IF DmSped.quRegF550CST_PIS.Value = '07' then CST_PIS := stpisIsentaContribuicao ;

IF DmSped.quRegF550CST_PIS.Value = '08' then CST_PIS := stpisSemIncidenciaContribuicao ;

IF DmSped.quRegF550CST_PIS.Value = '09' then CST_PIS := stpisSuspensaoContribuicao ;

IF DmSped.quRegF550CST_PIS.Value = '49' then CST_PIS := stpisOutrasOperacoesSaida ;

IF DmSped.quRegF550CST_PIS.Value = '50' then CST_PIS := stpisOperCredExcRecTribMercInt ;

IF DmSped.quRegF550CST_PIS.Value = '51' then CST_PIS := stpisOperCredExcRecNaoTribMercInt ;

IF DmSped.quRegF550CST_PIS.Value = '52' then CST_PIS := stpisOperCredExcRecExportacao ;

IF DmSped.quRegF550CST_PIS.Value = '53' then CST_PIS := stpisOperCredRecTribNaoTribMercInt ;

IF DmSped.quRegF550CST_PIS.Value = '54' then CST_PIS := stpisOperCredRecTribMercIntEExportacao ;

IF DmSped.quRegF550CST_PIS.Value = '55' then CST_PIS := stpisOperCredRecNaoTribMercIntEExportacao ;

IF DmSped.quRegF550CST_PIS.Value = '56' then CST_PIS := stpisOperCredRecTribENaoTribMercIntEExportacao ;

IF DmSped.quRegF550CST_PIS.Value = '60' then CST_PIS := stpisCredPresAquiExcRecTribMercInt ;

IF DmSped.quRegF550CST_PIS.Value = '61' then CST_PIS := stpisCredPresAquiExcRecNaoTribMercInt ;

IF DmSped.quRegF550CST_PIS.Value = '62' then CST_PIS := stpisCredPresAquiExcExcRecExportacao ;

IF DmSped.quRegF550CST_PIS.Value = '63' then CST_PIS := stpisCredPresAquiRecTribNaoTribMercInt ;

IF DmSped.quRegF550CST_PIS.Value = '64' then CST_PIS := stpisCredPresAquiRecTribMercIntEExportacao ;

IF DmSped.quRegF550CST_PIS.Value = '65' then CST_PIS := stpisCredPresAquiRecNaoTribMercIntEExportacao ;

IF DmSped.quRegF550CST_PIS.Value = '66' then CST_PIS := stpisCredPresAquiRecTribENaoTribMercIntEExportacao ;

IF DmSped.quRegF550CST_PIS.Value = '67' then CST_PIS := stpisOutrasOperacoes_CredPresumido ;

IF DmSped.quRegF550CST_PIS.Value = '70' then CST_PIS := stpisOperAquiSemDirCredito ;

IF DmSped.quRegF550CST_PIS.Value = '71' then CST_PIS := stpisOperAquiComIsensao ;

IF DmSped.quRegF550CST_PIS.Value = '72' then CST_PIS := stpisOperAquiComSuspensao ;

IF DmSped.quRegF550CST_PIS.Value = '73' then CST_PIS := stpisOperAquiAliquotaZero ;

IF DmSped.quRegF550CST_PIS.Value = '74' then CST_PIS := stpisOperAqui_SemIncidenciaContribuicao ;

IF DmSped.quRegF550CST_PIS.Value = '75' then CST_PIS := stpisOperAquiPorST ;

IF DmSped.quRegF550CST_PIS.Value = '98' then CST_PIS := stpisOutrasOperacoesEntrada ;

IF DmSped.quRegF550CST_PIS.Value = '99' then CST_PIS := stpisOutrasOperacoes ;

VL_DESC_PIS := DmSped.quRegF550VL_DESC_PIS.Value ;

VL_BC_PIS := DmSped.quRegF550BC_PIS.Value ;

ALIQ_PIS := DmSped.quRegF550ALIQ_PIS.Value ;

VL_PIS := DmSped.quRegF550VL_PIS.Value ;

IF DmSped.quRegF550CST_COFINS.Value = '01' THEN CST_COFINS := stcofinsValorAliquotaNormal ;

IF DmSped.quRegF550CST_COFINS.Value = '02' THEN CST_COFINS := stcofinsValorAliquotaDiferenciada ;

IF DmSped.quRegF550CST_COFINS.Value = '03' THEN CST_COFINS := stcofinsQtdeAliquotaUnidade ;

IF DmSped.quRegF550CST_COFINS.Value = '04' THEN CST_COFINS := stcofinsMonofaticaAliquotaZero ;

IF DmSped.quRegF550CST_COFINS.Value = '05' THEN CST_COFINS := stcofinsValorAliquotaPorST ;

IF DmSped.quRegF550CST_COFINS.Value = '06' THEN CST_COFINS := stcofinsAliquotaZero ;

IF DmSped.quRegF550CST_COFINS.Value = '07' THEN CST_COFINS := stcofinsIsentaContribuicao ;

IF DmSped.quRegF550CST_COFINS.Value = '08' THEN CST_COFINS := stcofinsSemIncidenciaContribuicao ;

IF DmSped.quRegF550CST_COFINS.Value = '09' THEN CST_COFINS := stcofinsSuspensaoContribuicao ;

IF DmSped.quRegF550CST_COFINS.Value = '49' THEN CST_COFINS := stcofinsOutrasOperacoesSaida ;

IF DmSped.quRegF550CST_COFINS.Value = '50' THEN CST_COFINS := stcofinsOperCredExcRecTribMercInt ;

IF DmSped.quRegF550CST_COFINS.Value = '51' THEN CST_COFINS := stcofinsOperCredExcRecNaoTribMercInt ;

IF DmSped.quRegF550CST_COFINS.Value = '52' THEN CST_COFINS := stcofinsOperCredExcRecExportacao ;

IF DmSped.quRegF550CST_COFINS.Value = '53' THEN CST_COFINS := stcofinsOperCredRecTribNaoTribMercInt ;

IF DmSped.quRegF550CST_COFINS.Value = '54' THEN CST_COFINS := stcofinsOperCredRecTribMercIntEExportacao ;

IF DmSped.quRegF550CST_COFINS.Value = '55' THEN CST_COFINS := stcofinsOperCredRecNaoTribMercIntEExportacao ;

IF DmSped.quRegF550CST_COFINS.Value = '56' THEN CST_COFINS := stcofinsOperCredRecTribENaoTribMercIntEExportacao ;

IF DmSped.quRegF550CST_COFINS.Value = '60' THEN CST_COFINS := stcofinsCredPresAquiExcRecTribMercInt ;

IF DmSped.quRegF550CST_COFINS.Value = '61' THEN CST_COFINS := stcofinsCredPresAquiExcRecNaoTribMercInt ;

IF DmSped.quRegF550CST_COFINS.Value = '62' THEN CST_COFINS := stcofinsCredPresAquiExcExcRecExportacao ;

IF DmSped.quRegF550CST_COFINS.Value = '63' THEN CST_COFINS := stcofinsCredPresAquiRecTribNaoTribMercInt ;

IF DmSped.quRegF550CST_COFINS.Value = '64' THEN CST_COFINS := stcofinsCredPresAquiRecTribMercIntEExportacao ;

IF DmSped.quRegF550CST_COFINS.Value = '65' THEN CST_COFINS := stcofinsCredPresAquiRecNaoTribMercIntEExportacao ;

IF DmSped.quRegF550CST_COFINS.Value = '66' THEN CST_COFINS := stcofinsCredPresAquiRecTribENaoTribMercIntEExportacao ;

IF DmSped.quRegF550CST_COFINS.Value = '67' THEN CST_COFINS := stcofinsOutrasOperacoes_CredPresumido ;

IF DmSped.quRegF550CST_COFINS.Value = '70' THEN CST_COFINS := stcofinsOperAquiSemDirCredito ;

IF DmSped.quRegF550CST_COFINS.Value = '71' THEN CST_COFINS := stcofinsOperAquiComIsensao ;

IF DmSped.quRegF550CST_COFINS.Value = '72' THEN CST_COFINS := stcofinsOperAquiComSuspensao ;

IF DmSped.quRegF550CST_COFINS.Value = '73' THEN CST_COFINS := stcofinsOperAquiAliquotaZero ;

IF DmSped.quRegF550CST_COFINS.Value = '74' THEN CST_COFINS := stcofinsOperAqui_SemIncidenciaContribuicao ;

IF DmSped.quRegF550CST_COFINS.Value = '75' THEN CST_COFINS := stcofinsOperAquiPorST ;

IF DmSped.quRegF550CST_COFINS.Value = '98' THEN CST_COFINS := stcofinsOutrasOperacoesEntrada ;

IF DmSped.quRegF550CST_COFINS.Value = '99' THEN CST_COFINS := stcofinsOutrasOperacoes ;

VL_DESC_COFINS := mSped.quRegF550VL_DESC_COFINS.Value ;

VL_BC_COFINS := DmSped.quRegF550BC_COFINS.Value ;

ALIQ_COFINS := DmSped.quRegF550ALIQ_COFINS.Value ;

VL_COFINS := DmSped.quRegF550VL_COFINS.Value ;

COD_MOD := DmSped.quRegF550COD_MOD.Value ;

CFOP := strtoint(DmSped.quRegF550CFOP.Value) ;

COD_CTA := DmSped.quRegF550COD_CTA.Value ;

INFO_COMPL := DmSped.quRegF550INFO_COMPL.Value ;

end;

DmSped.quGravaRegF550.Append;

DmSped.quGravaRegF550VL_REC_COMP.Value := DmSped.quRegF550VLR_REC_COMP.Value ;

DmSped.quGravaRegF550CST_PIS.Value := DmSped.quRegF550CST_PIS.Value ;

DmSped.quGravaRegF550VL_DESC_PIS.Value := DmSped.quRegF550VL_DESC_PIS.Value ;

DmSped.quGravaRegF550VL_BC_PIS.Value := DmSped.quRegF550BC_PIS.Value ;

DmSped.quGravaRegF550ALIQ_PIS.Value := DmSped.quRegF550ALIQ_PIS.Value ;

DmSped.quGravaRegF550VL_PIS.Value := DmSped.quRegF550VL_PIS.Value ;

DmSped.quGravaRegF550CST_COFINS.Value := DmSped.quRegF550CST_COFINS.Value ;

DmSped.quGravaRegF550VL_DESC_COFINS.Value := DmSped.quRegF550VL_DESC_COFINS.Value ;

DmSped.quGravaRegF550VL_BC_COFINS.Value := DmSped.quRegF550BC_COFINS.Value ;

DmSped.quGravaRegF550ALIQ_COFINS.Value := DmSped.quRegF550ALIQ_COFINS.Value ;

DmSped.quGravaRegF550VL_COFINS.Value := DmSped.quRegF550VL_COFINS.Value ;

DmSped.quGravaRegF550COD_MOD.Value := DmSped.quRegF550COD_MOD.Value ;

DmSped.quGravaRegF550CFOP.Value := DmSped.quRegF550CFOP.value ;

DmSped.quGravaRegF550COD_CTA.Value := DmSped.quRegF550COD_CTA.Value ;

DmSped.quGravaRegF550INFO_COMPLEMENTAR.Value := DmSped.quRegF550INFO_COMPL.Value ;

DmSped.quGravaRegF550.Post;

DmSped.quRegF550.Next;

end;

dmSped.quGravaRegF550.close;

end;

end;

end;

btnB_F.Enabled := false;

end;

Link to comment
Share on other sites

Olhei novamente não consegui enxergar erro algum no código, faça o seguinte debug vou te passar os pontos:

Unit ACBrEPCBloco_F_Class.pas

Linha 434 (veja se chega aqui)

Unit ACBrEPCBloco_F_Class.pas

Linha 1474 (veja se chega aqui)

Unit ACBrEPCBloco_F_Class.pas

Linha 1575 (veja se chega aqui, essa ultima é onde é gerada a quantidade de registros do tipo F550)

Se não passar por algum desses pontos, ai o erro pode esta no seu código, como ele foi montado.

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

  • 2 years later...
  • Membros Pro
Allan Kardec

 

Acho que consegui encontrar a solução, eu estava com o mesmo problema.

 

Identifiquei que na linha 1575, do ACBrEPCBloco_F_Class, a variavel esta sendo preenchida corretamente, porem na linha 1691 esta sendo zerada 

 

FRegistroF550Count := FRegistroF550Count + RegF010.RegistroF550.Count;

Linha 1575

 

FRegistroF550Count := FRegistroF560Count + RegF010.RegistroF560.Count;

Linha 1691 - Nesta linha, no meu caso, como o Count do bloco F560 veio zerado, ele substituiu a variavel FRegistroF550Count que já tinha sido preenchida com a quantidade de linhas correta, ficando zerado, não sendo gerada no totalizador 9900;  Sendo assim, eu ajustei a variavel FRegistroF550Count para FRegistroF560Count;

Link to comment
Share on other sites

  • Consultores

É. O tópico já tem 2 anos... :D

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

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