sobre impressão

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Everton
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 07 Jul 2004 08:53
Localização: Campo Grande - MS

sobre impressão

Mensagem por Everton »

Olá turma, gostaria de mais uma vez contar com a ajuda de vcs. tenho que mudar os meus programas para imprimir em impressoras diferentes, pois até hj imprimo no modo normal lpt1, lpt2, lpt3...., agora queria ver com vcs como posso fazer para mapear impressoras da seguinte formas. O cliente manda um pedido ele imprime em uma impressora de pedidos, manda uma noata fiscal vai pra outra impressora, e assim vai, mas todos da rede fazem isso, eu antigamente estava usando a novell e resolvia redirecionando as Lpts para cada fila de impressão, agora estou passando tudo pra server 2003, ai não funciona mais assim, alguem poderia me dar uma ídeia como devo proceder, grato pela atenção..
Everton Luiz Penteado
Clipper 5.2b - Blink 7.0
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Uma vez cadastradas as impressoras no Windows, você poderia mandar imprimir pelo spooler. Há várias soluções de colegas que permitem isso: USB.EXE, USBPRINT, WAPI, etc.

Aliás, não sendo impressora USB, você também tem a opção de fazer um redirecionamento. A LIB CATools tem uma função pra isso que, segundo o que eu testei, funciona muito bem: NetRedir(). Ela equivale ao comando externo NET do DOS.

Agora, no que tange à nota fiscal, o ideal é que continue a imprimir diretamente e não pelo spooler. Não raro, o usuário pode querer imprimir diversas notas fiscais em seqüência. No sistema, o normal é que a NF seja numerada automaticamente após a impressão. Se for assim no seu caso, ao mandar imprimir, digamos, 10 NFs pelo spooler, todas estarão numeradas no sistema antes mesmo da primeira ser impressa. Se der problema (enroscar, por ex.), você terá vários formulários estragados e
todas as NFs numeradas.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Buenas....olha que facil fazer isso usando a CT.LIB ou CTP.LIB...:

Código: Selecionar todos

IF TIPOIMP="NOTA"
   NETREDIR("LPT1","\\NOMEMICRONOTA\NOMEIMPNOTA")
   SET DEVICE TO PRINT
   set print to lpt1
ELSEIF TIPOIMP="PEDIDO"
   NETREDIR("LPT1","\\NOMEMICROPED\NOMEIMPPED")
   SET DEVICE TO PRINT
   set print to lpt1
endif

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Esqueceu de dizer que o terceiro parâmetro possivel de NetRedir() é uma senha, para o caso do servidor exigí-la.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Everton
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 07 Jul 2004 08:53
Localização: Campo Grande - MS

Mensagem por Everton »

Obrigado pela ideia, vc colocar em pratica e coloco aqui o resultado, valeu mesmo, conte comigo quando precisar
Everton Luiz Penteado
Clipper 5.2b - Blink 7.0
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

No caso de precisar da CATools, vou subir os arquivos pro meu site e informar o link na seção de bate-papo. Já tinha no meu site, mas troquei de hoster e perdi alguns arquivos.
No demais, boa sorte. Caso precise, volte ao tópico com suas dúvidas.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Maligno escreveu:Esqueceu de dizer que o terceiro parâmetro possivel de NetRedir() é uma senha, para o caso do servidor exigí-la.
Puxa...verade...como eu nunca usei com senha...acabei me esquecendo...mas para quem quiser acho que pode dar uma olhada na NG...deve ter referencias falando da NetRedir().

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

sygecom escreveu:mas para quem quiser acho que pode dar uma olhada na NG...deve ter referencias falando da NetRedir().
Claro que tem. No pacote que vou subir, que é completo, acompanha os dois NGs da biblioteca.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Maligno escreveu:No caso de precisar da CATools, vou subir os arquivos pro meu site
Preferi informar aqui mesmo. Links pra CATools completa:

http://buzinello.com/download/catools3_install.zip
http://buzinello.com/download/catools3_patch_b.zip
http://buzinello.com/download/catools3_patch_c.zip
http://buzinello.com/download/catools3_patch_l.zip (corrige o R6003)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Grings
Usuário Nível 3
Usuário Nível 3
Mensagens: 340
Registrado em: 18 Ago 2004 13:51

Mensagem por Grings »

Maligno escreveu: No sistema, o normal é que a NF seja numerada automaticamente após a impressão. Se for assim no seu caso, ao mandar imprimir, digamos, 10 NFs pelo spooler, todas estarão numeradas no sistema antes mesmo da primeira ser impressa. Se der problema (enroscar, por ex.), você terá vários formulários estragados e
todas as NFs numeradas.
Essa eu não entendí. Numerar a nota fiscal após a impressão ? Quer dizer que depois de impressa vc volta o formulário para imprimir o número da nota lá em cima ?
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Grings escreveu:Essa eu não entendí. Numerar a nota fiscal após a impressão ?
Quando digo numerar a NF me refiro à gravação do número no banco de dados.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Everton
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 07 Jul 2004 08:53
Localização: Campo Grande - MS

Mensagem por Everton »

Ola Leonardo.

Fiz os teste aqui usando o NetRedir() funcionou +-, pois no final da rotina de impressão coloco o NetCancel() e ai ele mata a impressão no meio dela, pois a execução do sistema é bem mais rápido do que da impressora, e gostaria como posso resolver isso, pois estou direcionando algumas impressão somente pra determinada impressora e outras ´são impressas locamente, grato pela atenção.

Obs.: Para teste estou usando o windows XP e imprimindo no windows 98.
Everton Luiz Penteado
Clipper 5.2b - Blink 7.0
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Aqui, tenho funções rapidas que não acontece isso !!! post a função que esta acontecendo isso !!!
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Mensagem por Eolo »

Acho que o NETCANCEL() está a mais, não precisa: o "cancelamento" do primeiro NETREDIR() será feito pelo próximo NETREDIR()...

Com o NETCANCEL(), vc derruba o direcionamento, aí ferra mesmo.

Pegando o exemplo do Leonardo:

Código: Selecionar todos

NETREDIR("LPT1","\\NOMEMICRONOTA\NOMEIMPNOTA") 
SET DEVICE TO PRINT 
set print to lpt1 
* impressão da nota1
* impressão da nota2
* blablabla
*
NETREDIR("LPT1","\\NOMEMICROPED\NOMEIMPPED") 
SET DEVICE TO PRINT 
set print to lpt1 
* impressão do pedido1
* blablabla
Everton
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 07 Jul 2004 08:53
Localização: Campo Grande - MS

Mensagem por Everton »

Boa tarde Leonardo.

Fiz alguns teste aqui e não dei mais esse problema, mas vou fazer bastante teste, pois acho que funciona legal mesmo, qualquer coisa lhe aviso.

Olá Eolo. como esta SC, pois aqui continua aquele calor de sempre, isso que o senhor me falou não dá certo, pois nos relatorios que uso no meu sistema uso a impressora local, e nesse caso so coloquei o NetRedir() em algumas funções que usem impressoras comuns, tipo, pedido, NF, boleto bancarios, entre outros. valeu
Everton Luiz Penteado
Clipper 5.2b - Blink 7.0
Responder