Jump to content

dev botao

DT_INI e DT_FIN nos registro 0000 e 0205


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

Recommended Posts

Os registro 0000 e 0205 tem dois campos em comum: DT_INI e DT_FIN.

Vamos supor que eu estou gerando o SPED PIS/COFINS do mes de outubro/2010, então eu preencho esses dois campos com '01/10/2011' e '31/10/2011' respectivamente. Caso meu arquivo nao tenha nenhum registro 0205 que compreenda o campo DT_FIN neste periodo, ou seja, nao tenho nenhum registro 0205 para informar, esses campos, no registro 0000, serao preenchidos corretamente, com '01/10/2011' e '31/10/2011'.

Mas se eu definir um ou mais registro 0205, o problema acontece...

Para qualquer registro 0205, o componente define para os campos DT_INI e DT_FIN, '01/10/2011' e '31/10/2011', e as datas do ultimo registro 0205, o componente define para os campos do registro 0000.

Agradeço se puderem me ajudar...

Link to comment
Share on other sites

  • Consultores

E como deveria ser? Não entendi o problema...

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

No registro 0205, nao esta gravando no arquivo os valores definidos para os campos DT_INI e DT_FIN que realmente deveria... ao invés disso, grava em todos os registros 0205 do arquivo, a data inicial e final da apuracao, DT_INI e DT_FIN do registro 0000 (conforme exemplo acima, ta gravando '01.10.2011' e '31.10.2011' para todos os registros 0205 do arquivo).

Nos campos DT_INI e DT_FIN do registro 0000, ao inves de gravar '01.10.2011' e '31.10.2011', que é os valores definidos, o valor gravado nos campos é a data inicial e final do ultimo registro 0205 do arquivo.

Isso apenas contece se no arquivo existir algum registro 0205, senao nao acontece o problema...

Link to comment
Share on other sites

  • Consultores

Não entendi como é que ele pega a data do 0205 se no registro 0205 nem te possibilita colocar data...

veja: viewtopic.php?f=23&t=3230&p=15042&hilit=0205#p15042

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

Veja o arquivo...

As datas preenchidas nos registros 0205 são todas '01.10.2011' e '31.10.2011', e a data inicial e final do registro 0000, preencheu com '08.12.2010' e '25.10.2011', que é a data inicial e final do ultimo registro 0205 do arquivo...

Tambem nao entendi como isso acontece, pois debugando, no metodo "WriteRegistro0000", o valor esta correto paras os campos DT_INI e DT_FIN do registro 0000, mas no arquivo nao salva os mesmos valores. Ja conferi varias vezes, os valores que defino para as propriedades de ambas as classes, estão corretos, porém, os valores salvos no arquivo, não.

arquivo.txt

Link to comment
Share on other sites

  • Consultores

Sim eu entendi o erro. Mas não tem como você conseguir passar as datas do registro 0205. Não existe propriedade DT_INI e DT_FIN no 0205. Você está confundindo as propriedades TACBrSPEDPISConfins.DT_INI e TACBrSPEDPISConfins.DT_FIN com TRegistro0205.DT_INI e TRegistro0205.DT_FIM. Veja o tópico que citei acima.

Repito, essas duas últimas não estão implementadas.

O que provavelmente está acontecendo é que para cada registro 0205 você está alterando as datas do componente e não do Registro0205. :idea:

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

Entendi...

a forma que eu estou implementando é a mesma que na implementacao do SPED Fiscal (ICMS/IPI)


  with ACBrSpedPisCofins.Bloco_0 do begin

    with Registro0000New do begin

      with Registro0001New do begin

        with Registro0140New do begin

          with Registro0200New do begin

            with Registro0205New do begin

              DESCR_ANT_ITEM := objSpedFiscalDados.QrySpedPC_0205.FindField('DESCRICAO_ANTERIOR').AsString;

              DT_INI         := objSpedFiscalDados.QrySpedPC_0205.FindField('DATA_INICIAL_USO').AsDateTime;

              DT_FIN         := objSpedFiscalDados.QrySpedPC_0205.FindField('DATA_FINAL_USO').AsDateTime;

              COD_ANT_ITEM   := objSpedFiscalDados.QrySpedPC_0205.FindField('CODIGO_ANTERIOR_ITEM').AsString;

            end;

          end;

        end;

      end;

    end;

  end;

essa é a hierarquia dos meus fontes, claro, depois do with de cada classe eu defino primeiro os campos do determinado registro... como nao tenho os campos da data nesta classe, o delphi entende que é as propriedades do "with" do registro 0000. Como devo proceder então para preencher os campos do registro 0205?

Link to comment
Share on other sites

  • Consultores

Para resolver o problema, teria que descomentar a declaracao das variaveis e property da classe "TRegistro0205", porém, a declaraçao para a data final esta "DT_FIM" e no metodo "WriteRegistro0205", esta adicionando "DT_FIN".

Acredito que sim.

[]'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á 4695 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.

The popup will be closed in 10 seconds...