Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

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

  • Consultores
Postado

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

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

  • Consultores
Postado

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

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

  • Consultores
Postado

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

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?

Postado

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

  • Consultores
Postado

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