10  ' ============ ::::::::   MENARG   :::::::: ===========================

    ' :::::::  ANALISIS DE VENTAS
    '
    ' SISTEMAS SIERRA SA DE CV                        MENU PRINCIPAL
    ' 30-JUN-2003  1635 Creaci¢n inicial del programa
    ' =====================================================================

    ' $INCLUDE: 'DECLIB.BAS'
      COMMON SHARED z,w,l,s$,keypressed
      CLOSE:GOSUB 9802
    ' $INCLUDE: 'PRMARG.BAS'

20  CLS                                              ' borra pantalla
    GOSUB 10010                                      ' cuadro
    SISTEMA$="ANALISIS DE VENTAS"                    ' sistema
    MENU$="Men£ Principal"                           ' menu
    GOSUB 8300                                       ' encabezado
    COLOR 7,0

    DespliegaFunciones 22, "Ventas,Totales","Ventas,Localiz","Ventas,Plu","Ventas,Mesero","Venta en,Unidades","Clientes,Atendidos","Par me-,tros","Salir del,Sistema"

100 OPCION$(1)="1) Ventas"
    OPCION$(2)="2) Cancelaciones"
    OPCION$(3)="3) Mantenimiento"
    MenuOpciones 8,10,12,29,3,OPCION$,257,OP01%,DM01%,IND%
    DM01%=0
    LOCATE 1,1,1:PRINT ""
    IF IND%<>27 THEN 150                              ' no es esc
110 CLOSE
    END

150 IF OP01%>100 THEN FUN%=OP01%:GOTO 900             ' imprime funciones
    ON OP01% GOTO 200,400,500

200                                                   ' VENTAS
    AP1%=VARPTR(V1%(1)):CALL SAVESCRN(1,AP1%)         ' salva ventana

202 OPCION$(1)="1) Totales"
    OPCION$(2)="2) Por localizaci¢n"
    OPCION$(3)="3) Por supercategor¡a"
    OPCION$(4)="4) Por categor¡a"
    OPCION$(5)="5) Por subcategor¡a"
    OPCION$(6)="6) Por plu"
    OPCION$(7)="7) Por mesero"
    OPCION$(8)="8) Por hora"
    MenuOpciones 10,20,19,44,8,OPCION$,257,OP02%,DM02%,IND%
    DM02%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 206                              ' no es esc
204    CALL RESTSCRN(1,AP1%)
       DM01%=1                                        ' no despliega menu
       IF IP=0 THEN 100 ELSE 200

206 IF OP02%>100 THEN FUN%=OP02%:GOTO 900             ' imprime funciones
    IF OP02%=1 THEN 210                               ' totales
    IF OP02%=2 THEN 220                               ' por localizacion
    IF OP02%=3 THEN 230                               ' por supercategoria
    IF OP02%=4 THEN 240                               ' por categoria
    IF OP02%=5 THEN 250                               ' por subcategoria
    IF OP02%=6 THEN 260                               ' por plu
    IF OP02%=7 THEN 270                               ' por mesero
    IF OP02%=8 THEN 280                               ' por hora
    GOTO 202

210                                                   ' TOTALES
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

212 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    OPCION$(3)="3) Por n£mero de cuentas"
    OPCION$(4)="4) Por n£mero de notas"
    OPCION$(5)="5) Por clientes atendidos"
    OPCION$(6)="6) Consumo prom x cliente"
    OPCION$(7)="7) Consumo prom x cuenta"
    MenuOpciones 12,37,20,65,7,OPCION$,257,OP06%,DM06%,IND%
    DM06%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 216                              ' no es esc
214    CALL RESTSCRN(2,AP2%)
       DM02%=1                                        ' no despliega menu
       IF IP=0 THEN 202 ELSE 210

216 IF OP06%>100 THEN FUN%=OP06%:GOTO 900             ' imprime funciones
    IF OP06%=1 THEN CLOSE:SHELL "\SIEARG2\VT1ARG":IP=1:GOTO 214 ' vtas por importe
    IF OP06%=2 THEN CLOSE:SHELL "\SIEARG2\VT2ARG":IP=1:GOTO 214 ' vtas en unidades
    IF OP06%=3 THEN CLOSE:SHELL "\SIEARG2\VT3ARG":IP=1:GOTO 214 ' vtas x num de cuentas
    IF OP06%=4 THEN CLOSE:SHELL "\SIEARG2\VT4ARG":IP=1:GOTO 214 ' vtas x num de notas
    IF OP06%=5 THEN CLOSE:SHELL "\SIEARG2\VT5ARG":IP=1:GOTO 214 ' vtas x cli atendidos
    IF OP06%=6 THEN CLOSE:SHELL "\SIEARG2\VT6ARG":IP=1:GOTO 214 ' consumo prom x cliente
    IF OP06%=7 THEN CLOSE:SHELL "\SIEARG2\VT7ARG":IP=1:GOTO 214 ' consumo prom x cuenta
    GOTO 212

220                                                   ' LOCALIZACION
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

222 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    OPCION$(3)="3) Por n£mero de cuentas"
    OPCION$(4)="4) Por n£mero de notas"
    OPCION$(5)="5) Por clientes atendidos"
    OPCION$(6)="6) Consumo prom x cliente"
    OPCION$(7)="7) Consumo prom x cuenta"
    MenuOpciones 12,37,20,65,7,OPCION$,257,OP07%,DM07%,IND%
    DM07%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 226                              ' no es esc
224    CALL RESTSCRN(2,AP2%)
       DM02%=1                                        ' no despliega menu
       IF IP=0 THEN 202 ELSE 220

226 IF OP07%>100 THEN FUN%=OP07%:GOTO 900             ' imprime funciones
    IF OP07%=1 THEN CLOSE:SHELL "\SIEARG2\VL1ARG":IP=1:GOTO 224 ' vtas por importe
    IF OP07%=2 THEN CLOSE:SHELL "\SIEARG2\VL2ARG":IP=1:GOTO 224 ' vtas en unidades
    IF OP07%=3 THEN CLOSE:SHELL "\SIEARG2\VL3ARG":IP=1:GOTO 224 ' vtas x num de cuentas
    IF OP07%=4 THEN CLOSE:SHELL "\SIEARG2\VL4ARG":IP=1:GOTO 224 ' vtas x num de notas
    IF OP07%=5 THEN CLOSE:SHELL "\SIEARG2\VL5ARG":IP=1:GOTO 224 ' vtas x cli atendidos
    IF OP07%=6 THEN CLOSE:SHELL "\SIEARG2\VL6ARG":IP=1:GOTO 224 ' consumo prom x cliente
    IF OP07%=7 THEN CLOSE:SHELL "\SIEARG2\VL7ARG":IP=1:GOTO 224 ' consumo prom x cuenta
    GOTO 222

230                                                   ' SUPERCATEGORIA
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

232 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    MenuOpciones 17,37,20,54,2,OPCION$,257,OP08%,DM08%,IND%
    DM08%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 236                              ' no es esc
234    CALL RESTSCRN(2,AP2%)
       DM02%=1                                        ' no despliega menu
       IF IP=0 THEN 202 ELSE 230

236 IF OP08%>100 THEN FUN%=OP08%:GOTO 900             ' imprime funciones
    IF OP08%=1 THEN CLOSE:SHELL "\SIEARG2\VS1ARG":IP=1:GOTO 234 ' vtas por importe
    IF OP08%=2 THEN CLOSE:SHELL "\SIEARG2\VS2ARG":IP=1:GOTO 234 ' vtas en unidades
    GOTO 232

240                                                   ' CATEGORIA
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

242 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    MenuOpciones 17,37,20,54,2,OPCION$,257,OP12%,DM12%,IND%
    DM12%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 246                              ' no es esc
244    CALL RESTSCRN(2,AP2%)
       DM02%=1                                        ' no despliega menu
       IF IP=0 THEN 202 ELSE 240

246 IF OP12%>100 THEN FUN%=OP12%:GOTO 900             ' imprime funciones
    IF OP12%=1 THEN CLOSE:SHELL "\SIEARG2\VC1ARG":IP=1:GOTO 244 ' vtas por importe
    IF OP12%=2 THEN CLOSE:SHELL "\SIEARG2\VC2ARG":IP=1:GOTO 244 ' vtas en unidades
    GOTO 242

250                                                   ' SUBCATEGORIA
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

252 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    MenuOpciones 17,37,20,54,2,OPCION$,257,OP13%,DM13%,IND%
    DM13%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 256                              ' no es esc
254    CALL RESTSCRN(2,AP2%)
       DM02%=1                                        ' no despliega menu
       IF IP=0 THEN 202 ELSE 250

256 IF OP13%>100 THEN FUN%=OP13%:GOTO 900             ' imprime funciones
    IF OP13%=1 THEN CLOSE:SHELL "\SIEARG2\VB1ARG":IP=1:GOTO 254 ' vtas por importe
    IF OP13%=2 THEN CLOSE:SHELL "\SIEARG2\VB2ARG":IP=1:GOTO 254 ' vtas en unidades
    GOTO 252

260                                                   ' PLU
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

262 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    OPCION$(3)="3) Alto movimiento"
    OPCION$(4)="4) Por importe anual"
    OPCION$(5)="5) En unidades anual"
    OPCION$(6)="6) Alto mov. x rango"
    MenuOpciones 14,37,21,60,6,OPCION$,257,OP10%,DM10%,IND%
    DM10%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 266                              ' no es esc
264    CALL RESTSCRN(2,AP2%)
       DM02%=1                                        ' no despliega menu
       IF IP=0 THEN 202 ELSE 260

266 IF OP10%>100 THEN FUN%=OP10%:GOTO 900             ' imprime funciones
    IF OP10%=1 THEN CLOSE:SHELL "\SIEARG2\VP1ARG":IP=1:GOTO 264 ' vtas por importe
    IF OP10%=2 THEN CLOSE:SHELL "\SIEARG2\VP2ARG":IP=1:GOTO 264 ' vtas en unidades
    IF OP10%=3 THEN CLOSE:SHELL "\SIEARG2\VP3ARG":IP=1:GOTO 264 ' alto movimiento
    IF OP10%=4 THEN CLOSE:SHELL "\SIEARG2\VP4ARG":IP=1:GOTO 264 ' vtas por importe anual
    IF OP10%=5 THEN CLOSE:SHELL "\SIEARG2\VP5ARG":IP=1:GOTO 264 ' vtas en unidades anual
    IF OP10%=6 THEN CLOSE:SHELL "\SIEARG2\VP6ARG":IP=1:GOTO 264 ' alto movto por rango
    GOTO 262

270                                                   ' MESERO
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

272 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    OPCION$(3)="3) Por n£mero de cuentas"
    OPCION$(4)="4) Por clientes atendidos"
    OPCION$(5)="5) Consumo prom x cliente"
    OPCION$(6)="6) Consumo prom x cuenta"
    OPCION$(7)="7) Por productividad"
    MenuOpciones 12,37,20,65,7,OPCION$,257,OP09%,DM09%,IND%
    DM09%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 276                              ' no es esc
274    CALL RESTSCRN(2,AP2%)
       DM02%=1                                        ' no despliega menu
       IF IP=0 THEN 202 ELSE 270

276 IF OP09%>100 THEN FUN%=OP09%:GOTO 900             ' imprime funciones
    IF OP09%=1 THEN CLOSE:SHELL "\SIEARG2\VM1ARG":IP=1:GOTO 274 ' vtas por importe
    IF OP09%=2 THEN CLOSE:SHELL "\SIEARG2\VM2ARG":IP=1:GOTO 274 ' vtas en unidades
    IF OP09%=3 THEN CLOSE:SHELL "\SIEARG2\VM3ARG":IP=1:GOTO 274 ' vtas x num de cuentas
    IF OP09%=4 THEN CLOSE:SHELL "\SIEARG2\VM4ARG":IP=1:GOTO 274 ' vtas x cli atendidos
    IF OP09%=5 THEN CLOSE:SHELL "\SIEARG2\VM5ARG":IP=1:GOTO 274 ' consumo prom x cliente
    IF OP09%=6 THEN CLOSE:SHELL "\SIEARG2\VM6ARG":IP=1:GOTO 274 ' consumo prom x cuenta
    IF OP09%=7 THEN CLOSE:SHELL "\SIEARG2\VM7ARG":IP=1:GOTO 274 ' por productividad
    GOTO 272

280                                                   ' HORA
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

282 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    OPCION$(3)="3) Por n£mero de cuentas"
    OPCION$(4)="4) Por n£mero de notas"
    OPCION$(5)="5) Por clientes atendidos"
    OPCION$(6)="6) Consumo prom x cliente"
    OPCION$(7)="7) Consumo prom x cuenta"
    'OPCION$(8)="8) Grupo mensual importe"
    'OPCION$(9)="9) Grupo mensual unidades"
    MenuOpciones 12,37,20,65,7,OPCION$,257,OP11%,DM11%,IND%
    DM11%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 286                              ' no es esc
284    CALL RESTSCRN(2,AP2%)
       DM02%=1                                        ' no despliega menu
       IF IP=0 THEN 202 ELSE 280

286 IF OP11%>100 THEN FUN%=OP11%:GOTO 900             ' imprime funciones
    IF OP11%=1 THEN CLOSE:SHELL "\SIEARG2\VH1ARG":IP=1:GOTO 284 ' vtas por importe
    IF OP11%=2 THEN CLOSE:SHELL "\SIEARG2\VH2ARG":IP=1:GOTO 284 ' vtas en unidades
    IF OP11%=3 THEN CLOSE:SHELL "\SIEARG2\VH3ARG":IP=1:GOTO 284 ' vtas x num de cuentas
    IF OP11%=4 THEN CLOSE:SHELL "\SIEARG2\VH4ARG":IP=1:GOTO 284 ' vtas x num de notas
    IF OP11%=5 THEN CLOSE:SHELL "\SIEARG2\VH5ARG":IP=1:GOTO 284 ' vtas x cli atendidos
    IF OP11%=6 THEN CLOSE:SHELL "\SIEARG2\VH6ARG":IP=1:GOTO 284 ' consumo prom x cliente
    IF OP11%=7 THEN CLOSE:SHELL "\SIEARG2\VH7ARG":IP=1:GOTO 284 ' consumo prom x cuenta
    'IF OP11%=8 THEN CLOSE:SHELL "\SIEARG2\VH8ARG":IP=1:GOTO 284  grupo mensual importe
    'IF OP11%=9 THEN CLOSE:SHELL "\SIEARG2\VH9ARG":IP=1:GOTO 284  grupo mensual unidades
    GOTO 282

400                                                   ' CANCELACIONES
    AP1%=VARPTR(V1%(1)):CALL SAVESCRN(1,AP1%)         ' salva ventana

402 OPCION$(1)="1) Totales"
    OPCION$(2)="2) Por localizaci¢n"
    OPCION$(3)="3) Por supercategor¡a"
    OPCION$(4)="4) Por categor¡a"
    OPCION$(5)="5) Por subcategor¡a"
    OPCION$(6)="6) Por plu"
    OPCION$(7)="7) Por mesero"
    OPCION$(8)="8) Por hora"
    MenuOpciones 10,20,19,44,8,OPCION$,257,OP04%,DM04%,IND%
    DM04%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 406                              ' no es esc
404    CALL RESTSCRN(1,AP1%)
       DM01%=1                                        ' no despliega menu
       IF IP=0 THEN 100 ELSE 400

406 IF OP04%>100 THEN FUN%=OP04%:GOTO 900             ' imprime funciones
    IF OP04%=1 THEN 410                               ' totales
    IF OP04%=2 THEN 420                               ' por localizacion
    IF OP04%=3 THEN 430                               ' por supercategoria
    IF OP04%=4 THEN 440                               ' por categoria
    IF OP04%=5 THEN 450                               ' por subcategoria
    IF OP04%=6 THEN 460                               ' por plu
    IF OP04%=7 THEN 470                               ' por mesero
    IF OP04%=8 THEN 480                               ' por hora
    GOTO 402

410                                                   ' CANC TOTALES
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

412 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    MenuOpciones 17,37,20,54,2,OPCION$,257,OP14%,DM14%,IND%
    DM14%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 416                              ' no es esc
414    CALL RESTSCRN(2,AP2%)
       DM04%=1                                        ' no despliega menu
       IF IP=0 THEN 402 ELSE 410

416 IF OP14%>100 THEN FUN%=OP14%:GOTO 900             ' imprime funciones
    IF OP14%=1 THEN CLOSE:SHELL "\SIEARG2\CT1ARG":IP=1:GOTO 414 ' canc por importe
    IF OP14%=2 THEN CLOSE:SHELL "\SIEARG2\CT2ARG":IP=1:GOTO 414 ' canc en unidades
    GOTO 412

420                                                   ' CANC LOCALIZACION
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

422 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    MenuOpciones 17,37,20,54,2,OPCION$,257,OP15%,DM15%,IND%
    DM15%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 426                              ' no es esc
424    CALL RESTSCRN(2,AP2%)
       DM04%=1                                        ' no despliega menu
       IF IP=0 THEN 402 ELSE 420

426 IF OP15%>100 THEN FUN%=OP15%:GOTO 900             ' imprime funciones
    IF OP15%=1 THEN CLOSE:SHELL "\SIEARG2\CL1ARG":IP=1:GOTO 424 ' canc por importe
    IF OP15%=2 THEN CLOSE:SHELL "\SIEARG2\CL2ARG":IP=1:GOTO 424 ' canc en unidades
    GOTO 422

430                                                   ' CANC SUPERCATEGORIA
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

432 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    MenuOpciones 17,37,20,54,2,OPCION$,257,OP16%,DM16%,IND%
    DM16%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 436                              ' no es esc
434    CALL RESTSCRN(2,AP2%)
       DM04%=1                                        ' no despliega menu
       IF IP=0 THEN 402 ELSE 430

436 IF OP16%>100 THEN FUN%=OP16%:GOTO 900             ' imprime funciones
    IF OP16%=1 THEN CLOSE:SHELL "\SIEARG2\CS1ARG":IP=1:GOTO 434 ' canc por importe
    IF OP16%=2 THEN CLOSE:SHELL "\SIEARG2\CS2ARG":IP=1:GOTO 434 ' canc en unidades
    GOTO 432

440                                                   ' CANC CATEGORIA
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

442 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    MenuOpciones 17,37,20,54,2,OPCION$,257,OP17%,DM17%,IND%
    DM17%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 446                              ' no es esc
444    CALL RESTSCRN(2,AP2%)
       DM04%=1                                        ' no despliega menu
       IF IP=0 THEN 402 ELSE 440

446 IF OP17%>100 THEN FUN%=OP17%:GOTO 900             ' imprime funciones
    IF OP17%=1 THEN CLOSE:SHELL "\SIEARG2\CC1ARG":IP=1:GOTO 444 ' canc por importe
    IF OP17%=2 THEN CLOSE:SHELL "\SIEARG2\CC2ARG":IP=1:GOTO 444 ' canc en unidades
    GOTO 442

450                                                   ' CANC SUBCATEGORIA
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

452 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    MenuOpciones 17,37,20,54,2,OPCION$,257,OP18%,DM18%,IND%
    DM18%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 456                              ' no es esc
454    CALL RESTSCRN(2,AP2%)
       DM04%=1                                        ' no despliega menu
       IF IP=0 THEN 402 ELSE 450

456 IF OP18%>100 THEN FUN%=OP18%:GOTO 900             ' imprime funciones
    IF OP18%=1 THEN CLOSE:SHELL "\SIEARG2\CB1ARG":IP=1:GOTO 454 ' canc por importe
    IF OP18%=2 THEN CLOSE:SHELL "\SIEARG2\CB2ARG":IP=1:GOTO 454 ' canc en unidades
    GOTO 452

460                                                   ' CANC PLU
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

462 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    MenuOpciones 17,37,20,54,2,OPCION$,257,OP19%,DM19%,IND%
    DM19%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 466                              ' no es esc
464    CALL RESTSCRN(2,AP2%)
       DM04%=1                                        ' no despliega menu
       IF IP=0 THEN 402 ELSE 460

466 IF OP19%>100 THEN FUN%=OP19%:GOTO 900             ' imprime funciones
    IF OP19%=1 THEN CLOSE:SHELL "\SIEARG2\CP1ARG":IP=1:GOTO 464 ' canc por importe
    IF OP19%=2 THEN CLOSE:SHELL "\SIEARG2\CP2ARG":IP=1:GOTO 464 ' canc en unidades
    GOTO 462

470                                                   ' CANC MESERO
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

472 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    MenuOpciones 17,37,20,54,2,OPCION$,257,OP20%,DM20%,IND%
    DM20%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 476                              ' no es esc
474    CALL RESTSCRN(2,AP2%)
       DM04%=1                                        ' no despliega menu
       IF IP=0 THEN 402 ELSE 470

476 IF OP20%>100 THEN FUN%=OP20%:GOTO 900             ' imprime funciones
    IF OP20%=1 THEN CLOSE:SHELL "\SIEARG2\CM1ARG":IP=1:GOTO 474 ' canc por importe
    IF OP20%=2 THEN CLOSE:SHELL "\SIEARG2\CM2ARG":IP=1:GOTO 474 ' canc en unidades
    GOTO 472

480                                                   ' CANC HORA
    AP2%=VARPTR(V2%(2)):CALL SAVESCRN(2,AP2%)         ' salva ventana

482 OPCION$(1)="1) Por importe"
    OPCION$(2)="2) En unidades"
    MenuOpciones 17,37,20,54,2,OPCION$,257,OP21%,DM21%,IND%
    DM21%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 486                              ' no es esc
484    CALL RESTSCRN(2,AP2%)
       DM04%=1                                        ' no despliega menu
       IF IP=0 THEN 402 ELSE 480

486 IF OP21%>100 THEN FUN%=OP21%:GOTO 900             ' imprime funciones
    IF OP21%=1 THEN CLOSE:SHELL "\SIEARG2\CH1ARG":IP=1:GOTO 484 ' canc por importe
    IF OP21%=2 THEN CLOSE:SHELL "\SIEARG2\CH2ARG":IP=1:GOTO 484 ' canc en unidades
    GOTO 482

500                                                   ' MANTENIMIENTO
    AP1%=VARPTR(V1%(1)):CALL SAVESCRN(1,AP1%)         ' salva ventana

502 OPCION$(1)="1) Par metros"
    OPCION$(2)="2) Acumula d¡as anteriores  "
    OPCION$(3)="3) Borra   d¡as anteriores  "
    OPCION$(4)="4) Actualiza nombres PLUs   "
    OPCION$(5)="5) Actualiza nombres numeros"
    OPCION$(6)="6) Modifica claves de acceso"
    OPCION$(7)="7) Modifica tarjetas"
    MenuOpciones 10,20,18,51,7,OPCION$,257,OP05%,DM05%,IND%
    DM05%=0
    LOCATE 1,1,1:PRINT ""
    IP=0
    IF IND%<>27 THEN 600                              ' no es esc
504    CALL RESTSCRN(1,AP1%)
       DM01%=1                                        ' no despliega menu
       IF IP=0 THEN 100 ELSE 500

600 IF OP05%>100 THEN FUN%=OP05%:GOTO 900             ' imprime funciones
    IF OP05%=1 THEN CLOSE:SHELL "\SIEARG2\PARARG":IP=1:GOTO 504 ' parametros
    IF OP05%=2 THEN CLOSE:SHELL "\SIEARG2\ADAARG":IP=1:GOTO 504 ' acumula dias anteriores
    IF OP05%=3 THEN CLOSE:SHELL "\SIEARG2\BDAARG":IP=1:GOTO 504 ' borra   dias anteriores
    IF OP05%=4 THEN CLOSE:SHELL "\SIEARG2\ANPARG":IP=1:GOTO 504 ' actualiza nombre de plus
    IF OP05%=5 THEN CLOSE:SHELL "\SIEARG2\ANMARG":IP=1:GOTO 504 ' actualiza nombre de numeros
    IF OP05%=6 THEN CLOSE:SHELL "\SIEARG2\MCAARG":IP=1:GOTO 504 ' modifica claves de acceso
    IF OP05%=7 THEN CLOSE:SHELL "\SIEARG2\AEMARG":IP=1:GOTO 504 ' modifica tarjetas
    GOTO 502

900 IF FUN%=101 THEN CLOSE:SHELL "\SIEARG2\VT1ARG":IP=1:GOTO 10 ' ventas totales
    IF FUN%=102 THEN CLOSE:SHELL "\SIEARG2\VL1ARG":IP=1:GOTO 10 ' ventas por localizacion
    IF FUN%=103 THEN CLOSE:SHELL "\SIEARG2\VP1ARG":IP=1:GOTO 10 ' ventas por plu
    IF FUN%=104 THEN CLOSE:SHELL "\SIEARG2\VM1ARG":IP=1:GOTO 10 ' ventas por mesero  
    IF FUN%=105 THEN CLOSE:SHELL "\SIEARG2\VT2ARG":IP=1:GOTO 10 ' ventas en unidades
    IF FUN%=106 THEN CLOSE:SHELL "\SIEARG2\VT5ARG":IP=1:GOTO 10 ' clientes atendidos  
    IF FUN%=107 THEN CLOSE:SHELL "\SIEARG2\PARARG":IP=1:GOTO 10 ' parametros
    IF FUN%=108 THEN 110                                        ' fin
    GOTO 100                                                    ' menu principal

    ' $INCLUDE: 'LEFARG.BAS'
    ' $INCLUDE: 'R40GRL.BAS'
    ' $INCLUDE: 'R11GRL.BAS'
    ' $INCLUDE: 'SIELIB.BAS'
    ' $INCLUDE: 'VERSFT.BAS'

