impressora fiscal

Delphi

03/08/2004

Ola pessoal.

Como eu faço para mandar os dados de uma tabela para imprimir numa impressora fiscal.

Valeu


Radolpho

Radolpho

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

03/08/2004

Colega,

Você não pode simplesmente mandar imprimir os dados de uma tabela numa impressora fiscal, eis que as vendas devem ser registradas de forma concomitante, ou seja, passa o produto pelo leitor e comanda a impressão. Vendas não concomitantes precisam de autorização do fisco local.
Acesse o site do fornecedor de sua impressora e obtenha toda a documentação necessária, leia com bastante atenção e depois faça os testes com os exemplos fornecidos. Qualquer dúvida que não esteja clara na documentação, poste aqui novamente.


GOSTEI 0
Bacalhau

Bacalhau

03/08/2004

A questão pode ser dividida em duas:

1. Inserir na tabela
2. Enviar para a impressora

A inserção na tabela não parece ser o problema; na questão 2 podemos usar uma técnica antiga. Se a impressão for para a ´lpt1´ (por exemplo) podemos fazer isto:

var L : textfile;

assignfile(L,´LPT1´);
write(L,´teste´); // envia um texto
writeln(L,table1.fieldbyname(´Produto´).asstring); // valor no registo
writeln(L,#2750); // caracteres de controle
closefile(L); // não esquecer esta linha

É claro que na prática, é um pouco mais complexo. Precisamos ´encaixar´ tudo direito e a porta pode não ser a LPT1. Mas deixo isso como trabalho pró colega. Se houver dúvidas, diz.

Abraço
bacalhau


GOSTEI 0
Rafs

Rafs

03/08/2004

Caro radolpho,

Com relação ao que o bacalhau escreveu, aqui não temos impressoras fiscais que sejam ligadas na porta LPT, somente seriais.
Assim como Aroldo Zanela escreveu, solicite os manuais para os fabricantes e busque informações sobre as leis que as regem, pois é bem complexo o desenvolvimento de um sistema para trabalhar com impressoral fiscal.
É importante que se faça exatamente como rege a lei, pois antes de colocar no mercado você precisará homologar o software.


GOSTEI 0
Bacalhau

Bacalhau

03/08/2004

Rafs, o que escrevi mantém-se. Se são seriais, podemos executar primeiro um pequeno comando do DOS, para redireccionar as COMs.

MODE LPT1=COM2 ou na generalidade MODE LPTn=COMn

Isso permite a utilização do código que escrevi e parece-me simples de implementar


GOSTEI 0
Koplin

Koplin

03/08/2004

Salve!

Caro colega: Meu amigo baca nao deixa de ter razão... mas em se tratando de ECF, a coisa é mais complicada. Devido as restriçoes que estes equipamentos tem, o acesso é feito via dll´s que são fornecidas pelo fabricante. estas dll´s tem todos os comando específicos para comunicação com o ECF. Portanto, sugiro q vc se inteire da legislação pertinente a ECF´s e como o colega informou, acesse o site dos fabricantes para obter as dlls e documentação. Sugiro começar pela bematech que é a que está melhor documentada, onclusive com exemplos.


GOSTEI 0
Bacalhau

Bacalhau

03/08/2004

Completamente esmagado pelo colega koplin... :lol:

De facto concentrei-me só na questão técnica. De resto, nem poderia falar de legislação brasileira... :oops:


GOSTEI 0
Weber

Weber

03/08/2004

Mesmo que você esqueça a legislação...
Uma impressora Fiscal (ECF) só imprime alguma coisa se ela foi configurada para isto.
Por exemplo, a maioria delas só aceita a descrição do produto com até 29 caracteres, se você mandar mais de 29 caracteres a impressora simplesmente trava, (trava fiscalmente falando) essa venda (travada) só será destravada se esse cupom for cancelado ou complementado com os demais itens corretamente.

Sendo assim não é só imprimir em impressora fiscal, você terá que desenvolver rotinas como:
- Abertura (Leitura X) - Um unico comando, uma vez por dia
- Impressão de Cupom Fiscal - Dados da Venda
- Fechamento (Leitura Z) - Um unico comando, uma vez por dia, apos fazer um fechamento não é possivel efetuar mais vendas nesse dia. Não é possivel mesmo, ela trava totalmente.
- Leitura de Memoria Fiscal - Basta informar o intervalo de datas, as informações de vendas não seram buscadas no seu sistema a própria impressora grava as informações em sua memória, como se fosse um banco de dados próprio.
- Sintegra tipo 60 (aff, um saco fazer)

Dessa forma aconselho fazer como já foi dito acima, entre em contato com o fabricante da impressora que provavelmente eles teram algum programa exemplo para te passar.

Haaa, só mais uma coisa: Para imprimir cupom fiscal seu software tem que estar cadastrado na Receita Estadual.


GOSTEI 0
Rafs

Rafs

03/08/2004

Rafs, o que escrevi mantém-se. Se são seriais, podemos executar primeiro um pequeno comando do DOS, para redireccionar as COMs. MODE LPT1=COM2 ou na generalidade MODE LPTn=COMn Isso permite a utilização do código que escrevi e parece-me simples de implementar


Realmente não sabia da possibilidade de realizar tal operação.
Mas fica ai, mais um adicional ao conhecimento.. :)


GOSTEI 0
POSTAR