Jump to content
Fivewin Brasil

error impressao de Etiqueta


edutraini

Recommended Posts

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

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 

Link to comment
Share on other sites

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


 

Link to comment
Share on other sites

  • 2 weeks later...

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.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...