Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado
Olá pessoal,
Blz?
 
Estou com um problema, vamos ver se alguem consegue me ajudar.
 
Estou gerando o arquivo do "Ato COTEPE/ICMS nº 35 de 05/07/2005" (Arquivo somente para o DF, Requisito X).
 
Abaixo estão duas linhas que estou gerando usando o ACBrLFD.
 
Bloco A020
|A020|1|0|1|03|0|00015|1|12101926|31102013|0000|5300108||31121899|0|||31121899||||31121899|30121899||||
 
Bloco A300
|A300|30231347820||3A|00|00015|1|000000009782|31102013|9101|1,00|0,00|1,00|0,00|0,00|1,00|0,05||
 
 
O Bloco A300 acima está perfeito, agora o A020 tem campo que estão se comportando diferente, alterando os valores.
 
Ex: O valor do Serviço (VL_SERV) é de 1,00. No A300 está certo, agora no A020 o valor fica doido.
 
A300: 1,00
A020: 31121899
 
Obs.: Os dois são alimentados pela mesma query, do mesmo bd, da mesma tabela e banco.
 
Alguém já passou por este problema? O que o cabeçudo aqui fez de errado?
 
Obrigado,
 
Júlio

Júlio Cézar Mendonça

Connection System

Desenvolvimento de Sistemas e Consultoria em TI

www.connectionsystem.com.br

[email protected]

Postado

Gente, percebi que mesmo que colocar o valor de 1, na mão, ocorre a mesma coisa.

 

      while not(Bdados.qryNFE.Eof) do
      begin
        with RegistroA020New do
        begin
          DT_INI       := vDataIni;
          DT_FIN       := vDataFim;
          IND_OPER     := tplSaidaPrestacao;
          IND_EMIT     := edlEmissaoPropria;
          COD_PART     := Trim(Bdados.qryNFE.FieldByName('CLIENTE').AsString);
          COD_MOD      := '03';  //4.1.2- Tabela Documentos Fiscais do ISS
          COD_SIT      := sdlRegular;
          SER          := Trim(Bdados.qryNFE.FieldByName('SERIE').AsString);
          SUB          := '1';
          NUM_DOC      := StrToInt(Bdados.qryNFE.FieldByName('NUMERO').AsString);
          DT_DOC       := Bdados.qryNFE.FieldByName('DATA').AsDateTime;
          COD_MUN_SERV := 5300108;
          COD_NAT      := '';
          VL_DOC       := 1;//Bdados.qryNFE.FieldByName('TOTALBR').AsCurrency;
          IND_PGTO     := tplVista;
          VL_SUB       := 0;
          VL_DESC      := 0;
          VL_SERV      := 1;//Bdados.qryNFE.FieldByName('TOTALBR').AsCurrency;
          VL_MAT_PROP  := 0;
          VL_MAT_TERC  := 0;
          VL_DA        := 0;
          VL_BC_ISS    := 1;//Bdados.qryNFE.FieldByName('TOTALBR').AsCurrency;
          VL_ISS       := 0;//((Bdados.qryNFE.FieldByName('TOTALBR').AsCurrency * Bdados.qryNFE.FieldByName('ALIQUOTA').AsCurrency)/100);
          VL_BC_RT_ISS := 0;
          VL_RT_ISS    := 0;
          COD_INF_OBS  := '';
        end;
        BDados.qryNFE.Next;
      end
 
Bug´s ou cagada minha?

Júlio Cézar Mendonça

Connection System

Desenvolvimento de Sistemas e Consultoria em TI

www.connectionsystem.com.br

[email protected]

  • Moderadores
Postado

Está atualizado seus fontes?

no campos DT_DOC está informando uma data válida ou passando valor nulo?

vejamos abaixo o código que gera pelo meu ver está correto

  Add( LFill('A020') +
                 LFill(Integer(IND_OPER),1) +
                 LFill(Integer(IND_EMIT),1) +
                 LFill(COD_PART) +
                 LFill(COD_MOD)  +
                 LFill(Integer(COD_SIT),1) +
                 LFill(SER) +
                 LFill(SUB) +
                 LFill(NUM_DOC) +
                 LFill(DT_DOC) +
                 LFill(COP,4) +
                 LFill(COD_MUN_SERV,7) +
                 LFill(COD_NAT) +
                 LFill(VL       _DOC) +
                 LFill(integer(IND_PGTO),1 )+
                 LFill(VL_SUB) +
                 LFill(VL_DESC) +
                 LFill(VL_SERV) +
                 LFill(VL_MAT_PROP) +
                 LFill(VL_MAT_TERC) +
                 LFill(VL_DA) +
                 LFill(VL_BC_ISS) +
                 LFill(VL_ISS) +
                 LFill(VL_BC_RT_ISS) +
                 LFill(VL_RT_ISS) +
                 LFill(COD_INF_OBS) );         

somente se estiver passando informação errada!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

Oi Juliomar,
 
Está tudo atualizado.
 
Estou alimentando na mão e ocorre o mesmo.
 
|A020|1|0|1|03|0|1|1|31121899|31102013|0000|0000000||04011900|0|||04011900||||04011900|||||

 

        with RegistroA020New do
        begin
          DT_INI       := Date; 
          DT_FIN       := Date; 
          IND_OPER     := tplSaidaPrestacao;
          IND_EMIT     := edlEmissaoPropria;
          COD_PART     := '1';
          COD_MOD      := '03'; 
          COD_SIT      := sdlRegular;
          SER          := '1';
          SUB          := '1';
          NUM_DOC      := 1;
          DT_DOC       := Date;
          COD_MUN_SERV := 0;
          COD_NAT      := '';
          VL_DOC       := 5;
          IND_PGTO     := tplVista;
          VL_SUB       := 0;
          VL_DESC      := 0;
          VL_SERV      := 5;
          VL_MAT_PROP  := 0;
          VL_MAT_TERC  := 0;
          VL_DA        := 0;
          VL_BC_ISS    := 5;
          VL_ISS       := 0;
          VL_BC_RT_ISS := 0;
          VL_RT_ISS    := 0;
          COD_INF_OBS  := '';
        end;

Júlio Cézar Mendonça

Connection System

Desenvolvimento de Sistemas e Consultoria em TI

www.connectionsystem.com.br

[email protected]

Postado

Pessoal, percebi que os campos VL_DOC,  VL_BC_ISS,  VL_SERV  estão entendendo os valores como data.

Se passo "Date" em vez de "5" (como no código acima), os valores são preenchidos com a data atual.

 

Já atualizei os fontes e nada.

 

Alguem pode me ajudar ou fazer um teste para ver se é o meu Delphi ou algo errado no código acima?    

 

Vlw 

Júlio Cézar Mendonça

Connection System

Desenvolvimento de Sistemas e Consultoria em TI

www.connectionsystem.com.br

[email protected]

Postado

Não sei o porque, mas....

Entrei na classe do componente e alterei os valores Currency para String, fazer um teste.

E o resultado é que agora os valores vão corretos

 

|A020|1|0|1|03|0|00015||12101926|31102013|0000|0000000||1,00|0|0|0|1,00|0|0|0|1,00|0,05|0|0||

 

Vai entender, se alguém souber de algo dá um toque.

 

 

Valores do objetos alterados

    FCOD_NAT: String;
    FIND_OPER: TACBrlTipoOperacao; /// Indicador do tipo de operação
    FIND_EMIT: TACBrlEmitente; /// Indicador do emitente do documento fiscal
    FCOD_PART: String; /// Código do participante (campo 02 do Registro 0150)
    FCOD_MUN_SERV: Integer; /// Código do município onde o serviço foi prestado
    FCOD_MOD: String; /// Código do modelo do documento fiscal
    FCOD_SIT: TACBrlSituacaoDocto; /// Código da situação do documento fiscal
    FSER: String; /// Série do documento fiscal
    FSUB: String; /// Subsérie do documento fiscal
    FNUM_DOC: Integer; /// Número do documento fiscal
    FDT_DOC: TDateTime; /// Data da emissão do documento fiscal
    FCOP: String; // Código da classe da prestação
    FIND_PGTO: TACBrlTipoPagamento; /// Indicador do tipo de pagamento
    FVL_DOC: String; /// Valor total do documento fiscal
    FVL_DESC: String; /// Valor total do desconto
    FVL_ACMO: String; /// Valor dos acréscimos
    FVL_SERV: String; /// Valor total dos serviços prestados
    FVL_MAT_PROP: String; /// Valor do material próprio utilizado na prestação do serviço
    FVL_MAT_TERC: String; /// Valor do material de terceiros utilizado na prestação do serviço
    FVL_SUB: String; /// Valor subcontratado
    FVL_DA: String; /// Valor de outras despesas acessórias
    FVL_OP_ICMS: String; /// Valor das operações tributadas pelo ICMS
    FVL_BC_ISS: String; /// Valor da base de cálculo do ISS
    FVL_ISS: String; /// Valor do ISS
    FVL_BC_RT_ISS: String; /// Valor da base de cálculo de retenção do ISS
    FVL_RT_ISS: String; /// Valor do ISS retido pelo tomador
    FCOD_INF_OBS: String; /// Código de referência à informação complementar

Júlio Cézar Mendonça

Connection System

Desenvolvimento de Sistemas e Consultoria em TI

www.connectionsystem.com.br

[email protected]

  • Consultores
Postado

Você não precisa fazer essa alteração de tipos. Esse problema de registros serem mostrados em formato de data já aconteceu várias vezes nos registros do SPED, A alteração necessária é adicionar o segundo parâmetro da função LFill (ou RFill).

[]'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.
  • Consultores
Postado

Ok. Mas continua sendo necessário corrigir o fonte do SPED...

[]'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.
  • Consultores
Postado

Não estou dizendo no seu código. Estou dizendo no SVN. :-|

[]'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.
  • 7 meses depois ...
  • Consultores
Postado

#SéculosDepois :P

 

Subi suas alterações para o SVN na Revisão  7062.
Pelo que vi está tudo certo.
Favor testar e reportar qualquer problema.
Obrigado.

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