Ayuda Harbour en modo consola (PRINT,REPORT,EYSAREPOR)

Ayuda Harbour en modo consola (PRINT,REPORT,EYSAREPOR)

Postby ruben Dario » Fri Feb 03, 2017 11:57 pm

Saludos al Forum.

Quien me puede orientar.
tengo una aplciacion modo consola.
Lo que requiero es ejecutar reportes de Eysareport, pero me da error, tambien pasa con PRINT y REPORT

El Error es el NEW -> No Existe el metodo, para los tres casos
Como hago para que corra en modo consola.



Code: Select all  Expand view


#include "FiveWin.ch"
#include "Sistemam.ch"
#include "report.ch"


FUNCTION repowind1() //cristal report
   PUBLIC oWnd ,oErr
   
Try  
   DEFINE WINDOW oWnd MENU CreaMenu1(oWnd) MDI
   ACTIVATE WINDOW oWnd MAXIMIZED
Catch oErr
    //Alert(oErr:Operation + " -> " + oErr:Description + CRLF + "Reportman.ReportManX ",oApp:cSistema)
   Alert("Error ->"+ltrim( str( oErr:gencode,14,0 ) )+" "+oErr:description + " "+oErr:operation+"--"+oErr:subsystem())
       
 End    

RETURN (.T.)

FUNCTION CreaMenu1(oWnd)
   LOCAL oMenu
   MENU oMenu
      MenuItem "PRINT " Action Re12_datos(oWnd)    
      MenuItem "REPORT " Action Re13_datos(oWnd)
      MenuItem "Eysareport"  Action Re14_datos(oWnd)
   ENDMENU
   
RETURN (oMenu)



Function R12_datos()  //Segundo modelo con PRINT no funciona con ADO , ADORR , DBF
LOCAL oPen1, oPen2, oFon1, oFon2, oFon3, oReport,oPrn, nlin ,RegAnt
LOCAL nLinea , nHasta,oErr
    LOCAL MODUL := "PXP610_4"
    Local a1,a2,b1,b2,oDatos,cSql,pmtrz,t_fon,opx,il,npag,nl
    MEMVAR oApp,oV610_4
    USE K:\v_xharb_v3\tradbf\EMPLOYEE NEW SHARED
   nLinea := 0 ; nLin := 0

Try    
  PRINT  oPrn NAME "cTitulo" PREVIEW
        if Empty( oPrn:hDC )
           //return nil          // Printer was not installed or ready
        endif
       DEFINE FONT oFon1 NAME "Ms Sans Serif" SIZE 0, -12 OF oPrn
        oPrn:SetPortrait() //oPrn:SetPortrait() VErtical oPrn:SetLandscape() Horizontal
       oPrn:SetPage(1) // 9 indica formato A4 1 Carta Letter
       PAGE
            Do While .NOT.EOF()  
                oPrn:cmSay( nlin+1, 02,  EMPLOYEE->FIRST ,oFon1  )
               oPrn:cmSay( nlin+1, 05,  EMPLOYEE->LAST ,oFon1  )
               nlin++
               DbSkip()
           Enddo
       ENDPAGE  
   ENDPRINT
  oFon1:End()
  alert("Fin 12")  // //Hasta aqui funciona genera todo el error es porque no puede mostar el reporte por el problema de no definicion de ventana windows
 CATCH oErr
     Alert(oErr:Operation + " -> " + oErr:Description + CRLF + "Rep12_datos","SISTEMAS ++++")
 END
   DbCloseAll()
 
 Release oPen1, oPen2, oFon1, oFon2, oFon3, oReport,oPrn,nlin,nLinea , nHasta,regant

return Nil


//------------------------------------------------------------
Function R13_datos()  //Segundo modelo con PRINT no funciona con ADO , ADORR , DBF
LOCAL oPen1, oPen2, oFon1, oFon2, oFon3, oReport,oPrn, nlin ,RegAnt
LOCAL nLinea , nHasta,oErr
    LOCAL MODUL := "PXP610_4"
    Local a1,a2,b1,b2,oDatos,cSql,pmtrz,t_fon,opx,il,npag,nl

    MEMVAR oApp,oV610_4

   USE K:\v_xharb_v3\tradbf\EMPLOYEE NEW SHARED
 
   nLinea := 0 ; nLin := 0

     nClrTotal     := CLR_LIGHTGRAY
     DEFINE FONT oFon1 NAME "ARIAL" SIZE 0,-10
     DEFINE FONT oFon2 NAME "ARIAL" SIZE 0,-10 BOLD
     DEFINE FONT oFon3 NAME "ARIAL" SIZE 0,-10 BOLD ITALIC

     DEFINE PEN oPen  WIDTH 0.5 COLOR CLR_BLUE
     DEFINE PEN oPen1 WIDTH 1 //3 COLOR CLR_HGREEN
     DEFINE PEN oPen2 WIDTH 0.5 //COLOR CLR_HMAGENTA

Try
  PRINT  oPrn NAME "cTitulo" //FROM USER PREVIEW
      if Empty( oPrn:hDC )
     //    return nil          // Printer was not installed or ready
      endif
   oPrn:SetPortrait() //oPrn:SetPortrait() VErtical oPrn:SetLandscape() Horizontal
   oPrn:SetPage(1) // 9 indica formato A4 1 Carta Letter


     REPORT oReport ;
          TITLE "LISTADO DE TIPO DE MODULOS";
          FONT oFon1 ;
          PREVIEW
           
         COLUMN TITLE "Codigo" DATA EMPLOYEE->FIRST  
                   //SHADOW GRID 1 hace la raya vertical
         COLUMN TITLE "Nombre" DATA  EMPLOYEE->LAST ;
                 SIZE 30  //SHADOW grid  //coloca sombreado
    END REPORT
     //oReport:bSkip  := { || (nLinea++, bs_siguien(oApp:aQkvende,oApp:rt) )}    

     ACTIVATE REPORT oReport //ON STARTPAGE StartPage(1,oReport) //ON STARTLINE versombra(oReport) WHILE nLinea <= nHasta



 alert("fin 13")  // //Hasta aqui funciona genera todo el error es porque no puede mostar el reporte por el problema de no definicion de ventana windows
 //if !aContl[20];b_tipmod->(dbGoTo(RegAnt));else;oRecordSet[nRecordSet]:MoveFirst();endif
 CATCH oErr
     Alert(oErr:Operation + " -> " + oErr:Description + CRLF + "Rep13_datos","SISTEMA +++++")
 END
   DbCloseAll()
 oPen:End(); oPen1:End(); oPen2:End(); oFon1:End() ; oFon2:End() ; oFon3:End()  
 Release oPen, oPen1, oPen2, oFon1, oFon2, oFon3, oReport,oPrn,nVeces,par_linea, RegAnt
return Nil

//-----------------------------------------------------------------------------

Function R14_datos(oWnd)  //Segundo modelo con PRINT no funciona con ADO , ADORR , DBF
LOCAL oPen1, oPen2, oFon1, oFon2, oFon3, oReport,oPrn, nlin ,RegAnt
LOCAL nLinea , nHasta
LOCAL oItem, nOldCol,oErr,p ,lPreview
LOCAL oVRD, oInfo,NomReport,img,nemp,nare
LOCAL nTotalPages := 0
local XLOGO := .T.
LOCAL XTITU1 := "REPORTE DE TODO"

LOCAL MODUL := "PXP610_4"
Local a1,a2,b1,b2,oDatos,cSql,pmtrz,t_fon,opx,il,npag,nl

   USE K:\v_xharb_v3\tradbf\KKVENDE NEW SHARED
 

  lPreview := .f.
   
   nArc := ".\REYSAR\" + alltrim(MODUL)+".erd"  //+".vrd"
   IF FILE (nArc)    
        oVRD := VRD():New( nArc, lPreview,, oWnd, ;
                      ,,,,, IIF( lPreview, .F., .T. ) )
   Else
      ALERT("
ERROR:Reporte No Existe.." )
      Return(.t.)
   Endif
 
   IF oVRD:lDialogCancel = .T.
      RETURN( .F. )
   ENDIF
 
  if XLOGO
     img   := "
.\Logos\LOGO.JPG"
     nemp  := "
"
     nare  := 1
  else
     nemp  := "
PERWIEROCNZXKCN ZXKCNZX KC"
     img   := "
"
     nare  := 2
  endif
//alert("
dsdsds "+str(nare,1,0))
   NomReport := "
Reporte Representante de Ventas"


Try
    p:= 1
     PRINTAREA nare OF oVRD  ITEMIDS{ 100,101,102} ITEMVALUES { img,nemp,NomReport}
     PRINTAREA 3 OF oVRD  ITEMIDS{ 300,301,302} ITEMVALUES {,,}
   
   DO WHILE .not. eof()

      V201 := KKVENDE->vend
      V202 := KKVENDE->nombre
      V203 := KKVENDE->status

      PRINTAREA 4 OF oVRD  ITEMIDS{ 400,401,402} ITEMVALUES {V201,V202,V203}

     IF oVRD:nNextRow > oVRD:nPageBreak
         PRINTAREA 10 OF oVRD  ITEMIDS{ 900,901,903,905} ;
                 ITEMVALUES {XTITU1,MODUL,DTOC(DATE())+"
"+ampm(time()),str(oVRD:oPrn:nPage,4,0)}
         // Imprimimos el pie de página (área # 5)
          // Imprimimos el encabezado nuevamente
         // Salta a la página siguiente
         PAGEBREAK oVRD
         PRINTAREA nare OF oVRD  ITEMIDS{ 100,101,102} ITEMVALUES { img,nemp,NomReport}
         PRINTAREA 3 OF oVRD  ITEMIDS{ 300,301,302} ITEMVALUES {,,}
         p++
         // Imprimimos el área de encabezados nuevamente
      ENDIF
     // ?V201
      DbSkip()  

   ENDDO

         PRINTAREA 10 OF oVRD  ITEMIDS{ 900,901,903,905} ;
                 ITEMVALUES {XTITU1,MODUL,DTOC(DATE())+"
"+ampm(time()),str(oVRD:oPrn:nPage,4,0)}

   oVRD:End()   //END EASYREPORT oVRD   //
alert("
Fin 14 ")
   DbCloseAll()

 CATCH oErr
     Alert(oErr:Operation + "
-> " + oErr:Description + CRLF + "Rep4_datos (9)","dnsdfhdjf")
 END

RETURN (.T.)

Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1067
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Re: Ayuda Harbour en modo consola (PRINT,REPORT,EYSAREPOR)

Postby Antonio Linares » Sat Feb 04, 2017 10:28 am

Ruben,

El modo consola de Windows no permite crear ciertos elementos de Windows,
de ahi que obtengas esos errores.

Tienes que portar la aplicación desde consola a GUI
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42073
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: jose_murugosa and 60 guests