Ir para conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Showing results for tags 'acbrecfescecf'.

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Fóruns

  • Fórum Aberto - ACBr
    • Notícias do ACBr
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrDFe
    • Dúvidas sobre TEF
    • Dúvidas sobre PIX
    • ACBrMonitor PLUS
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
  • ACBr Pro
    • Dúvidas gerais
    • ACBrMonitorPLUS
    • NFe/NFCe - Nota Fiscal Eletrônica
    • DFe - Documentos Fiscais Eletrônicos
    • SAT / MFE
    • TEF
    • Boleto
    • ACBrSPED
    • ACBrTXT
    • Paf-ECF
    • Requisitos Fiscais por UF
    • ACBrLIB
  • Outros Assuntos
    • Boteco do ACBr
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Banco de Dados
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categorias

  • ACBr Pro
    • ACBrLib - PRO
    • ACBrMonitorPLUS - PRO
    • Utilitários - PRO
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
  • Download Livre
    • ACBrLib - DEMO
    • ACBrMonitorPLUS - DEMO
    • Demos / Testes / Utilitários
    • Apresentações - Palestras

Calendários

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Calendário da Comunidade
  • ACBr Papo Pro
  • Feriados Nacionais

Find results in...

Find results that contain...


Data de Criação

  • Início

    End


Data de Atualização

  • Início

    End


Filter by number of...

Data de Registro

  • Início

    End


Grupo


Website URL

Encontrado 2 registros

  1. Boa tarde glr, estou com um problema complicado. O sistema trabalha o dia todo muito bem, mas esporadicamente, aparece uma msg: CANNOT CREATE FILE "C:\MINHAPASTA\ACBRECFESCECF003.TXT. A OPERAÇÃO SOLICITADA NÃO PODE SER EXECUTADA EM UM ARQUIVO COM UMA SEÇÃO MAPEADA PELO USUÁRIO ABERTA." Depois dessa msg, o produto é vendido na impressora, mas dá pau na minha venda, e eu não sei o que fazer para resolver isso. Por favor, me ajudem.
  2. Olá senhores, Recentemente atualizei os fontes do ACBr. Pois estava tendo um travamento com a impressora MP 4200 TH FI II. E segundo o log do SVN Data: 06/04/2016 -- ACBrECFEscECF -- [*] Modificado tamanho máximo de Buffer de envio para Bematech, para 256 bytes para evitar travamentos do ECF. (por: DSA) Até ai tudo bem, porém ao testar a impressão de comprovante no emulador da impressora MP 4200... a cada envio de texto fica mais alinhado a direita. Imagem "alinhamento a direita.png" no link https://drive.google.com/open?id=0B7ZvS1wjEhJSeWRzNDFjVnllUFU. Imagem "mudança de código fonte.png" no link https://drive.google.com/open?id=0B7ZvS1wjEhJSX0xqZ3pXdWV4SnM é como deveria imprimir. Abaixo como está no projeto ACBr a unit ACBrECFEscECF: procedure TACBrECFEscECF.LinhaRelatorioGerencial(Linha: AnsiString; IndiceBMP: Integer); var P, Espera, LenMaxBuffer: Integer; Buffer : AnsiString ; EhControle: Boolean; begin Linha := AjustaLinhas( Linha, Colunas, 0, IsBematech ); { Formata as Linhas de acordo com "Coluna" } if IsBematech then LenMaxBuffer := cEscECFMaxBufferBematech else LenMaxBuffer := cEscECFMaxBuffer; P := pos(LF, Linha); while P > 0 do begin EhControle := Linha[max(P-1,1)] = ESC; if not EhControle then begin Linha := StuffString(Linha, P, 0, CR ); // Adiciona CR antes de LF Inc( P ); end else begin if IsBematech then begin Delete(Linha, P-1, 1); // Remove "ESC" (carcater de controle) Dec( P ); end; end; P := PosEx( LF, Linha, P+1); end; while Length( Linha ) > 0 do begin P := Length( Linha ) ; if P > LenMaxBuffer then { Acha o fim de Linha mais próximo do limite máximo } P := PosLast(LF, copy(Linha, 1 , LenMaxBuffer) ) ; if P = 0 then P := Trunc( LenMaxBuffer / Colunas ) * Colunas; Buffer := copy( Linha, 1, P); Espera := Trunc( CountStr( Buffer, LF ) / 4); EscECFComando.CMD := 9; EscECFComando.TimeOut := Espera; EscECFComando.AddParamString(Buffer); EnviaComando; { ficou apenas um LF sozinho ? } if (P = Colunas) and (RightStr( Buffer, 1) <> LF) and (copy( Linha, P+1, 1) = LF) then P := P + 1 ; Linha := copy( Linha, P+1, Length(Linha) ) ; // O Restante end ; end; Abaixo como deixei o código fonte: procedure TACBrECFEscECF.LinhaRelatorioGerencial(Linha: AnsiString; IndiceBMP: Integer); var P, Espera, LenMaxBuffer: Integer; Buffer : AnsiString ; begin Linha := AjustaLinhas( Linha, Colunas, 0, (IsEpson or IsBematech) ); { Formata as Linhas de acordo com "Coluna" } if IsBematech then LenMaxBuffer := cEscECFMaxBufferBematech else LenMaxBuffer := cEscECFMaxBuffer; while Length( Linha ) > 0 do begin P := Length( Linha ) ; if P > LenMaxBuffer then { Acha o fim de Linha mais próximo do limite máximo } P := PosLast(LF, copy(Linha, 1 , LenMaxBuffer) ) ; if P = 0 then P := Trunc( LenMaxBuffer / Colunas ) * Colunas; Buffer := copy( Linha, 1, P) ; Espera := Trunc( CountStr( Buffer, LF ) / 4) ; EscECFComando.CMD := 9 ; EscECFComando.TimeOut := Espera ; EscECFComando.AddParamString(Buffer); EnviaComando; { ficou apenas um LF sozinho ? } if (P = Colunas) and (RightStr( Buffer, 1) <> LF) and (copy( Linha, P+1, 1) = LF) then P := P + 1 ; Linha := copy( Linha, P+1, Length(Linha) ) ; // O Restante end ; end; Não sei se estou fazendo errado, ou se precisa de algum parâmetro que não estou passando. Mas com minha alteração a impressão fica certa. Obs: vi que a mudança dessa função entrou no seguinte commit Revision: 10712 Author: dopi Date: segunda-feira, 21 de dezembro de 2015 14:53:13 Message: -- ACBrECFEscECF -- [*] Ajuste para correta impressão de Cod.Barras e Caracteres de Controle em Epson TM-800/900F, e Bametech MP4200-THFI (nota: Para a Impressão de Cod.barras usando a DLL da Epson como túnel, é requer necessário uma atualização da mesma) (por: DSA) ---- Modified : /trunk2/Fontes/ACBrSerial/ACBrECFBematech.pas Modified : /trunk2/Fontes/ACBrSerial/ACBrECFEpson.pas Modified : /trunk2/Fontes/ACBrSerial/ACBrECFEscECF.pas Modified : /trunk2/Fontes/ACBrSerial/ACBrSerial-change-log.txt
×
×
  • 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.