IMPRESSÃO CUPOM NÃO FISCAL. PORTA USB

MOREIRA 11/04/2014 10:39:45
#437190
bom dia.. tudo bem... por favor.. me tireM uma dúvida... tenho uma aplicação já funcionando algum tempo. onde faz impressão de cupom nao fiscal na porta paralela LPT1. mas agora preciso enviar via usb. fiz aqui conforme seria o certo mas não funciona..

mas retorna error,

por favor.. alguma sugestão ?



  Public Sub Imprimir_Cupom()
On Error GoTo Trataerro

[ô]Inicia o Cabeçalho do Cupom
[ô]Open [Ô]LPT1[Ô] For Output As #1 [ô]Porta Serial
Open [Ô]\\six4service-pc\MP-2100TH[Ô] For Output As #1 [ô]Porta USB
Print #1, Chr$(27) & Chr(15)
Print #1, Spc(0); [Ô] COMERCIAL LOPES [Ô]
Print #1, Spc(0); [Ô] CNPJ: 00.000.0000-00 I.E:100019422 [Ô]
Print #1, Spc(0); [Ô] Rua Joaquim Reis N.32, Fone(98)3391-1986 [Ô]
Print #1, Spc(0); [Ô] Bairro = xx - xx - Maranhao [Ô]
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Spc(0); Date; Spc(5); Time; Spc(2); [Ô]Cod. Venda[Ô]; Spc(3); Format(NumCodigo, [Ô]000000[Ô])
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Spc(0); [Ô] C U P O M [Ô]
Print #1, Spc(0); [Ô]Usuario :[Ô]; Spc(2); User
Print #1, Spc(0); [Ô]Itns|CODIGO | DESCRICAO DO PRODUTO [Ô]
Print #1, Spc(0); [Ô] QTD. R$ VALOR UNIT. TOTAL R$[Ô]
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]

[ô]Selecionar Items do Cupon
Set Rst = New ADODB.Recordset
sql = [Ô]Select * From Tbl_CupomTemp Where Num_Venda =[ô][Ô] & NumCodigo & [Ô][ô]And Num_Pdv = [ô][Ô] & NumPdv & [Ô][ô][Ô]
Rst.Open sql, Conexao, 3

Do While Not Rst.EOF

Print #1, Spc(0); Format(Rst!Itens, [Ô]000[Ô]); Spc(1); Format(Rst!Cod_Barra, [Ô]00000000000000[Ô]); Spc(1); Mid(Rst!Descricao_Produto, 1, 30)
Print #1, Spc(9); Format(Rst!Quantidade, [Ô]###,##0.000[Ô]); Spc(3); [Ô]X[Ô]; Spc(3); Format(Format(Rst!Vlr_Unitario, [Ô]###,##0.00[Ô]), [Ô]@@@@@@@@@@@[Ô]); Spc(4); [Ô]=[Ô]; Spc(9); Right(Space(9) & Format(Rst!Vlr_Total, [Ô]###,##0.00[Ô]), 10)

Rst.MoveNext
Loop

Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Spc(5); [Ô]Total a Pagar[Ô]; Tab(38); Spc(10 - Len(LblVlr_Venda.Caption)); LblVlr_Venda.Caption
Print #1, Spc(5); [Ô]Forma de Pagamento:[Ô]; Spc(1); FormaPgto; Tab(38); Spc(10 - Len(LblTotal_Pago.Caption)); LblTotal_Pago.Caption
Print #1, Spc(5); [Ô]Troco [Ô]; Tab(38); Spc(10 - Len(LblVlr_Troco.Caption)); LblVlr_Troco.Caption
Print #1, Tab(0); [Ô]-------------------------------------------------------------[Ô];
Print #1, Tab(10); [Ô] Documento sem valor fiscal.[Ô]
Print #1, Tab(10); [Ô] Obrigado Pela Preferencia[Ô]
Print #1, Spc(4); [Ô] Aqui voce encontra os menores precos da Cidade[Ô]
Print #1, Tab(10); [Ô] Volte Sempre ![Ô]
Print #1, Spc(0); [Ô]-------------------------------------------------------------[Ô]
Print #1, Spc(0); [Ô]Sistemas Comerciais (98) 1814 - 7759 | - 398416 77[Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Print #1, [Ô][Ô]
Close #1

Exit Sub
Trataerro:
MsgBox Err.Description, vbCritical, [Ô]Erro no Sistema[Ô]





NILSONTRES 11/04/2014 11:20:28
#437195
é vb6 ou .net ?
Print não funciona em .net
MOREIRA 11/04/2014 11:25:51
#437196
vb6...
NILSONTRES 11/04/2014 11:39:33
#437197
é que vc colocou em .NET.
Mas vamos la:
Esta certinho o que vc fez, o que tem acontecido, não sei se é o seu caso, se for de win7 para xp, não esta chamando, diz que não tem
permissão, eu já tentei de tudo e vi na net que ninguém ainda descobriu esse problema.
Tente identificar qual a mensagem de erro de fato.
Nos meus sistemas novos em .net nem chamo mais assim por causa desse problema.
Criei um monitor de impressão na maquina onde fica a impressora e a cada venda gero um arquvio texto e envio para a essa maquina.
O monitor percebe o arquivo e imprimi.
FAUZE 11/04/2014 16:00:27
#437208
Olá, estou com um problema parecido, meu cliente usa uma bematech paralela, e acabou de me ligar (não faz 10 minutos) que comprou uma térmica MP-2100 TH e pediu para eu ir fazer a instalação, pelo visto não vai dar certo também???
Minha rotina é parecida com a sua, como faço para abrir a porta USB, é preciso registrar a DLL?
Sei qeu da para instalar a interface serial, não seria mais fácil? assim não precisaria mudar nada...

Obrigado,
MOREIRA 11/04/2014 21:41:24
#437213
comprei um caro paralelo pra usb, mas nao está funcionando...
FAUZE 11/04/2014 22:18:21
#437214
Boa noite Moreira, fomos até a loja que o cliente comprou a impressora e eu disse para o vendedor que era necessário usar a comunicação paralela ou serial e ele me disse que dava para colocar uma interface serial, por fim ele instalou na impressora uma interface serial e ligamos na porta com e funcionou sem alteração no código fonte.
Acredito que você deva dar essa sujestão para seu cliente.
FPRADO 12/04/2014 07:59:11
#437216
Pessoal a são duas situações completamente diferentes...

1º) Cupom não fiscal. VB6 Não tem surporte para portas USB! O que pode ser feito é compartilhar essa impressora USB na rede e mapear ela na porta LPT1 das maquinas que vão imprimir, essa é a solucao que eu uso.

2º) Cupom Fiscal. No caso das impressoras Bematech o suporte a USB é total atravez do uso das DLLs de utilização. para o sistema fica totalmente invisível, não sendo necessário mudar nenhuma linha de código, basta configurar a porta no arquivo [Ô]bematech.ini[Ô] e pronto vc ja podera emitir seus cupons sem nenhum problema.

Espero ter sito util.

MARCELOKROL 13/04/2014 09:43:34
#437226
Solução para o caso, na maioria das vezes funciona bem:
- Instale a impressora como Generica Somente Texto na porta usb reconhecida. As vezes as impressoras bematech tem que pegar o driver do site deles;
- Compartilhe a impressora na rede com um nome facil, tipo: generica por exemplo;
- Use o seguinte comando quando iniciar o programa no prompt do DOS pela primeira vez, ou quando a maquina ligar:
net use lpt1 \\ip_da_máquina_ou_nome
ome_do_compartilhamento, onde em nosso caso ficaria assim:
net use lpt1 \\localhost\generica
- para testar abra o prompt do dos e digite o seguinte comando: dir > LPT1. Deve imprimir a listagem de diretórios e arquivos na impressora.

o que esse comando faz, ele cria um mapeamento virtual para a porta LPT1. Virtual porque a cada vez que ligar a maquina ele deve ser refeito.

Tópico encerrado , respostas não são mais permitidas