Ir para conteúdo
  • Cadastre-se

Scheila Dornelles

Membros
  • Total de ítens

    28
  • Registro em

  • Última visita

Posts postados por Scheila Dornelles

  1. Então, mas ao executar LerArqIni ele vai ler o valor que já foi atualizado no passo anterior, visto que o subtotaliza é executado sem erros. Só os valores da venda do item são retornados e não os subtotais: 

    procedure TACBrECFVirtualClass.SubtotalizaCupom(DescontoAcrescimo: Double;
           MensagemRodape : AnsiString );
    var
      ValorTotal: Double;
      PosAliqItem, I: Integer;
    begin
      GravaLog( ComandoLOG );

      if not (Estado in [estVenda, estNaoFiscal]) then
        raise EACBrECFERRO.create(ACBrStr('O Estado nao é "VENDA" Cupom não Aberto')) ;

      if SubTotal <= 0 then
        raise EACBrECFERRO.create(ACBrStr('Nenhum Item foi vendido ainda')) ;

      try
        { Essa atribuição irá recomputar o total por aliquota, considerando o Rateio
          desse Desconto / Acrescimo, nos totais por aliquota do Cupom.
          Veja "TACBrECFVirtualClassCupom.SetDescAcresSubtotal" }
        fpCupom.DescAcresSubtotal := DescontoAcrescimo;

        fpEstado := estPagamento ;

        if (DescontoAcrescimo < 0) then
        begin
          fpTotalDescontosICMS  := fpTotalDescontosICMS  - fpCupom.DescAcresSubtotalICMS;
          fpTotalDescontosISSQN := fpTotalDescontosISSQN - fpCupom.DescAcresSubtotalISSQN;
        end
        else
        begin
          fpTotalAcrescimosICMS  := fpTotalAcrescimosICMS  + fpCupom.DescAcresSubtotalICMS;
          fpTotalAcrescimosISSQN := fpTotalAcrescimosISSQN + fpCupom.DescAcresSubtotalISSQN;

          { Se for Acréscimo, deve somar em GT e Venda Bruta }
          fpVendaBruta  := fpVendaBruta  + DescontoAcrescimo;
          fpGrandeTotal := fpGrandeTotal + DescontoAcrescimo;
        end;

        { Recomputando Total Diário das Aliquotas. Lista fpCupom.Aliquotas,
          contem o total por Aliquota do Cupom, já considerando se o rateio de
          Desconto e Acrescimo no SubTotal }
        if fpCupom.Aliquotas.Count > 0 then
        begin
          { Primeiro, vamos remover o ValorTotal por Item, que já havia sido
            adicionado em "VendeItem"; }
          For I := 0 to fpCupom.Itens.Count-1 do
          begin
            with fpCupom.Itens do
            begin
              ValorTotal := TotalLiquido;
              PosAliqItem:= AliqPos;
            end;

            with fpAliquotas[ PosAliqItem ] do
              Total := max(Total - ValorTotal, 0) ;
          end;

          { Agora, vamos adicionar o total computado por aliquota usada no cupom.
            Essa lista já contem o rateio do Desconto/Acrescimo dessa operação }
          for I := 0 to fpCupom.Aliquotas.Count-1 do
          begin
            with fpCupom.Aliquotas do
            begin
              ValorTotal := TotalLiquido;
              PosAliqItem:= AliqPos;
            end;

            with fpAliquotas[ PosAliqItem ] do
              Total := max(Total + ValorTotal, 0) ;
          end;
        end;

        SubtotalizaCupomVirtual( MensagemRodape );

        GravaArqINI ;   - - - > aqui atualiza o valor do fpTotalDescontosICMS   por exemplo, sem erros 
      except
        LeArqINI ;
        raise;
      end ;
    end;

    • Curtir 1
  2. Bom dia,

    Utilizo o ACBrECFVirtual para realizar as operações do SAT. Encontrei divergência no valor relacionado aos descontos totais  ( fpTotalDescontosICMS da unit ACBrECFVirtual ) quando da emissão do relatório da Redução Z para a seguinte situação: 

    - Rejeição do CFe SAT: por exemplo ao informar um valor de cpf inválido 00.000.000/0000-00.

    Ao realizar debug, verifiquei que o campo fpTotalDescontosICMS é atualizado ao subtotalizar o cupom  (TACBrECFVirtualClass.SubtotalizaCupom), onde o arquivo .ini é atualizado,  e somente posteriormente a este passo, será chamada a rotina em TACBrECFVirtualSATClass.FechaCupomVirtual. Se houver 3 rejeições seguidas para o mesmo CFe, então o valor do desconto será acrescentado 3x no campo de desconto total, fazendo que ao ser emitido o relatório da Z, o valor líquido das vendas do dia esteja incorreto. 

    Gostaria de saber como posso proceder neste caso, devo implementar no evento OnErrorFechaCupom para ajustar os valores dos totalizadores do arquivo Ini ? Ou poderia ser alterado o momento da gravação dos campos totais do arquivo ini somente após a efetivação da operação? Alguma sugestão para a correção a ser realizada?

     

    Att.

    Scheila H. Dorneles

     

     

  3. Não consegui verificar exatamente porque ele acaba caindo no raise 'Erro ao obter Dados da Redução Z',  pois não consegui debugar propriamente, não tenho esse ecf para desenvolvimento o que dificulta pra mim. Talvez  EscECFResposta.TBR seja zerada em algum momento pelo ecf,  ou talvez algum campo em específico não retornou corretamente o resultado invalidando o conjunto todo de informações. Não sei, pode ser que tenha algo mais influenciando, e acabou estourando ali, o que eu consegui testar foi uma versão com o loop e uma versão sem, pois de acordo com as alterações realizadas na unit na revisão alteração nessa função teria sido só essa. Na versão sem o loop o comportamento era normal, retornando os dados corretamente e com o loop gerava a exceção. E só com esse modelo, com outras marcas não ocorre a exceção. 

    • Curtir 1
  4. Boa tarde, 

    Estou utilizando versão 4.9 da dll, mesma versão disponibilizada na pasta de dll pelo ACBr. É interessante que funcionava muito bem até a revisão que eu citei, com a porta USB. Fiz um teste na função GetDadosUltimaReducaoZ da ACBrECFEscECF, onde foi alterado o trecho adicionando número de tentativas para  a mensagem de erro. Não consigo debugar melhor para apontar exatamente a causa, pois o ecf está no cliente, mas deu pra checar que no formato antigo conseguia receber a resposta do ECF. 

    De:

    RetornaInfoECF( '17|'+IntToStr(ECFCRZ) ) ;
      // DEBUG
      //WriteToTXT('C:\TEMP\REDZ.TXT', EscECFResposta.Params.Text, False, False);
      if (UpperCase(copy(EscECFResposta.Params.Text, 0, 5)) = 'ERRO:')  then
        raise EACBrECFERRO.Create(ACBrStr(EscECFResposta.Params.Text)) ;

    Para: 

    Tentativas := 0;
      repeat
        RetornaInfoECF( '17|'+IntToStr(ECFCRZ) ) ;
        // DEBUG
        //WriteToTXT('C:\TEMP\REDZ.TXT', EscECFResposta.Params.Text, False, False);
        if (UpperCase(copy(EscECFResposta.Params.Text, 0, 5)) = 'ERRO:')  then
          raise EACBrECFERRO.Create(ACBrStr(EscECFResposta.Params.Text)) ;
        Inc( Tentativas );
      until (EscECFResposta.TBR > 0) or (Tentativas > 2);

      if (EscECFResposta.TBR = 0) then
        raise EACBrECFERRO.Create(ACBrStr('Erro ao obter Dados da Redução Z: '+IntToStr(ECFCRZ))) ;

    Vou testar o driver sugerido e verificar se há alguma alteração.

    Att,

    Scheila

  5. Bom dia, 

    Após atualização recente dos fontes, começamos a obter erro na função que retorna os dados da redução Z  para impressoras Epson T900F. Fiz o teste da função com uma Bematech 4200 FI II e uma Daruma e ambas trouxeram corretamente os dados da última redução, sendo um problema retornado apenas pelo modelo da Epson. Gostaria de saber se alguém teve um problema similar com esse modelo de ECF. Fiz o teste pelo ECF Teste(Variáveis > Mapa Resumo > Dados da última Redução Z) , apenas acionado a função. Verifiquei também que o erro é apresentado a partir da revisão 14219 de 30/11 na unit ACBrECFEscECF. Em anexo log gerado pelo ECF.

    Desde já agradeço por possíveis sugestões para solução do problema,

    Att.

    Scheila

     

    acbrlog.txt

  6. Eu pelo menos verifico semanalmente e no momento que tive o problema no início da semana passada não havia nada nem no svn e nem em discussão aqui, pelo menos não o meu problema exatamente. Por questão de urgência acabamos encontrando esse meio de ter os componentes funcionando concomitantemente, mas ótimo saber que já está disponível a correção. 

  7. Bom, você não disse em que situação ou qual tipo de relatório está usando, mas se estiver usando fast, eu tive um problema parecido quando há mais de um componente de impressão acbr em fast na mesma tela (como a impressão da Nf-e por exemplo), ou data module (como era o meu caso). A simples existência deles na mesma unit é conflituosa. Resolvi mantendo os componentes separadamente. 

  8. Olá, 

    Ciga não tem nem webService disponibilizado ainda, pelo que parece está em contrução. Entrei em contato com setor de desenvolvimento deles e por enquanto não oferecem nenhuma ferramenta para integração. O que estou desenvolvendo para o meu cliente é que a importação do arquivo xml da nfse emitida pelo sistema deles. Por enquanto resta aguardar.

     

  9. Limpo sim, mas  tenho um procedimento separado apenas para configurar o componente, pois são chamados em momentos diferentes. Então penso que não deveria ser problema de configuração, pois ao reimprimir a danfse chamo este procedimento para configuração do componente (que é o mesmo do procedimento enviar) e em seguida carrego o xml usando AcbrNfse.NotasFiscais.LoadFromFile(Filename). Ao debugar, verifiquei que está recebendo os dados do xml, porém traz somente alguns dados para a tela. 

  10. Agora estou imprimindo mas estou com outro probleminha heheh, quando envio já realizo a impressão, até ai tudo certo.

    Porém ao tentar reimprimir, a danfe é visualizada com os campos em branco, e apenas nro do rps a data de emissão, código de verificação e outras informações preenchidos. Alguém já passou por isto? O que posso estar fazendo de errado?

     

    Segue xml em anexo que retorna na pasta Nfse.  

     

    4214100958130900019756000000065-nfse.xml

  11. Boa tarde

     

    Estou com o mesmo problema, e também já segui as orientações que consegui encontrar aqui, sem sucesso.

    Separei os componentes em um DM só para NFSe, reinstalei os componentes com os fontes atualizados, deixei um componente frxReport  no mesmo form onde chamo o procedimento imprimir....

    O detalhe é que no demo a impressão é realizada normalmente, porém na minha aplicação continuo recebendo o erro "cdsParametros: Missing data provider or data packet".  Realizei um debug tanto no demo quanto na minha aplicação, e são carregados na minha aplicação apenas os campos relacionados ao serviço e ao prestador. 

     

    Mais alguma idéia do que possa ser? 

  12. Olá, estou com uma dúvida com relação à Devolução de cupom na versão 3.1 (não NFC-e) , como deveria proceder para informar que a nota de devolução se refere a um cupom fiscal? Pois se informar a tag  refNFe irá validar a chave de acesso, e nesta versão está sendo exigido o preenchimento da referência. 

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

The popup will be closed in 10 segundos...