Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Senhores,

Um cliente trabalha com uma moeda chamada carteira, que ao ser utilizada na venda, esse valor será pago depois (outro dia), com isso ele deseja fazer uma transacao TEF para fazer esse pagamento e agora ?

Procurei em varios foruns e conseguir muito pouca coisa sobre isso! achei alguma coisa chamada "Recebimento Não Fiscal", porem nessas novas impressoras (termicas) um recebimento vinculado só pode ser aberto em cima de um cupom fiscal (pelo menos foi o que eu entendi procurando por ai) e a solução seria abrir um relatorio gerencial.

Rotina que eu pensei:

ECF.AbreGerencial;

TEF.CRT(Valor, FormPag, CCO);

ECF.FechaRelatorio;

TEF.ImprimirTransacoesPendentes;

Será que essa logica está correta ? é possivel/legal fazer isso ?

Fiz umas implementacoes e conseguir fazer isso, posso até posta para melhor analise, mais preciso saber se esse procedimento é correto e se é algo legal (na lei)!

Grato,

  • Consultores
Postado

André,

Será que um bom e simples exemplo no DEMO do ACBrECF seria o NaoFiscalCompleto ou o não pois o cupom Não Fiscal deveria estar aberto antes?

[]'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

Já tentei utilizar esse comando NaoFiscalCompleto, porem ele precisa de um numero do CNF, que no caso eu não tenho já o cliente fez essa compra anteriormente e não estou abrindo um novo cupom.

Será que fazer pelo relatorio gerencial pode ser ?

  • Moderadores
Postado

Vc precisa programar um comprovante não fiscal e depois passar o índice do CNF(Comprovante Não Fiscal). CNF não tem nada a ver com compra efetuada anteriormente.

Estude o demo para ver como cadastrar o comprovante não fiscal e como efetuar um não fiscal completo.

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
Postado

Desculpa qq colocação absurda que tenha falado sobre CNF, pois não sabia que podia abrir um cupom não fiscal (rsrsrs :( )

Fiz o seguinte teste: Utilizando o TAcbrECF e o TAcbrTefD

ACBrTEF.MultiplosCartoes := False;

ACBrTEF.AutoEfetuarPagamento := False;

ACBrTEF.AutoFinalizarCupom := False;

ACBrECF.AbreNaoFiscal;

ACBrECF.RegistraItemNaoFiscal('03', 5, ''); // 03 indice cnf (recebimento da minha ecf) -- 5 é o valor

ACBrECF.SubtotalizaNaoFiscal;

// chama o pagamento via cartao do tef na moeda 04 no valor de 5 reais

if ACBrTEF.CRT( 5, '04', dmECF.ACBrECF.NumCOO ) then

begin

ACBrECF.EfetuaPagamentoNaoFiscal('04', 5); // efetua o pagamento nao fiscal com moeda 04 no valor de 5 reais

ACBrECF.FechaNaoFiscal; // fecha o cupom nao fiscal

ACBrTEF.ImprimirTransacoesPendentes; // imprimi as transacoes tef no vinculado

end

else

dmECF.ACBrECF.CancelaNaoFiscal; // cancela o cnf caso nao consiga fazer a transacao tef!!

agora tive que fazer uma modificação na parte do componente TAcbrTefD pois ele não conta com essa questão de recebimento não fiscal, fiz uma modificação simples (pode ser que precise fazer uma modicacao mais profunda para funcionar esses parametros MultiplosCartoes,AutoEfetuarPagamento,AutoFinalizarCupom, pois testei sem eles!!)

Unit:

ACBrTEFD

function TACBrTEFD.EstadoECF : AnsiChar;

Var

Retorno : String ;

begin

Retorno := ' ' ;

try

OnInfoEcf( ineEstadoECF, Retorno ) ;

except

On E : Exception do

raise EACBrTEFDECF.Create(E.Message);

end;

Result := upcase( padL(Retorno,1)[1] );

if not (Result in ['L','V','P','C','G','R','O','N']) then

raise EACBrTEFDECF.Create(

ACBrStr( 'Retorno de "OnInfoEcf( ineEstadoECF, Retorno )" deve ser:'+sLineBreak+

'"L" = Livre'+sLineBreak+

'"V" = Venda de Itens'+sLineBreak+

'"P" - Pagamento (ou SubTotal efetuado)'+sLineBreak+

'"C" ou "R" - CDC ou Cupom Vinculado'+sLineBreak+

'"G" ou "R" - Relatório Gerencial'+sLineBreak+

'"N" - Comprovante não fiscal'+sLineBreak+

'"O" - Outro' ) );

end;

Unit:

ACBrTEFDClass

Procedure TACBrTEFDClass.VerificarTransacaoPagamento(Valor : Double );

var

SaldoAPagar : Double ;

begin

Valor := RoundTo( Valor, -2);

if (Valor <= 0) then

raise Exception.Create( ACBrStr( 'Valor inválido' ) );

{ Lendo o SubTotal do ECF }

with TACBrTEFD(Owner) do

begin

if not (EstadoECF in ['V','P','N']) then

raise Exception.Create( ACBrStr('ECF deve estar em Venda ou Pagamento'));

SaldoAPagar := SubTotalECF ;

RespostasPendentes.SaldoAPagar := SaldoAPagar ;

if (Valor > RespostasPendentes.SaldoRestante ) then

raise Exception.Create( ACBrStr( 'Operação TEF deve ser igual ao '+

'Saldo a Pagar' ) );

if (not MultiplosCartoes) and (Valor < SaldoAPagar) then

raise Exception.Create(

ACBrStr( 'Multiplos Cartões não habilitado.' + sLineBreak +

'Valor da Operação TEF deve ser igual ao Saldo a Pagar' ) );

if MultiplosCartoes and (NumeroMaximoCartoes > 0) and // Tem multiplos Cartoes ?

(Valor <> RespostasPendentes.SaldoRestante) and // Valor é diferente do Saldo Restante a Pagar ?

((NumeroMaximoCartoes - RespostasPendentes.Count) <= 1) then // Está no último cartão ?

raise Exception.Create( ACBrStr( 'Multiplos Cartões Limitado a '+

IntToStr(NumeroMaximoCartoes)+' operações.'+sLineBreak+

'Esta Operação TEF deve ser igual ao Saldo a Pagar' ) );

end;

VerificaAtivo; { VisaNET exige um ATV antes de cada transação }

end;

E na minha apliacação

no evento: ACBrTEFInfoECF(Operacao: TACBrTEFDInfoECF; var RetornoECF: String);

do componente:

case Operacao of

ineEstadoECF:

begin

case dmECF.ACBrECF.Estado of

estLivre : RetornoECF := 'L';

estVenda : RetornoECF := 'V';

estPagamento : RetornoECF := 'P';

estRelatorio : RetornoECF := 'R';

estNaoFiscal : RetornoECF := 'N';

else

RetornoECF := 'O';

end;

end;

Será que alguem tem alguma sugestão ? será que essa modificações estão ok mesmo ?

Eu fiz o teste aqui e funcinou (como no exemplo acima)...

Espero ter ajudado alguem que passou pela mesma situação....

  • Fundadores
Postado

Aparentemente suas modificações estão corretas...

Eu ainda não implementei o Recebimento não fiscal na minha aplicação... e por isso nunca precisei...

Vou implementar as modificações sugeridas nos fontes do TEFD

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

Notei que o "buraco é bem mais em baixo"...

Foi necessário criar todo um tratamento para o Cupom NaoFiscal dentro ACBrTEFD... Estou comitando em breve... espero não ter "quebrado" algo nos fontes...

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