Ayuda Harbour en modo consola (PRINT,REPORT,EYSAREPOR)
Posted: 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.
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
#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.)