Ir para conteúdo
  • Cadastre-se

dev botao

Valores De Venda Bruta E Venda Liquida Ecf Bematech


Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 4395 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Moderadores
Postado

Bom dia!

 

Estou realizando uns testes de controle de emissão de ReduçãoZ e posterior gravação no banco. Estou utilizando os emuladores da Sweda e da Bematech. Essas reduções que estou gravando não tem nenhuma movimentação fiscal, então os valores de venda bruta e liquida estão zerados. Da redução da Sweda, os dois campos citados estão retornando zerado, como tem que ser. Já da Bematech, eles estão vindo com o valor de "-1".

 

Só para orientação: Estou utilizando o ACBrECF.DadosDaUltimaReducaoZ e o ACBrECF.DadosReducaoZClass.

 

Aproveitando o momento, nos totalizadores não fiscais,  utilizo o seguinte código para pegar SUPRIMENTO e SANGRIA:

 

for i := 0 to TotalizadoresNaoFiscais.Count - 1 do
  begin
    if UpperCase(TotalizadoresNaoFiscais.Objects[i].Descricao) = 'SANGRIA' then
      ParamByName('RED_VL_SANGRIA').AsCurrency      := TotalizadoresNaoFiscais.Objects[i].Total;
     if UpperCase(TotalizadoresNaoFiscais.Objects[i].Descricao) = 'SUPRIMENTO' then
      ParamByName('RED_VL_SUPRIMENTO').AsCurrency   := TotalizadoresNaoFiscais.Objects[i].Total;
  end;

Utilizando ECF Bematech, consigo retornar os valores certinhos. Já com a Sweda não consigo.

 

Grato

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

  • Fundadores
  • Solution
Postado

Nem todos os Modelos retornam todos os registradores em DadosUltimaReduçãoZ

 

Vc deve chamar DadosReduçãoZ instantes antes de emitir a Redução Z

 

Eu uso as duas, DadosReduçãoZ  (anrtes da Z ) e DadosUltimaReduçãoZ (depois da Z) fazendo um merge de ambas

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Moderadores
Postado

Pelo que vejo daniel o DadosReducaoZ a primeira vista é bem melhor do que o DadosUltimaReducaoZ. Você chegou a ver o exemplo que o regys disponibilizou hoje?

no dele veio DadosUltimaReducaoZ. Aí modifiquei para DadosReducaoZ e retornou tudo que eu precisava com excessão do coo inicial, mas que pode ser facilmente tratado.

 

Aí, me pergunto. Que merge de informações você realiza?

 

Obrigado desde já

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

  • Moderadores
Postado

Se você chamar DadosReducaoZ logo antes de enviar o comando em um dia normal de funcionamento ele retorna tudo blza, mas se chama-lo por exemplo antes de uma Z pendente a não ser os contadores e GT o restante vira tudo zerado porque a impressora já virou o dia, isso acontece porque DadosReducaoZ retorna os dados do momento, diferente de DadosUltimaReducaoZ que retorna realmente os dados da última redução Z e por isso que ele deve ser chamado depois.

 

Quanto ao merge, seria comparar todas as informações e complementar com o que não tiver vindo, por exemplo Troco, se o modelo de impressora não retorna-lo o DadosUltimaReducaoZClass vai retornar -1 que significa que o dado não existe ou não pode ser lido, isso vale para todas as propriedades que possuem valores.

  • Curtir 1

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • Moderadores
Postado

entendi Regys. Então posso retornar o status atual do ecf para verificar essa questão uai. Se for estLivre (dia normal) utilizo o DadosReducaoZ e depois dou o ACBr.ReducaoZ. Agora, se o status for estRequerZ, posso dar o ACBr.ReducaoZ e depois utilizar o DadosUltimaReducaoZ. Daria certo também. O que acha? Ou a comparação seria o caminho mais confiável?

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

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

The popup will be closed in 10 segundos...