Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Daniel ,

Exemplo , 1-emito uma venda , 2-emito um relatório gerencial , 3-tento cancelar o cupom , ele me retorna um Raise impossibilitando o cancelamento .

Resultado , Tive que implementar ( Estado <> estLivre ) :

procedure TACBrECFVirtualClass.CancelaCupom;
Var
  A : Integer ;
begin
  if ((fpItensCupom.Count = 0) and (Estado <> estVenda) and (Estado <> estLivre))  and
     ((fpCNFCupom.Count   = 0) and (Estado <> estNaoFiscal) ) then
    raise EACBrECFERRO.Create(ACBrStr('Último Documento não é Cupom')) ;

.....

  • Curtir 1
  • Fundadores
Postado

A modificação proposta em TACBrECFVirtualClass modificaria o comportamento de TODOS os ECFs Virtuais...

Fiz uma refatoração, introduzindo um novo método para poder sobrescrever apenas essa verificação nas classes filhas..

Modificação já envia para o Trunk2

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

Postado

Daniel , bacana ,

Uma outra coisa interessante para o Virtual seria na criação do objeto ACBrECFVirtual... ele alterasse a Flag Estado da chave [Variaveis] do ini sempre para 0 , porque quando a AC cai em um relatório gerencial ele fica o Estado = 5 por exemplo , quando sobe a aplicação em Virtual não nescessita deste Estado ao abrir a AC ja que existem testes de cancelamento de cupom , Redução-Z dependendo do Estado .

Ini.WriteInteger( 'Variaveis' , 'Estado' , 0 ); // No create do objeto Virtual .

Oque acha disso ?

 

 

Postado

Um outro bug utilizando Virtual SAT.

Faço uma venda e cancelo blz . (Com a AC Aberta)  "Lógico" , vou explicar porque do Lógico .

Faço outra venda e tento cancelar novamente (Com a AC Aberta)  ele pega a chave anterior ja cancelada não a do último cupom vendido .

 

function TACBrSAT.CancelarUltimaVenda: String ;
var
  dadosCancelamento : string;
begin
  if CFeCanc.infCFe.chCanc = '' then
     CFe2CFeCanc;

  dadosCancelamento := CFeCanc.GerarXML( true ); // True = Gera apenas as TAGs da aplicação

  Result := CancelarUltimaVenda( CFeCanc.infCFe.chCanc, dadosCancelamento); 
end ;

 

"Porque do Lógico" Se eu fechar fazer o procedimento fechando a AC a cada teste assim :

Vendo e Cancelo e Fecho a AC , Vendo e Cancelo Fecho a AC Vendo e Cancelo Fecho a AC , funciona , somente com a AC Aberta o componente pega a penúltima chave ja cancelada .

 

Erro.thumb.JPG.c8b7468e9bb46f4041bdb5a0a

Erro.JPG

Postado

Daniel bom dia ,

Fiz a atualização hj SVN (estou utilizando somente trunk2)  , acho que isso até o pessoal que não utiliza ACBrECFVirtualSat talvez esta com problema , ja expliquei acima , na verdade somente comentar uma linha resolve dentro do procedimento explicado no post acima :

 

function TACBrSAT.CancelarUltimaVenda: String ;
var
  dadosCancelamento : string;
begin
//  if CFeCanc.infCFe.chCanc = '' then
     CFe2CFeCanc; // Atualiza a chave do CFe para a última atica do componente e tbm demais campos do objeto .

  dadosCancelamento := CFeCanc.GerarXML( true ); // True = Gera apenas as TAGs da aplicação

  Result := CancelarUltimaVenda( CFeCanc.infCFe.chCanc, dadosCancelamento);
end ;

 

 

Erro.thumb.JPG.13a8366765be3a64397cf2f6d

  • Fundadores
Postado

Daniel , bacana ,

Uma outra coisa interessante para o Virtual seria na criação do objeto ACBrECFVirtual... ele alterasse a Flag Estado da chave [Variaveis] do ini sempre para 0 , porque quando a AC cai em um relatório gerencial ele fica o Estado = 5 por exemplo , quando sobe a aplicação em Virtual não nescessita deste Estado ao abrir a AC ja que existem testes de cancelamento de cupom , Redução-Z dependendo do Estado .

Ini.WriteInteger( 'Variaveis' , 'Estado' , 0 ); // No create do objeto Virtual .

Oque acha disso ?

Acho que isso iria descaracterizar o conceito de ECFVirtual... a aplicação deixaria de se comportar como se estivesse falando com um ECF...

Mas todos os "Virtuais" possuem o evento "QuandoGravarArqINI" e "QuandoLerrArqINI"... isso permite que a sua aplicação manipule o conteúdo do .INI de acordo com as suas regras de negócios...

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.

  • Fundadores
Postado

Em relação ao cancelamento... por favor crie um novo tópico, caso contrário fica difícil manter o histórico do que já foi resolvido...

A sua solução proposta pode corrigir o Bug de já existir um CFeCanc carregado na memória... mas por favor abra um novo tópico e anexe os fontes modificados para analise...

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.

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