Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Agora gostaria de saber se chegou a olhar dentro das classes Sweda e SwedaSTX e conferir se tem o comando

conforme o manual que você postou acima?

Boa Tarde Juliomar,

 

Eu Coloquei sim cara... Veja os comandos:

 

     ACBrECF1.IdentificaConsumidor(Dados.varCPF_CNPJCliente, Dados.varNomeCliente, Dados.varEnderecoCliente);
     ACBrECF1.IdentificaConsumidorRodape;
 
tanto que se voce observar o nome do cliente esta saindo no LOG (So nao vou colocar os dados aqui) mas olha no arquivo nessa linha:
 
-- 16:19:33:175 FechaCupom( Vendedor: Anelise )
                TX -> [ESC][201].....
 
Anexei novamente o log...

acbrlog.txt

Postado

A menos que eu esteja baixando os dois arquivos errados em nenhum deles achei o comando !

baixe os dois txt que você anexo e pode me indicar a linha onde está?

 

Realmente nao esta mostrando o que eu quero dizer e que o comando esta sendo enviado conforme consta no log.. o por que nao esta saindo isso eu nao sei lhe dizer... pois os dados do cliente donsta logo apos o fechamento do cupom como voce pode observar no arquivo

  • Moderadores
Postado

 

Boa Tarde Juliomar,

 

Eu Coloquei sim cara... Veja os comandos:

 

     ACBrECF1.IdentificaConsumidor(Dados.varCPF_CNPJCliente, Dados.varNomeCliente, Dados.varEnderecoCliente);
     ACBrECF1.IdentificaConsumidorRodape;
 
tanto que se voce observar o nome do cliente esta saindo no LOG (So nao vou colocar os dados aqui) mas olha no arquivo nessa linha:
 
-- 16:19:33:175 FechaCupom( Vendedor: Anelise )
                TX -> [ESC][201].....
 
Anexei novamente o log...

 

Bom no seu log veja que o que está saindo é o Vendedor certo? não o consumidor!

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

Bom no seu log veja que o que está saindo é o Vendedor certo? não o consumidor!

 

 

Cara debugando linha a linha (unit AcbrECF) cai nesta situacao:

 

 

procedure TACBrECF.FechaCupom(Observacao: AnsiString; IndiceBMP : Integer);
var
  Tratado : Boolean;
  RodapePafECF: String;
begin
  if (Observacao = '') then
     Observacao := fsMensagemRodape ;
 
  if (not Consumidor.Enviado) and (not IdentificaConsumidorRodape) then
  begin
     if Consumidor.Documento <> '' then
        Observacao := Observacao + '|CPF/CNPJ consumidor: '+Consumidor.Documento ;
 
     if Consumidor.Nome <> '' then
        Observacao := Observacao + '|Nome: '+Consumidor.Nome ;
 
     if Consumidor.Endereco <> '' then
        Observacao := Observacao + '|Endereco: '+Consumidor.Endereco ;
  end ;
 
Pergunto, por que esse teste do IdentificaConsumidorRodape ? Como eu passo ele false pois quando eu atribuo false ele nao aceita....
 
Por isso que nao esta sendo impresso...
  • Fundadores
Postado

O comando acima está correto... O que o ACBrECF faz nesse bloco, é verificar se o ECF tem a capacidade de identificar o consumidor no rodapé...  A Bematech por exemplo, não permite, porém como esse post mesmo diz... a SwedaSTX consegue fazer isso...

 

Se o ECF não suportar a identificação do consumidor no rodapé, o ACBrECF a fim de minimizar a perda de informações, adiciona as informações do consumidor no Rodapé do Cupom... Porém vale lembrar que isso NÃO ATENDE OS PROGRAMAS DE CIDADANIA (Ex: Nota Fiscal Paulista)... Pois o CPF não foi impresso em área específica para identificação do consumidor...   Ou seja, o texto do Cliente impresso nas 8 linhas de Rodapé, não irá gerar o arquivo com o CPF do cliente corretamente

 

Veja o FechaCupom da SwedaSTX

procedure TACBrECFSwedaSTX.FechaCupom(Observacao: AnsiString; IndiceBMP : Integer);
begin
  if not Consumidor.Enviado and (Trim(Consumidor.Documento) <> '') then    { Tem Docto ? }
  begin
     EnviaComando('12|'+LeftStr(Consumidor.Documento ,20)+'|'+
                        LeftStr(Consumidor.Nome      ,30)+'|'+
                        LeftStr(Consumidor.Endereco  ,79)+'|1') ;
     Consumidor.Enviado := True ;
  end ;

  AguardaImpressao := True ;
  EnviaComando( '07|' + LeftStr( Observacao,800) ) ;
end;

Ou seja, o Cliente será identificado, com o comando correto, (12) e não irá consumir as 8 linhas do Rodapé do Cupom

 

O mesmo ocorre da Daruma... onde será usado o comando 201 para identificar o cliente... Observe ainda que esse comando foi enviado no seu Log

 

-- 16:19:33:175 FechaCupom( Vendedor: Anelise )
                TX -> [ESC][201]ADRIANA DE OLIVEIRA                                                                 , 0,  - / -                                                                         585.634.740-49                                                                      [CR]
   16:19:33:453 RX <- :[201]260100000000000000[CR]

 

 

Certeza que o consumidor não está sendo impresso ? Se realmente não... tente com o Demo do fabricante...

  • Curtir 2
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

O comando acima está correto... O que o ACBrECF faz nesse bloco, é verificar se o ECF tem a capacidade de identificar o consumidor no rodapé...  A Bematech por exemplo, não permite, porém como esse post mesmo diz... a SwedaSTX consegue fazer isso...

 

Se o ECF não suportar a identificação do consumidor no rodapé, o ACBrECF a fim de minimizar a perda de informações, adiciona as informações do consumidor no Rodapé do Cupom... Porém vale lembrar que isso NÃO ATENDE OS PROGRAMAS DE CIDADANIA (Ex: Nota Fiscal Paulista)... Pois o CPF não foi impresso em área específica para identificação do consumidor...   Ou seja, o texto do Cliente impresso nas 8 linhas de Rodapé, não irá gerar o arquivo com o CPF do cliente corretamente

 

Veja o FechaCupom da SwedaSTX

procedure TACBrECFSwedaSTX.FechaCupom(Observacao: AnsiString; IndiceBMP : Integer);
begin
  if not Consumidor.Enviado and (Trim(Consumidor.Documento) <> '') then    { Tem Docto ? }
  begin
     EnviaComando('12|'+LeftStr(Consumidor.Documento ,20)+'|'+
                        LeftStr(Consumidor.Nome      ,30)+'|'+
                        LeftStr(Consumidor.Endereco  ,79)+'|1') ;
     Consumidor.Enviado := True ;
  end ;

  AguardaImpressao := True ;
  EnviaComando( '07|' + LeftStr( Observacao,800) ) ;
end;

Ou seja, o Cliente será identificado, com o comando correto, (12) e não irá consumir as 8 linhas do Rodapé do Cupom

 

O mesmo ocorre da Daruma... onde será usado o comando 201 para identificar o cliente... Observe ainda que esse comando foi enviado no seu Log

 

 

Certeza que o consumidor não está sendo impresso ? Se realmente não... tente com o Demo do fabricante...

 

 

Obrigado pela explicação Daniel.... Tenho sim ... não esta sendo impresso os dados do Cliente... Pelo demo da Daruma imprime normalmente Daniel posso ate te mandar os dois cupons para voce verificar...

 

 

Att

 

Dionatan

  • Fundadores
Postado

Verifique se o Demo não está imprimindo os dados do Cliente nas linhas do Rodapé... isso não identificará o Cliente nos arquivos de cidadania (conforme descrevi acima)...

 

Você pode verificar isso, gerando um arquivo AtoCotepe17/04 e verificando se o CPF está presente...

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