SET PROCEDURE TO REORGA
SET PROCEDURE TO FACTURAS
SET PROCEDURE TO CLIENTES
SET PROCEDURE TO COPYFACT
SET PROCEDURE TO BORRAFAC
SET PROCEDURE TO CLIENTES
SET PROCEDURE TO NUMEROS
SET PROCEDURE TO FACTURAR
SET PROCEDURE TO FACTURA1
SET PROCEDURE TO LISFACTU
SET PROCEDURE TO LISFAIVA
SET PROCEDURE TO LISTACLI
SET PROCEDURE TO LISFACLI
SET PROCEDURE TO BORRAR
SET PROCEDURE TO SACAIMPR
SET PROCEDURE TO CREAFI
SET PROCEDURE TO DESCOMP
SET PROCEDURE TO LISTARE
SET PROCEDURE TO ANNADIR
SET PROCEDURE TO CREAPDF
#include "Appevent.ch"
#include "Xbp.ch"
**************
PROCEDURE Main
LOCAL nEvent, mp1, mp2, oXbp
SET SCOREBOARD OFF
SET DATE BRITISH
SET CENTURY ON
SET EPOCH TO 2000
SetAppWindow():useShortCuts := .T.
SetColor( "N/W" )
SetCancel( .F. )
CLS
SetMouse(.T.)
do reorga
CLS
SetAppWindow():mouseMode := XBPCRT_MOUSEMODE_PM
CreateMenuSystem( SetAppWindow():menuBar() )
DO WHILE nEvent <> xbeP_Close
CLOSE DATABASES
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
PROCEDURE CreateMenuSystem( oMenubar )
LOCAL oMenu, oSubMenu
********
oMenu := XbpMenu():new( oMenuBar )
oMenu:title := "~Facturas"
oMenu:create()
oMenu:itemSelected := {|nItem| MenuDispatcher( 100+nItem ) }
oMenu:addItem( {"~Facturas" , NIL} )
oMenu:addItem( {"~Copiar Facturas", NIL} )
oMenu:addItem( {"~Borrar Facturas", NIL} )
oMenubar:addItem( {oMenu, NIL} )
********
oMenu := XbpMenu():new( oMenuBar )
oMenu:title := "~Ficheros"
oMenu:create()
oMenu:itemSelected := {|nItem| MenuDispatcher( 200+nItem ) }
oMenu:addItem( {"~Clientes" , NIL} )
oMenu:addItem( {"~N£m Recibos y Facturas", NIL} )
oMenu:addItem( {"~Facturas", NIL} )
oMenu:addItem( {"~Recibos", NIL} )
oMenu:addItem( {"~Fichero Recibido", NIL} )
oMenu:addItem( {"~Fichero de datos", NIL} )
oMenubar:addItem( {oMenu, NIL} )
********
oMenu := XbpMenu():new( oMenuBar )
oMenu:title := "~Listados"
oMenu:create()
oMenu:itemSelected := {|nItem| MenuDispatcher( 300+nItem ) }
oMenu:addItem( {"~Facturar" , NIL} )
oMenu:addItem( {"~Listados Fac/Rec.", NIL} )
oMenu:addItem( {"~Facturaci¢n Por Cliente", NIL} )
oMenu:addItem( {"~Entre fechas por Ivas", NIL} )
oMenu:addItem( {"~Clientes", NIL} )
oMenu:addItem( {"~Lista Facturas/Recibos Recibidos", NIL} )
oMenu:addItem( {"~Crea fichero PDF de una Factura o Recibo", NIL} )
oMenubar:addItem( {oMenu, NIL} )
********
oMenu := XbpMenu():new( oMenuBar )
oMenu:title := "~Utilidades"
oMenu:create()
oMenu:itemSelected := {|nItem| MenuDispatcher( 400+nItem ) }
oMenu:addItem( {"~Reorganizar Ficheros" , NIL} )
oMenu:addItem( {"~Borrar F/R entre Fechas", NIL} )
oMenu:addItem( {"~Crear Fichero a Enviar", NIL} )
oMenu:addItem( {"~Descomprimir Fichero Recibido", NIL} )
oMenu:addItem( {"~A¤adir Fichero Recibido al Historico", NIL} )
oMenubar:addItem( {oMenu, NIL} )
********
oMenu := XbpMenu():new( oMenuBar )
oMenu:title := "~Salir"
oMenu:create()
oMenu:itemSelected := {|nItem| MenuDispatcher( 500+nItem ) }
oMenu:addItem( {"~Salir", NIL} )
oMenubar:addItem( {oMenu, NIL} )
********
RETURN
********
PROCEDURE MenuDispatcher( nSelection )
DO CASE
CASE nSelection == 101
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
do facturas
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 102
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO COPYFACT
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 103
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO BORRAFAC
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 201
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO CLIENTES
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 202
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO NUMEROS
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 203
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
USE HISFACTU EXCLUSIV
SET INDEX TO HISFACTU
EDITDB(.T.)
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 204
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
USE HISRECI EXCLUSIV
SET INDEX TO HISRECI
EDITDB(.T.)
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 205
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
USE RECIBIDO EXCLUSIV
SET INDEX TO FAC
EDITDB(.T.)
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 206
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
USE ZONA EXCLUSIV
EDITDB(.T.)
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 301
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
CLEAR
DO FACTURAR
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 302
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO LISFACTU
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 303
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO LISFACLI
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 304
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO LISFAIVA
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 305
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO LISTACLI
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 306
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO LISTARE
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 307
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO CREAPDF
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 401
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO REORGA
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 402
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO BORRAR
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 403
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO CREAFI
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 404
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO DESCOMP
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 405
SetMouse(.F.)
SAVE SCREEN TO UNA
SET CURSOR ON
DO ANNADIR
SET CURSOR OFF
CLEAR
RESTORE SCREEN FROM UNA
SetMouse(.T.)
CASE nSelection == 501
CLOSE ALL
QUIT
ENDCASE
RETURN
*******************