edutraini Posted September 5, 2017 Report Share Posted September 5, 2017 Bom dia, Pessoal Uma rotina de etiqueta argox funciona perfeitamente na versão fivewin 13 Ai mudei para fwn 16 com bcc7 ai não funciona de jeito nenhum; O que acontece e o seguinte, na nova versão ele pula varias etiquetas antes de começar a imprimir ou seja ele nao pega a configuracao que esta no windows O interessante e se deixar a impressora argox como padraot, ai funciona perfeitamente, agora se deixar outra impressora como padrao, ele pula tudo não consigo resolver essa situacao, nao sei se erro do fivewin, mas essa rotina so funciona se deixar a impressora etiqueta como padrao. function Etiqueta_argox() local oPrn, oFontImp, oPen, oFontImp1,oFontImp2 Local nLinI:=0, nColI:=0, nLinF:=0, nColF:=0,mImpressora:=PrnGetName() mIMPRESSORA:="etiqueta" PRINT oPrn TO mImpressora NAME "Impresión en Vertical.." DEFINE FONT oFontImp2 NAME "Arial" SIZE 0, -12 BOLD OF oPrn DEFINE FONT oFontImp NAME "Arial" SIZE 0, -06 BOLD OF oPrn DEFINE FONT oFontImp1 NAME "Arial" SIZE 0, -09 BOLD OF oPrn DEFINE PEN oPen WIDTH 3 OF oPrn oPrn:SetPage(9) // A4 oPrn:SetPortrait() //Vertical * oPrn:SetLandscape() // HORIZONTAL v_via = 1 Sele pedi go top Do While nropedido = vn_ped .and. .not. eof() if marcanf= .f. skip loop Endif if nroetiq = 0 skip loop Endif vn_vez = 1 vn_os = "" vn_pc = "" do while vn_vez <= nroetiq VN_CLIENTE = " " VN_MAT = ALLTRIM(TIPO)+" "+FORMA VN_PC = ped->pedcli vn_OBS1 = subs(pedi->pedite,01,40) vn_OBS2 = subs(pedi->pedite,41,40) vn_OBS3 = subs(pedi->pedite,81,40) * IF DIMENSAO3 = 0 VN_DIM = STR(DIMENSAO1,7,2)+" X "+STR(DIMENSAO2,7,2)+" "+SPAC(7) ELSE VN_DIM = STR(DIMENSAO1,7,2)+" X "+STR(DIMENSAO2,7,2)+" X "+STR(DIMENSAO3,7,2) ENDIF * vn_PI = str(vn_ped,7)+" - "+str(pedi->itemcota,2)+"/"+str(vn_itped,2) vn_PI = str(vn_ped,7) PAGE nLinI := 0.40 // margem principal nColI := 0.80 nLinF := 02.8 nColF := 08.8 oPrn:Cmtr2Pix(@nLinI, @nColI) oPrn:cmtr2Pix(@nLinF, @nColF) oPrn:Box(nLinI, nColI, nLinF, nColF, oPen ) nLinI := 0.40 //CL nColI := 0.80 nLinF := 1.00 nColF := 08.8 oPrn:Cmtr2Pix(@nLinI, @nColI) oPrn:cmtr2Pix(@nLinF, @nColF) oPrn:Box(nLinI, nColI, nLinF, nColF, oPen ) nLinI := 1.00 // MAT nColI := 0.80 nLinF := 1.60 nColF := 8.8 oPrn:Cmtr2Pix(@nLinI, @nColI) oPrn:cmtr2Pix(@nLinF, @nColF) oPrn:Box(nLinI, nColI, nLinF, nColF, oPen ) oPrn:cmSay( 0.5, 2.2, VN_PI ,oFontImp2,,CLR_BLACK,,PAD_CENTER) oPrn:cmSay( 0.5, 6.2, "TARUMA" ,oFontImp2,,CLR_BLACK,,PAD_CENTER) oPrn:cmSay( 1.1, 1.9, VN_MAT ,oFontImp1,,CLR_BLACK,,PAD_CENTER) oPrn:cmSay( 1.1, 5.2, VN_DIM ,oFontImp1,,CLR_BLACK,,PAD_CENTER) oPrn:cmSay( 1.7, 1.0, VN_OBS1 ,oFontImp1,,CLR_BLACK,,PAD_LEFT) oPrn:cmSay( 2.0, 1.0, VN_OBS2 ,oFontImp1,,CLR_BLACK,,PAD_LEFT) oPrn:cmSay( 2.3, 1.0, VN_OBS3 ,oFontImp1,,CLR_BLACK,,PAD_LEFT ) ENDPAGE vn_vez = vn_vez + 1 Enddo skip Enddo oFontImp2:End() oFontImp:End() oFontImp1:End() oPen:end() ENDPRINT return nil Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 5, 2017 Report Share Posted September 5, 2017 Pergunta: essa ARGOX, é MATRICIAL ou Impressora FOR WINDOWS? Quote Link to comment Share on other sites More sharing options...
edutraini Posted September 5, 2017 Author Report Share Posted September 5, 2017 For Windows Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 5, 2017 Report Share Posted September 5, 2017 Primeiro, reveja essa rotina, está muito ruim. Segundo, se precisa imprimir em outro modelo que não seja ARGOX, controle pelo nome da impreesora e crie relatórios diferentes. E o que me ocorre no momento. cPrint := oPrn:GETMODEL() oPrn:End() IF cPrint == [PDFCreator] .OR. ; cPrint == [BroadGun pdfMachine] .OR. ; cPrint == [pdfFactory] .OR. ; cPrint == [pdfFactory Pro] .OR. ; cPrint == [Bullzip PDF Printer] .OR. ; cPrint == [CutePDF Writer] .OR. ; cPrint == [Expert PDF Pro] .OR. ; cPrint == [doPDF v7] ... [/code] Quote Link to comment Share on other sites More sharing options...
edutraini Posted September 5, 2017 Author Report Share Posted September 5, 2017 Boa tarde, Kapi no caso dessa situacao eu crio um impressora chamada etiqueta em todas as maquinas que vao imprimir e direciono direto na rotina A unica duvida e porque se a impressora tiver padrao a etiqueta funciona normal agora se outra impressora estiver padrao bagunca a impressao sai na impressora etiqueta mas sai toda baguncada Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 5, 2017 Report Share Posted September 5, 2017 não faço idéia. pode ser o modo que você programou. você está destruindo as fontes dentro do relatório por exemplo. Rotina não está agradável de ser ler. Reveja esse conceito. Tá feia a coisa. Não gostei dessa escrita de jeito nenhum, nem quis mexer. kkkkkkkkkkkkkkkkkkkkkkkkkk Quote Link to comment Share on other sites More sharing options...
edutraini Posted September 5, 2017 Author Report Share Posted September 5, 2017 Vou olhar com calma, muito obrigado Quote Link to comment Share on other sites More sharing options...
edutraini Posted September 5, 2017 Author Report Share Posted September 5, 2017 Kapi eu fiz um teste aqui e quando mando no preview e seleciona a impressora etiqueta direto no preview ai funciona normal nao sei porque ele so na acata a impressora que mandei e sempre assume a impressora padrao nao esta certo esse comando mIMPRESSORA:="etiqueta" PRINT oPrn TO mImpressora NAME "Impressao de Etiqueta" preview MODAL Nao deveria cair no preview nessa impressora chamada etiqueta Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 5, 2017 Report Share Posted September 5, 2017 Veja como assim, dá uma leitura agradável de se ler. E até para se enxergar "cagadas" de programador. function Etiqueta_argox() local oPrn, oFontImp, oPen, oFontImp1,oFontImp2 Local nLinI:=0, nColI:=0, nLinF:=0, nColF:=0,mImpressora:=PrnGetName() mIMPRESSORA:="etiqueta" PRINT oPrn TO mImpressora NAME "Impresión en Vertical.." DEFINE FONT oFontImp2 NAME "Arial" SIZE 0, -12 BOLD OF oPrn DEFINE FONT oFontImp NAME "Arial" SIZE 0, -06 BOLD OF oPrn DEFINE FONT oFontImp1 NAME "Arial" SIZE 0, -09 BOLD OF oPrn DEFINE PEN oPen WIDTH 3 OF oPrn oPrn:SetPage(9) // A4 oPrn:SetPortrait() //Vertical * oPrn:SetLandscape() // HORIZONTAL v_via = 1 Sele pedi go top Do While nropedido = vn_ped .and. .not. eof() if marcanf= .f. skip loop Endif if nroetiq = 0 skip loop Endif vn_vez = 1 vn_os = "" vn_pc = "" do while vn_vez <= nroetiq VN_CLIENTE = " " VN_MAT = ALLTRIM(TIPO)+" "+FORMA VN_PC = ped->pedcli vn_OBS1 = subs(pedi->pedite,01,40) vn_OBS2 = subs(pedi->pedite,41,40) vn_OBS3 = subs(pedi->pedite,81,40) * IF DIMENSAO3 = 0 VN_DIM = STR(DIMENSAO1,7,2)+" X "+STR(DIMENSAO2,7,2)+" "+SPAC(7) ELSE VN_DIM = STR(DIMENSAO1,7,2)+" X "+STR(DIMENSAO2,7,2)+" X "+STR(DIMENSAO3,7,2) ENDIF * vn_PI = str(vn_ped,7)+" - "+str(pedi->itemcota,2)+"/"+str(vn_itped,2) vn_PI = str(vn_ped,7) PAGE nLinI := 0.40 // margem principal tem certeza que e aqui? nColI := 0.80 nLinF := 02.8 nColF := 08.8 oPrn:Cmtr2Pix(@nLinI, @nColI) oPrn:cmtr2Pix(@nLinF, @nColF) oPrn:Box(nLinI, nColI, nLinF, nColF, oPen ) nLinI := 0.40 //CL nColI := 0.80 nLinF := 1.00 nColF := 08.8 oPrn:Cmtr2Pix(@nLinI, @nColI) oPrn:cmtr2Pix(@nLinF, @nColF) oPrn:Box(nLinI, nColI, nLinF, nColF, oPen ) nLinI := 1.00 // MAT nColI := 0.80 nLinF := 1.60 nColF := 8.8 oPrn:Cmtr2Pix(@nLinI, @nColI) oPrn:cmtr2Pix(@nLinF, @nColF) oPrn:Box(nLinI, nColI, nLinF, nColF, oPen ) oPrn:cmSay( 0.5, 2.2, VN_PI ,oFontImp2,,CLR_BLACK,,PAD_CENTER) oPrn:cmSay( 0.5, 6.2, "TARUMA" ,oFontImp2,,CLR_BLACK,,PAD_CENTER) oPrn:cmSay( 1.1, 1.9, VN_MAT ,oFontImp1,,CLR_BLACK,,PAD_CENTER) oPrn:cmSay( 1.1, 5.2, VN_DIM ,oFontImp1,,CLR_BLACK,,PAD_CENTER) oPrn:cmSay( 1.7, 1.0, VN_OBS1 ,oFontImp1,,CLR_BLACK,,PAD_LEFT) oPrn:cmSay( 2.0, 1.0, VN_OBS2 ,oFontImp1,,CLR_BLACK,,PAD_LEFT) oPrn:cmSay( 2.3, 1.0, VN_OBS3 ,oFontImp1,,CLR_BLACK,,PAD_LEFT ) ENDPAGE vn_vez = vn_vez + 1 SYSREFRESH() Enddo skip SYSREFRESH() Enddo ENDPRINT oFontImp2:End() oFontImp:End() oFontImp1:End() oPen:end() return nil Quote Link to comment Share on other sites More sharing options...
kapiaba Posted September 5, 2017 Report Share Posted September 5, 2017 Você disse: mImpressora := PrnGetName() // não é a padrão? mIMPRESSORA:="etiqueta" // Quem é etiqueta, pergunta o preview?? kkkkkkkkkkkkkkkkkkk Não existe uma impressora "Etqueta" Se existe uma impressora etiqueta, você tem que chamá-la. Quote Link to comment Share on other sites More sharing options...
Ariston Santos Posted September 17, 2017 Report Share Posted September 17, 2017 Amigo, Isso está certo? Você define mImpressora como local atribuindo o valor de PrgGetName() Local nLinI:=0, nColI:=0, nLinF:=0, nColF:=0,mImpressora:=PrnGetName() .. mas em seguida atribui "etiqueta" a mIMPRESSORA. mIMPRESSORA:="etiqueta" Isso torna a primeira atribuição desnecessária e mIMPRESSORA terá sempre o valor "etiqueta". O problema é se a impressora não estiver com este nome em "Dispositivos e Impressoras", no Windows. Creio que o único problema está sendo o nome da impressora. Quote Link to comment Share on other sites More sharing options...
edutraini Posted September 18, 2017 Author Report Share Posted September 18, 2017 Bom dia Pessoal eu resolvi pegando a tprinter.prg da versao anterior e copilando no meu projeto e voltou a funcionar ou seja alguma mudanca na tprinter.prg do fwh 16 que mudou e nao consigo fazer o diagnostico Obrigado a Todos. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.