Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *:*****************************************************************************
- *:
- *: Procedure file: C:\CONTA\CONEDFIN.PRG
- *:
- *: System: CONTA
- *: Author: NABS SYSTEMS & ID SYSTEMS
- *: Copyright (c) 1994, NABS SYSTEMS
- *: Last modified: 15/07/94 12:14
- *:
- *: Procs & Fncts: LLENADO
- *: : IMPRIME
- *: : SUBTOTAL
- *: : FILL
- *: : PIMPRIME
- *: : PFILL
- *: : PSUBTOTAL
- *:
- *: Set by: SELECCION (procedure in CONTA.PRG)
- *:
- *: Calls: DESPMEM (procedure in CONUTIL.PRG)
- *: : POPERROR() (function in CONUTIL.PRG)
- *: : VALMEM (procedure in CONUTIL.PRG)
- *: : V_FECHA() (function in CONREAUX.PRG)
- *: : REPORTE (procedure in CONREAUX.PRG)
- *: : CONFIGPRINT (procedure in CONUTIL.PRG)
- *: : CONRECOM.PRG
- *: : ERRTRAP (procedure in CONUTIL.PRG)
- *:
- *: Memory Files: &ARCHMEM
- *: : CONLPT1.MEM
- *: : CONCONFI.MEM
- *:
- *: Documented 18/08/94 at 12:24 FoxDoc version 2.10f
- *:*****************************************************************************
- *********************************************************************
- * CONEDFIN.PRG
- * Version 1.0 NABS Systems 30/Dic/93
- * Version 2.2
- * CopyRight(c) 1993
- * All Rights Reserved
- * Estados Financieros
- *********************************************************************
- * MOD: 14-Feb-94.. Arreglado y actualizado.
- * MOD: 01-Mar-94.. Revision de codigo para acortarlo y vision de cuentas
- * MOD: 07-Mar-94.. Detecta errores de impresion, se dividio en procedimientos
- * hace una sola vez el llenado de cuentas.
- * MOD: 09-Mar-94.. Para que el reporte navege paginas adelante y paginas
- * hacia atras.
- * MOD: 23-Mar-94.. Para visualizar el progreso de impresion.
- * Imprimir paginas especificas.
- * MOD: 07-Abr-94.. Correcion cuando memoria insuficiente por muchas paginas
- * Y otras actualizaciones
- * MOD: 13-Abr-94.. Correcion de informes parciales para presentar las
- * cantidades correctas.
- * MOD: 15-Abr-94.. Poner el tipo de cambio correcto con fecha descendente
- * MOD: 25-Abr-94.. Prevencion y Presentacion de algunos errores.
- * MOD: 04-May-94.. Nuevo procedimiento de llenado para hacer mas rapido
- * la generacion de reportes, llamado NEWFILL
- * MOD: 13-May-94.. Los reportes se actualizan en linea por lo que solo hay
- * que detectar si existen en caso de no hacerlo se generan
- * solo se dejo el codigo para compatibilidad. No se usa
- * NEWFILL.
- * MOD: 18-May-94.. Se descarta el uso de NEWFILL por no considerarlo confiable
- * asi como el proceso de reportes en linea. Se generara
- * siempre un reporte anual, y el parcial se modificara para
- * que presente lado a lado, los datos de la fecha parcial
- * y los datos acumulados de un reporte anual. Por lo que
- * para un parcial habra que generar un anual.
- * Revision y analisis del problema.
- * MOD: 20-May-94.. Revision general de codigo y analisis de algoritmo, ya
- * que los reportes se generarn dos veces para un parcial,
- * y el formato de reporte se modificara para presentar los
- * datos del anual y parcial en uno mismo. Procesar siempre
- * los datos cada vez que se genere para dar seguridad al
- * usuario. Se eliminaran lineas de codigo para hacerlo mas
- * legible y ciertos procesos agregados se quitaran. El
- * programa hasta esta version estara bajo el nombre de
- * CONEDFIN.OLD.
- * MOD: 25-May-94.. Terminacion de revision de programa con nuevos procedi-
- * mientos.
- * MOD: 22-Jun-94.. Modificacion de codigo para terminar con nuevos proce-
- * MOD: 23-Jun-94.. dimientos y tratar de reducir el codigo del mismo median
- * te uso de procedimientos y variables publicas.
- * MOD: 04-Jul-94.. Correcion de impresion de resultados condensados.
- * MOD: 08-Jul-94.. Agregar el boton para generar reporte comparativo
- * MOD: 15-Jul-94.. Cambiar el modo de despliegue de 25 a 50 lineas.
- * MOD: 15-Nov-94.. Asegurarse de que cuando regrese al menu restaura la
- * pantalla a 25 lineas, poniendo SET DISPLAY TO VGA25
- * Error de visualizacion en barra de status cuando calcula
- * no limpiandose correctamente. Corregido.
- * MOD: 06-Dic-94.. Correcion de visualizacion pues no restauraba de 50 a
- * 25 lineas.
- * Se quito una linea de validacion de la fecha para
- * permitir sacar reportes parciales a cualquier fecha
- * tomando la fecha de inicio del ejercicio en lugar de la
- * fecha de periodo. Esta variable se llamda DESDE y esta
- * en la rutina de validacion V_FECHA de las fechas
- * MOD: 10-Dic-94.. Correcion del reporte para que cuando se genere un parcial
- * se puedan ver los MOVIMIENTOS en ese MES y el anual,
- * muestre todos los movimientos hasta la fecha FINAL
- * especificada pero desde el inicio del ejercicio, para
- * permitir que arrastre los saldos de los demas meses.
- CLEAR PROGRAM
- RELEASE WINDOWS ALL
- DO despmem
- SAVE SCREEN TO ANTERIOR
- **************************
- * Determinar los archivos de sistema, verificar su existencia
- *
- ARCHIVO1 = TRIM (V_CAMINO) + "\" + "CONAUXPS.DBF"
- ARCHIVO2 = TRIM (V_CAMINO) + "\" + "CONAUXDS.DBF"
- ARCHIVO3 = TRIM (V_CAMINO) + "\" + "CUENTAS.DBF"
- ARCHIVO4 = TRIM (V_CAMINO) + "\" + "CONTEMP.DBF"
- ARCHIVO5 = TRIM (V_CAMINO) + "\" + "CONMAIN.DBF"
- ARCHIVO6 = TRIM (V_CAMINO) + "\" + "CONHISTO.DBF"
- archivo7 = TRIM (V_CAMINO) + "\" + "CONSAL.DBF"
- archivo8 = TRIM (V_CAMINO) + "\" + "CONREPO.DBF"
- archivo9 = TRIM (v_camino) + "\" + "CONREP2.DBF"
- indice1 = TRIM( v_camino ) + "\CONAUXPS.CDX"
- indice2 = TRIM( v_camino ) + "\CONAUXDS.CDX"
- indice3 = TRIM( v_camino ) + "\CUENTAS.CDX"
- indice5 = TRIM( v_camino ) + "\CONMAIN.CDX"
- indice6 = TRIM( v_camino ) + "\CONHISTO.CDX"
- IF !FILE(archivo1) .OR. !FILE(archivo2) .OR. !FILE(archivo3) .OR. ;
- !FILE(archivo4) .OR. !FILE(archivo5) .OR. !FILE(archivo6)
- =Poperror("ADVERTENCIA: NO HAY ARCHIVOS DE ESTA EMPRESA!!")
- CLOSE DATA
- RESTORE SCREEN FROM anterior
- RETURN
- ENDIF
- IF !FILE( indice1 ) .OR. !FILE( indice2 ) .OR. !FILE( indice3 ) ;
- .OR. !FILE( indice5 ) .OR. !FILE( indice6 )
- =Poperror("ADVERTENCIA: AL MENOS UNO DE LOS ARCHIVOS NO ESTAN ORDENADOS... Vaya a Mantenimiento y REINDEXE!")
- CLOSE DATA
- RESTORE SCREEN FROM anterior
- RETURN
- ENDIF
- RELEASE col, pagina, bandera, p_sele1, v_dentro, areat, v_infor
- ON READERROR
- PUBLIC col, pagina, bandera, p_sele1, v_dentro, areat, v_infor
- STORE 0 to CAMBIO, areat, v_infor
- * Busqueda del Archivo ConConse.Mem
- ARCHMEM = TRIM (V_CAMINO) + "\" + "CONCONSE.MEM"
- IF !FILE (ARCHMEM)
- =Valmem( archmem )
- ELSE
- RESTORE FROM &ARCHMEM ADDITIVE
- ENDIF
- RESTORE FROM CONLPT1 ADDITIVE
- IF P_TIPOCARR = 1
- COL = 80
- ELSE
- COL = 136
- ENDIF
- ******* MANEJO DE LOS COLORES
- RESTORE FROM CONCONFI ADDITIVE
- colorini = IIF( acolores, [N/W,W+/B], [N/W,W+/N] )
- colordial = IIF( acolores, [N+/W, N+/W, N+/W, GR+/W, W/B, W+/R, R/W], [N+/W, N+/W, N+/W, GR+/W, W/B, W+/R, R/W] )
- colordia1 = IIF( acolores, [,,,,,GR+/N,R/B,,R/W,W/B], [,,,,,GR+/N,R/B,,R/W,W/B] )
- colordia2 = IIF( acolores, [,R/W,,,,GR+/N,R/B,,R/W,W/B], [,R/W,,,,GR+/N,R/B,,R/W,W/B] )
- colorread = IIF( acolores, [,GR+/N], [,GR+/N] )
- colorvent = IIF( acolores, [W+/B], [W+/N] )
- colormens = IIF( acolores, [W+/RB], [N/W] )
- colorven2 = IIF( acolores, [N+/W, N+/W, N+/W, GR+/W, W/B, W+/R, R/W], [N+/W, N+/W, N+/W, GR+/W, W/B, W+/R, R/W] )
- colorrea2 = IIF( acolores, [,N/W], [,N/W] )
- colorimp = IIF( acolores, "W+/G, W+/G, W+/G, W+/G, W+/G", "W+/G, W+/G, W+/G, W+/G, W+/G" )
- SET COLOR TO (colorini)
- DEFINE WINDOW PIMPRESION FROM INT((SROW()-13)/2),INT((SCOL()-61)/2) ;
- TO INT((SROW()-13)/2)+12,INT((SCOL()-61)/2)+60 ;
- TITLE " PARAMETROS IMPRESION " NOFLOAT NOCLOSE SHADOW ;
- COLOR (colordial)
- DESDE = PFECHAPERT
- HASTA = PFECHCIERRE
- A_FechaIni = DESDE
- A_FechaFin = HASTA
- p_sele1 = 1
- v_dentro = .F.
- STORE 0 TO p_pini, p_pfin
- p_print = 1
- DO WHILE .T.
- SET DISPLAY TO VGA25
- ACTIVATE WINDOW PIMPRESION
- @ 0,3 SAY "Impresi¢n:"
- @ 1,3 GET P_Sele1 PICTURE "@*RVN Pantalla;Impresora" SIZE 1,13,0 DEFAULT 1 COLOR (colordia1) VALID V_Fecha()
- @ 0,22 SAY "Informe:"
- @ 1,22 GET Informe PICTURE "@*RVN Parcial;Anual " DEFAULT 1 COLOR (colordia1) VALID V_Fecha()
- @ 0,42 SAY "Documento:"
- @ 1,42 GET p_print PICTURE "@*RVN Todo ;Por Paginas" DEFAULT 1 COLOR (colordia1)
- @ 4,3 SAY "Nivel: " SIZE 1,15, 0
- @ 5,3 GET P_Nivel PICTURE "@*RVN Cuenta;SCta;SSCta;SSSCta" ;
- SIZE 1,10,0 DEFAULT 1 COLOR (colordia1)
- @ 4,22 SAY "Fecha:"
- * @ 5,22 SAY "De: " GET A_FechaIni RANGE Desde, Hasta COLOR (colordia2)
- * @ 7,22 SAY "A : " GET A_FechaFin RANGE Desde, Hasta COLOR (colordia2)
- @ 5,22 SAY "De: " GET A_FechaIni COLOR (colordia2)
- @ 7,22 SAY "A : " GET A_FechaFin COLOR (colordia2)
- @ 4,42 SAY "Paginas:"
- @ 5,42 say "De: " GET p_pini PICTURE "9999" WHEN p_print=2 COLOR (colordia2)
- @ 7,42 SAY "A : " GET p_pfin PICTURE "9999" WHEN p_print=2 COLOR (colordia2)
- @ 10,2 GET Selec3 ;
- PICTURE "@*HT \!OK;\?Cancela;Configura;Rep. Comp." SIZE 1,11,3 DEFAULT 1 COLOR (colordia1)
- @ 9,0,9,58 BOX "ÚÄ¿³ÙÄÀ³Á"
- READ CYCLE COLOR (colorread)
- DO CASE
- CASE Selec3 = 1
- DEACTIVATE WINDOW PIMPRESION
- DO REPORTE
- CASE Selec3 = 3
- DO CONFIGPRINT
- CASE Selec3 = 4
- DO conrecom
- OTHERWISE
- EXIT
- ENDCASE
- ENDDO
- DEACTIVATE WINDOW ALL
- RELEASE WINDOW pimpresion, pantalla, status, imprimir
- RELEASE col, pagina, bandera, p_sele1, v_dentro, areat, v_infor, sp
- SET DISPLAY TO VGA25
- CLOSE DATA
- ON ESCAPE
- ON ERROR DO ERRTRAP WITH PROGRAM(), LINENO(), ERROR(), MESSAGE(), MESSAGE(1)
- DO despmem
- RETURN
- ***********************************************
- * FUNCIONES PROPIAS DE LA CAJA DE DIALOGO
- ***********************************************
- *!*****************************************************************************
- *!
- *! Function: V_FECHA()
- *!
- *! Called by: CONREAUX.PRG
- *! : CONRECON.PRG
- *! : CONEDFIN.PRG
- *! : CONRETEN.PRG
- *! : CONRERAS.PRG
- *! : CONRETIP.PRG
- *! : CONRECOM.PRG
- *!
- *!*****************************************************************************
- FUNCTION V_Fecha
- * Fechas Tope = Apertura y Cierre Ejercicio
- * Cuando Pantalla y Parcial -> Default = Periodo Abierto; SIN TOPE
- * Cuando Impresora y Parcial -> Default = Desde 30 Dias antes de 1 Dia antes del Dia de la apertura del periodo abierto actual
- * Hasta 1 Dia antes de la apertura del periodo abierto actual
- * Tope = Hasta 1 Dia antes de la apertura del periodo abierto actual
- * Cuando Pantalla y Anual -> Default = Desde Apertura Hasta Cierre Ejercicio; SIN TOPE
- * Cuando Impresora y Anual -> Default = Desde Apertura Hasta 1 Dia antes de la apertura del periodo abierto actual
- * Tope = Hasta 1 Dia antes de la apertura del periodo abierto actual
- IF Informe = 1 AND P_Sele1 = 1 && Parcial en Pantalla
- * La linea siguiente se elimina para poder sacar parciales a cualquier fecha
- * Desde = PFECHAPERT
- Desde = pfechiniej
- Hasta = PFECHCIERRE
- A_FechaIni = Desde
- A_FechaFin = Hasta
- @ 5,22 SAY "De: " + DTOC (A_FechaIni)
- @ 7,22 SAY "A : " + DTOC (A_FechaFin)
- ENDIF
- IF Informe = 2 AND P_Sele1 = 1 && Anual en Pantalla
- Desde = PFECHINIEJ
- Hasta = PFECHFINEJ
- A_FechaIni = Desde
- A_FechaFin = Hasta
- @ 5,22 SAY "De: " + DTOC (A_FechaIni)
- @ 7,22 SAY "A : " + DTOC (A_FechaFin)
- ENDIF
- **** Momentaneamente se inhiben estas opciones OK?
- *IF Informe = 1 AND P_Sele1 = 2 && Parcial en Impresora
- * Desde = PFECHAPERT-29
- * Hasta = PFECHAPERT-1
- * A_FechaIni = Desde
- * A_FechaFin = Hasta
- * @ 5,22 SAY "De: " + DTOC (A_FechaIni)
- * @ 7,22 SAY "A : " + DTOC (A_FechaFin)
- *ENDIF
- *IF Informe = 2 AND P_Sele1 = 2 && Anual en Impresora
- * Desde = PFECHINIEJ
- * Hasta = PFECHAPERT-1
- * A_FechaIni = Desde
- * A_FechaFin = Hasta
- * @ 5,22 SAY "De: " + DTOC (A_FechaIni)
- * @ 7,22 SAY "A : " + DTOC (A_FechaFin)
- *ENDIF
- *************************************
- IF Informe = 1 AND P_Sele1 = 2 && Parcial en Pantalla
- * Desde = PFECHAPERT
- Desde = pfechiniej
- Hasta = PFECHCIERRE
- A_FechaIni = Desde
- A_FechaFin = Hasta
- @ 5,22 SAY "De: " + DTOC (A_FechaIni)
- @ 7,22 SAY "A : " + DTOC (A_FechaFin)
- ENDIF
- IF Informe = 2 AND P_Sele1 = 2 && Anual en Pantalla
- Desde = PFECHINIEJ
- Hasta = PFECHFINEJ
- A_FechaIni = Desde
- A_FechaFin = Hasta
- @ 5,22 SAY "De: " + DTOC (A_FechaIni)
- @ 7,22 SAY "A : " + DTOC (A_FechaFin)
- ENDIF
- RETURN .T.
- ***********************************************
- *!*****************************************************************************
- *!
- *! Procedure: REPORTE
- *!
- *! Called by: CONREAUX.PRG
- *! : CONRECON.PRG
- *! : CONEDFIN.PRG
- *! : CONRECAT.PRG
- *! : CONRETEN.PRG
- *! : CONRERAS.PRG
- *! : CONRETIP.PRG
- *! : CONRECOM.PRG
- *!
- *! Calls: STOPPRINT (procedure in CONREAUX.PRG)
- *! : CIV_TIME() (function in CONUTIL.PRG)
- *! : ENCABEZADO (procedure in CONREAUX.PRG)
- *! : MUESTRA (procedure in CONREAUX.PRG)
- *! : DETECTA (procedure in CONREAUX.PRG)
- *! : DESPMEM (procedure in CONUTIL.PRG)
- *! : NOMMES() (function in CONUTIL.PRG)
- *! : LLENADO (procedure in CONEDFIN.PRG)
- *! : IMPRIME (procedure in CONEDFIN.PRG)
- *! : PIMPRIME (procedure in CONEDFIN.PRG)
- *! : FOOTER (procedure in CONRERAS.PRG)
- *!
- *! Uses: CUENTAS.DBF
- *! : CONAUXPS.DBF
- *! : CONMAIN.DBF
- *! : CONAUXDS.DBF
- *! : TEMPO.DBF
- *! : TENENCIA.DBF
- *! : ARCHIVO1.DBF
- *! : ARCHIVO2.DBF
- *! : COMPARA.DBF
- *!
- *! Indexes: POLIZA (tag in CONHELP.CDX)
- *!
- *!*****************************************************************************
- PROCEDURE REPORTE
- DO despmem
- STORE 0 TO ingresos, gastos, gastosfin, impuestos, circulante, cxc, inventario, afijo, otroactivo, pasivoxadqn
- STORE 0 TO cobrosanticip, consumos, impuesto2, prestamos, continrep, continaisladas, ordinario, preferente, utejercicio
- STORE 0 TO utretenida, suppagado, v_supdonado, utsresulter, activototal, pasivototal, contingencias, capitaltotal
- STORE 0 TO GLOBALCARGOS, GLOBALABONOS, V_SALDO, TOTACTIVO, TOTPASIVO, TOTCONTIN, TOTCAPIT, SWITCH1, DIFCTSPTE, acu
- PAGINA = 1
- totpag = 1
- LINEA = 7
- c = 1
- * DEFINE WINDOW status FROM 10,10 TO 15,70 SHADOW COLOR W+/GR
- DEFINE WINDOW status FROM 5,10 TO 21,70 SHADOW DOUBLE ;
- TITLE " Generando Estados Financieros " ;
- FOOTER " NO INTERRUMPIR ! " COLOR (colordial)
- ACTIVATE WINDOW status
- @ 0,5,3,WCOLS()-5 BOX "Õ͸³¾ÍÔ³ "
- @ 1,6 SAY "De: " + STR( DAY( a_fechaini ), 2 ) + "," + TRIM( NOMMES( a_fechaini ) ) + "," + STR( YEAR( a_fechaini ), 4 )
- @ 2,6 SAY " A: " + STR( DAY( a_fechafin ), 2 ) + "," + TRIM( NOMMES( a_fechafin ) ) + "," + STR( YEAR( a_fechafin ), 4 )
- @ 5,10 SAY "Procesando cuentas"
- @ 6,10 SAY "Calculando Saldos de Cuentas en Pesos"
- @ 7,10 SAY "Calculando Saldos de Cuentas en Dolares"
- @ 10,10 SAY REPLICATE( "°", 40 )
- IF informe # v_infor
- v_infor = informe
- v_dentro = .F.
- ENDIF
- ****************************************************************************
- NOTE : Anteriormente se verificaba si el usuario habia vuelto a seleccionar;
- el mismo tipo de reporte, para no tener que repetir el proceso de ;
- busqueda en los archivos. ;
- Despues se penso en tener los archivos en linea por lo que se genero;
- el siguiente algoritmo (que a la version 2.2 fue eliminado: ;
- SI EL INFORME = PARCIAL ;
- SI NO EXISTE EL ARCHIVO DE PARCIAL ;
- HACER PROCEDIMIENTO DE LLENADO ;
- SINO ;
- ABRIR DICHO ARCHIVO DE REPORTE Y USARLO ;
- FIN CONDICION ;
- SINO ;
- (REPETIR LO MISMO PERO CON ARCHIVO ANUAL) ;
- FIN CONDICION ;
- *************************************************************************
- IF !v_dentro
- IF v_infor = 1
- DO llenado && procesar llenado
- ELSE
- DO llenado && llenado anterior
- ENDIF
- ENDIF
- IF informe = 2
- DO imprime
- ELSE
- DO pimprime
- ENDIF
- IF P_Sele1 = 2
- EJECT
- SET DEVI TO SCREEN
- SET PRINTER OFF
- ENDIF
- SET CURSOR ON
- DEACTIVATE WINDOW BALANZA, pantalla, imprimir
- RESTORE SCREEN FROM ANTERIOR
- SET CLOCK TO 1,1
- SET CLOCK ON
- RETURN
- ***************************************************
- * P R O C E D I M I E N T O S
- ***************************************************
- *!*****************************************************************************
- *!
- *! Procedure: LLENADO
- *!
- *! Called by: REPORTE (procedure in CONREAUX.PRG)
- *!
- *! Calls: DESPMEM (procedure in CONUTIL.PRG)
- *! : FILL (procedure in CONEDFIN.PRG)
- *! : PFILL (procedure in CONEDFIN.PRG)
- *!
- *!*****************************************************************************
- PROCEDURE Llenado
- DO despmem
- *********************
- * Abrir los archivos del sistema para procesarlos
- *
- USE (ARCHIVO1) IN 1
- USE (ARCHIVO2) IN 2
- USE (ARCHIVO3) IN 3 ORDER CLAVECTA
- USE (ARCHIVO4) IN 4
- USE (ARCHIVO5) IN 5
- USE (ARCHIVO6) IN 6 ORDER fechacont
- ***********************************************************************
- NOTE : Aqui entrara el nuevo algoritmo de procesamiento de reportes, ;
- Hay que tener dos condiciones: ;
- ;
- 1) SI EL REPORTE ES ANUAL ;
- Se debe crear un archivo temporal que se usara al imprimir. ;
- Se procesara mediante un query los saldos. ;
- ;
- 2) SI EL REPORTE ES PARCIAL ;
- Se creara un archivo temporal para el reporte parcial Y ;
- Se creara el archivo temporal anterior como reporte anual ;
- Se procesara tanto datos parciales como anuales ;
- (Se tardara mas, pero se usaran queries para hacerlo ;
- lo mas rapido posible) ;
- ***********************************************************************
- STORE 0 TO v_saldo, v_cargo, v_abono, v_saldll
- IF informe = 2
- CREATE TABLE (archivo8) ;
- (clavecta C(13), nombcta C(50), moneda C(1), pertenen C(2), tipo C(1), ubicacion N(3), saldodll N(15,2), saldo N(15,2), cargo N(15,2), abono N(15,2) )
- USE (archivo8) ALIAS ANUAL
- areat = SELECT()
- DO fill
- ENDIF
- IF informe = 1
- CREATE TABLE (archivo9) ;
- (clavecta C(13), nombcta C(50), moneda C(1), pertenen C(2), tipo C(1), ubicacion N(3), saldodll N(15,2), saldo N(15,2), cargo N(15,2), abono N(15,2) )
- USE (archivo9) ALIAS PARCIAL
- areas = SELECT()
- DO pfill
- CREATE TABLE (archivo8) ;
- (clavecta C(13), nombcta C(50), moneda C(1), pertenen C(2), tipo C(1), ubicacion N(3), saldodll N(15,2), saldo N(15,2), cargo N(15,2), abono N(15,2) )
- USE (archivo8) ALIAS ANUAL
- areat = SELECT()
- DO fill
- **************************
- * El proceso en el parcial que mandara anexar los datos de los saldos
- * al cerrar un periodo ya no se tomara en cuenta.
- *
- ** IF FILE(archivo7)
- ** SELECT (areat)
- ** APPEND FROM (archivo7) FIELDS clavecta, saldodll, saldo, cargo, abono &&TYPE DELIMITED
- ** GO TOP
- ** ENDIF
- ENDIF
- FOR x = 1 TO 6
- SELECT (x)
- USE
- NEXT
- DEACTIVATE WINDOW status
- RELEASE WINDOW status
- v_dentro = .T.
- RETURN
- *!*****************************************************************************
- *!
- *! Procedure: IMPRIME
- *!
- *! Called by: REPORTE (procedure in CONREAUX.PRG)
- *!
- *! Calls: STOPPRINT (procedure in CONREAUX.PRG)
- *! : CIV_TIME() (function in CONUTIL.PRG)
- *! : ENCABEZADO (procedure in CONREAUX.PRG)
- *! : MUESTRA (procedure in CONREAUX.PRG)
- *! : DETECTA (procedure in CONREAUX.PRG)
- *! : SUBTOTAL (procedure in CONEDFIN.PRG)
- *!
- *!*****************************************************************************
- PROCEDURE Imprime
- *************************************************************************
- NOTE : El proceso para de dise¤o del reporte cambiara, porque se generan ;
- dos tipos para cada uno. El ANUAL seguira como hasta ahora, pero ;
- el PARCIAL debe ponerse datos del proceso ANUAL y PARCIAL en dos ;
- columnas, por lo que se modifica la presentacion.;
- *************************************************************************
- RELEASE ALL
- SET PROCEDURE TO conutil
- DO CASE
- CASE p_nivel = 1
- SELECT (areat)
- v = RECCOUNT()
- totpag = ( ( RECCOUNT() + 220 ) / 1.5 ) / 55
- IF ROUND( totpag, 1 ) > 0
- totpag = INT( totpag ) + 1
- ELSE
- totpag = 1
- ENDIF
- tiempo = ( ( reccount() * 2 ) + 36 )
- min = tiempo / 60
- hor = int( min / 60 )
- seg = MOD( tiempo, 60 )
- min2 = MOD( min, 60 )
- v_totpag = totpag + 1
- DIMENSION scrpan( v_totpag )
- CASE p_nivel = 2
- SELECT (areat)
- v = RECCOUNT()
- totpag = ( ( RECCOUNT() + 220 ) / 1.2 ) / 55
- IF ROUND( totpag, 1 ) > 0
- totpag = INT( totpag ) + 1
- ELSE
- totpag = 1
- ENDIF
- tiempo = ( ( reccount() * 2 ) + 36 )
- min = tiempo / 60
- hor = int( min / 60 )
- seg = MOD( tiempo, 60 )
- min2 = MOD( min, 60 )
- v_totpag = totpag + 1
- DIMENSION scrpan( v_totpag )
- CASE p_nivel = 3
- SELECT (areat)
- v = RECCOUNT()
- totpag = ( ( RECCOUNT() + 220 ) ) / 55
- IF ROUND( totpag, 1 ) > 0
- totpag = INT( totpag ) + 1
- ELSE
- totpag = 1
- ENDIF
- tiempo = ( ( reccount() * 2 ) + 36 )
- min = tiempo / 60
- hor = int( min / 60 )
- seg = MOD( tiempo, 60 )
- min2 = MOD( min, 60 )
- v_totpag = totpag + 1
- DIMENSION scrpan( v_totpag )
- CASE p_nivel = 4
- SELECT (areat)
- v = RECCOUNT()
- totpag = ( RECCOUNT() + 220 ) / 55
- IF ROUND( totpag, 1 ) > 0
- totpag = INT( totpag ) + 1
- ELSE
- totpag = 1
- ENDIF
- tiempo = ( ( reccount() * 2 ) + 36 )
- min = tiempo / 60
- hor = int( min / 60 )
- seg = MOD( tiempo, 60 )
- min2 = MOD( min, 60 )
- v_totpag = totpag + 1
- DIMENSION scrpan( v_totpag )
- ENDCASE
- cadena = "00"
- cad = iif( hor<10, stuff(cadena,2,1,str(hor,1)),stuff(cadena,1,2,str(hor,2))) + ":" +;
- iif( min2<10, stuff(cadena,2,1,str(min2,1)),stuff(cadena,1,2,str(min2,2))) + ":" +;
- iif( seg<10, stuff(cadena,2,1,str(seg,1)),stuff(cadena,1,2,str(seg,2)))
- elap = "00:00:00"
- porcen = 0
- IF P_Sele1 = 2
- ON ESCAPE DO Stopprint WITH "ESC"
- * ON ERROR DO Stopprint WITH "ERR"
- IF .NOT. PRINTSTATUS()
- DO Stopprint WITH "OUT"
- ENDIF
- DEFINE WINDOW imprimir FROM 10,10 TO 18,70 SHADOW TITLE " Imprimiendo " COLOR (colorimp)
- ACTIVATE WINDOW imprimir
- @ 0,20 SAY "Estimado: " + cad
- @ 1,20 SAY "Comienzo: " + CIV_TIME( TIME() )
- @ 2,20 SAY " Actual: "
- @ 4,0 SAY PADC("Pagina: " + LTRIM(STR(pagina)) + "/" + LTRIM(STR(totpag)), WCOLS() )
- @ 5,8 SAY REPLICATE("°", 45 )
- @ 6,0 SAY PADC( STR(porcen,3) + "%", WCOLS() )
- SET PRINT ON
- SET MARGIN TO 0
- SET DEVICE TO PRINTER
- ELSE
- SET PRINT OFF
- SET DEVICE TO SCREEN
- DEFINE WINDOW pantalla FROM 0,0 TO 66,81 "-","-",chr(8),chr(8),chr(8),chr(8),chr(8),chr(8);
- FOOTER " ESC = Cancela BACKSPACE = Pag.Prev. ENTER = Sig.Pag. " ;
- COLOR (colorvent)
- SET COLOR TO (colorvent)
- SET CLOCK OFF
- CLEAR
- HIDE POPUP ALL
- HIDE MENU ALL
- SET CURSOR OFF
- SET DISPLAY TO VGA50
- ACTIVATE WINDOW pantalla
- ENDIF
- IF p_print = 1
- p_pini = 1
- p_pfin = totpag
- ELSE
- IF p_pini = 0
- p_pini = 1
- ENDIF
- IF p_pfin = 0
- p_pfin = totpag
- ENDIF
- ENDIF
- DO ENCABEZADO
- SELECT ANUAL
- SET FILTER TO
- GO TOP
- STORE 0 TO saldodeudor, saldoacreedor, z, new
- f2 = .F.
- DO CASE
- CASE p_nivel = 1
- f1 = .T.
- cod = LEFT( clavecta, 4 )
- principal = nombcta
- adonde = pertenen
- location = ubicacion
- totsaldo = 0
- c = 1
- DO WHILE !EOF()
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- totsaldo = totsaldo + saldo
- location = ubicacion
- SKIP
- c = c + 1
- IF LEFT(clavecta, 4 ) = cod
- LOOP
- ELSE
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY principal
- ENDIF
- IF moneda = "D"
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 40 SAY TRANSFORM( saldodll, "999,999,999,999.99" )
- ENDIF
- ENDIF
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 20 SAY TRANSFORM( totsaldo, "999,999,999,999.99" )
- ENDIF
- linea = linea + 1
- DO Detecta
- IF tipo = "D"
- saldodeudor = saldodeudor + totsaldo
- ELSE
- saldoacreedor = saldoacreedor + totsaldo
- ENDIF
- cod = LEFT( clavecta, 4 )
- principal = nombcta
- totsaldo = 0
- ENDIF
- IF ubicacion # location
- DO CASE
- CASE pertenen = "ER" .AND. location = 1
- ingresos = saldoacreedor - saldodeudor
- DO subtotal WITH ingresos, " TOTAL DE INGRESOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "ER" .AND. location = 3
- gastos = saldodeudor - saldoacreedor
- DO subtotal WITH gastos, " TOTAL DE GASTOS NO FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "ER" .AND. location = 4
- gastosfin = saldodeudor - saldoacreedor
- DO subtotal WITH gastosfin, " TOTAL DE GASTOS FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 6
- impuestos = saldodeudor - saldoacreedor
- DO subtotal WITH impuestos, " TOTAL DE IMPUESTOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 1
- circulante = saldodeudor - saldoacreedor
- DO subtotal WITH circulante, " TOTAL DE ACTIVOS CIRCULANTES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 2
- cxc = saldodeudor - saldoacreedor
- DO subtotal WITH cxc, " TOTAL DE CUENTAS POR COBRAR:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 3
- inventario = saldodeudor - saldoacreedor
- DO subtotal WITH inventario, " TOTAL DE INVENTARIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 4
- * afijo = saldoacreedor - saldodeudor
- afijo = saldodeudor - saldoacreedor
- DO subtotal WITH afijo, " TOTAL DE ACTIVO FIJO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 5
- otroactivo = saldodeudor - saldoacreedor
- DO subtotal WITH otroactivo, " TOTAL DE OTROS ACTIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 7
- pasivoxadqn = saldoacreedor - saldodeudor
- DO subtotal WITH pasivoxadqn, " TOTAL PASIVOS X ADQUISICIONES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 8
- cobrosanticip = saldoacreedor - saldodeudor
- DO subtotal WITH cobrosanticip, " TOTAL PASIVO POR COBROS ANTICIPADOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 9
- consumos = saldoacreedor - saldodeudor
- DO subtotal WITH consumos, " PASIVO POR ADQN. BIENES DE CONSUMO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 10
- impuesto2 = saldoacreedor - saldodeudor
- DO subtotal WITH impuesto2, "PASIVOS CONTRAACTUALES E IMPOSITIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 11
- prestamos = saldoacreedor - saldodeudor
- DO subtotal WITH prestamos, " PASIVOS POR OTROS PRESTAMOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 13
- continrep = saldoacreedor - saldodeudor
- DO subtotal WITH continrep, " CONTINGENCIAS REPETIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 14
- continaisladas = saldoacreedor - saldodeudor
- DO subtotal WITH continaisladas," CONTINGENCIAS AISLADAS MEDIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 16
- ordinario = saldoacreedor - saldodeudor
- DO subtotal WITH ordinario, " CAPITAL SOCIAL ORDINARIO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 17
- preferente = saldoacreedor - saldodeudor
- DO subtotal WITH preferente, " CAPITAL SOCIAL PREFERENTE:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 18
- utejercicio = saldoacreedor - saldodeudor
- DO subtotal WITH utejercicio, " UTILIDAD DEL EJERCICIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen ="BG" .AND. location = 19
- utretenida = saldoacreedor - saldodeudor
- DO subtotal WITH utretenida, " UTILIDADES RETENIDAS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 20
- suppagado = saldoacreedor - saldodeudor
- DO subtotal WITH suppagado, " SUPERAVIT PAGADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "PU" .AND. location = 21
- v_supdonado = saldoacreedor - saldodeudor
- DO subtotal WITH v_supdonado, " SUPERAVIT DONADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- ENDCASE
- ENDIF
- IF pertenen = "BG" .AND. ubicacion = 1 .AND. f1
- linea = 56
- DO detecta
- linea = 7
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY PADC( " BALANCE GENERAL ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- f1 = .F.
- f2 = .T.
- linea = linea + 3
- ENDIF
- IF pertenen = "PU" .AND. ubicacion = 1 .AND. f2
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea + 2,0 SAY PADC( " CUENTAS PUENTE ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- linea = linea + 3
- DO detecta
- f2 = .F.
- ENDIF
- ENDDO
- CASE p_nivel = 2
- f1 = .T.
- cod = LEFT( clavecta, 7 )
- principal = nombcta
- adonde = pertenen
- location = ubicacion
- totsaldo = 0
- c = 1
- DO WHILE !EOF()
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- totsaldo = totsaldo + saldo
- location = ubicacion
- SKIP
- c = c + 1
- IF LEFT(clavecta, 7 ) = cod
- LOOP
- ELSE
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY principal
- ENDIF
- IF moneda = "D"
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 40 SAY TRANSFORM( saldodll, "999,999,999,999.99" )
- ENDIF
- ENDIF
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 20 SAY TRANSFORM( totsaldo, "999,999,999,999.99" )
- ENDIF
- linea = linea + 1
- DO Detecta
- IF tipo = "D"
- saldodeudor = saldodeudor + totsaldo
- ELSE
- saldoacreedor = saldoacreedor + totsaldo
- ENDIF
- cod = LEFT( clavecta, 7 )
- principal = nombcta
- totsaldo = 0
- ENDIF
- IF ubicacion # location
- DO CASE
- CASE pertenen = "ER" .AND. location = 1
- ingresos = saldoacreedor - saldodeudor
- DO subtotal WITH ingresos, " TOTAL DE INGRESOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "ER" .AND. location = 3
- gastos = saldodeudor - saldoacreedor
- DO subtotal WITH gastos, " TOTAL DE GASTOS NO FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "ER" .AND. location = 4
- gastosfin = saldodeudor - saldoacreedor
- DO subtotal WITH gastosfin, " TOTAL DE GASTOS FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 6
- impuestos = saldodeudor - saldoacreedor
- DO subtotal WITH impuestos, " TOTAL DE IMPUESTOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 1
- circulante = saldodeudor - saldoacreedor
- DO subtotal WITH circulante, " TOTAL DE ACTIVOS CIRCULANTES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 2
- cxc = saldodeudor - saldoacreedor
- DO subtotal WITH cxc, " TOTAL DE CUENTAS POR COBRAR:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 3
- inventario = saldodeudor - saldoacreedor
- DO subtotal WITH inventario, " TOTAL DE INVENTARIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 4
- * afijo = saldoacreedor - saldodeudor
- afijo = saldodeudor - saldoacreedor
- DO subtotal WITH afijo, " TOTAL DE ACTIVO FIJO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 5
- otroactivo = saldodeudor - saldoacreedor
- DO subtotal WITH otroactivo, " TOTAL DE OTROS ACTIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 7
- pasivoxadqn = saldoacreedor - saldodeudor
- DO subtotal WITH pasivoxadqn, " TOTAL PASIVOS X ADQUISICIONES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 8
- cobrosanticip = saldoacreedor - saldodeudor
- DO subtotal WITH cobrosanticip, " TOTAL PASIVO POR COBROS ANTICIPADOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 9
- consumos = saldoacreedor - saldodeudor
- DO subtotal WITH consumos, " PASIVO POR ADQN. BIENES DE CONSUMO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 10
- impuesto2 = saldoacreedor - saldodeudor
- DO subtotal WITH impuesto2, "PASIVOS CONTRAACTUALES E IMPOSITIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 11
- prestamos = saldoacreedor - saldodeudor
- DO subtotal WITH prestamos, " PASIVOS POR OTROS PRESTAMOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 13
- continrep = saldoacreedor - saldodeudor
- DO subtotal WITH continrep, " CONTINGENCIAS REPETIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 14
- continaisladas = saldoacreedor - saldodeudor
- DO subtotal WITH continaisladas," CONTINGENCIAS AISLADAS MEDIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 16
- ordinario = saldoacreedor - saldodeudor
- DO subtotal WITH ordinario, " CAPITAL SOCIAL ORDINARIO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 17
- preferente = saldoacreedor - saldodeudor
- DO subtotal WITH preferente, " CAPITAL SOCIAL PREFERENTE:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 18
- utejercicio = saldoacreedor - saldodeudor
- DO subtotal WITH utejercicio, " UTILIDAD DEL EJERCICIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen ="BG" .AND. location = 19
- utretenida = saldoacreedor - saldodeudor
- DO subtotal WITH utretenida, " UTILIDADES RETENIDAS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 20
- suppagado = saldoacreedor - saldodeudor
- DO subtotal WITH suppagado, " SUPERAVIT PAGADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "PU" .AND. location = 21
- v_supdonado = saldoacreedor - saldodeudor
- DO subtotal WITH v_supdonado, " SUPERAVIT DONADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- ENDCASE
- ENDIF
- IF pertenen = "BG" .AND. ubicacion = 1 .AND. f1
- linea = 56
- DO detecta
- linea = 7
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY PADC( " BALANCE GENERAL ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- f1 = .F.
- f2 = .T.
- linea = linea + 3
- ENDIF
- IF pertenen = "PU" .AND. ubicacion = 1 .AND. f2
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea + 2,0 SAY PADC( " CUENTAS PUENTE ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- linea = linea + 3
- DO detecta
- f2 = .F.
- ENDIF
- ENDDO
- CASE p_nivel = 3
- f1 = .T.
- cod = LEFT( clavecta, 10 )
- principal = nombcta
- adonde = pertenen
- location = ubicacion
- totsaldo = 0
- c = 1
- DO WHILE !EOF()
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- totsaldo = totsaldo + saldo
- location = ubicacion
- SKIP
- c = c + 1
- IF LEFT(clavecta, 10 ) = cod
- LOOP
- ELSE
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY principal
- ENDIF
- IF moneda = "D"
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 40 SAY TRANSFORM( saldodll, "999,999,999,999.99" )
- ENDIF
- ENDIF
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 20 SAY TRANSFORM( totsaldo, "999,999,999,999.99" )
- ENDIF
- linea = linea + 1
- DO Detecta
- IF tipo = "D"
- saldodeudor = saldodeudor + totsaldo
- ELSE
- saldoacreedor = saldoacreedor + totsaldo
- ENDIF
- cod = LEFT( clavecta, 10 )
- principal = nombcta
- totsaldo = 0
- ENDIF
- IF ubicacion # location
- DO CASE
- CASE pertenen = "ER" .AND. location = 1
- ingresos = saldoacreedor - saldodeudor
- DO subtotal WITH ingresos, " TOTAL DE INGRESOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "ER" .AND. location = 3
- gastos = saldodeudor - saldoacreedor
- DO subtotal WITH gastos, " TOTAL DE GASTOS NO FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "ER" .AND. location = 4
- gastosfin = saldodeudor - saldoacreedor
- DO subtotal WITH gastosfin, " TOTAL DE GASTOS FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 6
- impuestos = saldodeudor - saldoacreedor
- DO subtotal WITH impuestos, " TOTAL DE IMPUESTOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 1
- circulante = saldodeudor - saldoacreedor
- DO subtotal WITH circulante, " TOTAL DE ACTIVOS CIRCULANTES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 2
- cxc = saldodeudor - saldoacreedor
- DO subtotal WITH cxc, " TOTAL DE CUENTAS POR COBRAR:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 3
- inventario = saldodeudor - saldoacreedor
- DO subtotal WITH inventario, " TOTAL DE INVENTARIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 4
- * afijo = saldoacreedor - saldodeudor
- afijo = saldodeudor - saldoacreedor
- DO subtotal WITH afijo, " TOTAL DE ACTIVO FIJO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 5
- otroactivo = saldodeudor - saldoacreedor
- DO subtotal WITH otroactivo, " TOTAL DE OTROS ACTIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 7
- pasivoxadqn = saldoacreedor - saldodeudor
- DO subtotal WITH pasivoxadqn, " TOTAL PASIVOS X ADQUISICIONES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 8
- cobrosanticip = saldoacreedor - saldodeudor
- DO subtotal WITH cobrosanticip, " TOTAL PASIVO POR COBROS ANTICIPADOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 9
- consumos = saldoacreedor - saldodeudor
- DO subtotal WITH consumos, " PASIVO POR ADQN. BIENES DE CONSUMO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 10
- impuesto2 = saldoacreedor - saldodeudor
- DO subtotal WITH impuesto2, "PASIVOS CONTRAACTUALES E IMPOSITIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 11
- prestamos = saldoacreedor - saldodeudor
- DO subtotal WITH prestamos, " PASIVOS POR OTROS PRESTAMOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 13
- continrep = saldoacreedor - saldodeudor
- DO subtotal WITH continrep, " CONTINGENCIAS REPETIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 14
- continaisladas = saldoacreedor - saldodeudor
- DO subtotal WITH continaisladas," CONTINGENCIAS AISLADAS MEDIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 16
- ordinario = saldoacreedor - saldodeudor
- DO subtotal WITH ordinario, " CAPITAL SOCIAL ORDINARIO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 17
- preferente = saldoacreedor - saldodeudor
- DO subtotal WITH preferente, " CAPITAL SOCIAL PREFERENTE:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 18
- utejercicio = saldoacreedor - saldodeudor
- DO subtotal WITH utejercicio, " UTILIDAD DEL EJERCICIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen ="BG" .AND. location = 19
- utretenida = saldoacreedor - saldodeudor
- DO subtotal WITH utretenida, " UTILIDADES RETENIDAS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 20
- suppagado = saldoacreedor - saldodeudor
- DO subtotal WITH suppagado, " SUPERAVIT PAGADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "PU" .AND. location = 21
- v_supdonado = saldoacreedor - saldodeudor
- DO subtotal WITH v_supdonado, " SUPERAVIT DONADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- ENDCASE
- ENDIF
- IF pertenen = "BG" .AND. ubicacion = 1 .AND. f1
- linea = 56
- DO detecta
- linea = 7
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY PADC( " BALANCE GENERAL ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- f1 = .F.
- f2 = .T.
- linea = linea + 3
- ENDIF
- IF pertenen = "PU" .AND. ubicacion = 1 .AND. f2
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea + 2,0 SAY PADC( " CUENTAS PUENTE ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- linea = linea + 3
- DO detecta
- f2 = .F.
- ENDIF
- ENDDO
- CASE p_nivel = 4
- f1 = .T.
- IF p_pini = 1
- @ linea,0 SAY PADC(" ESTADOS DE RESULTADOS ", col, "*" )
- linea = linea + 2
- ENDIF
- c = 1
- DO WHILE !EOF()
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea,0 SAY nombcta
- ENDIF
- IF tipo = "D"
- saldodeudor = saldodeudor + saldo
- ELSE
- saldoacreedor = saldoacreedor + saldo
- ENDIF
- IF cargo <> 0 .OR. abono <> 0
- IF moneda = "D"
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 40 SAY TRANSFORM( saldodll, "999,999,999,999.99" )
- ENDIF
- ENDIF
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 20 SAY TRANSFORM( saldo, "999,999,999,999.99" )
- endif
- linea = linea + 1
- DO Detecta
- ELSE
- linea = linea + 1
- DO Detecta
- ENDIF
- location = ubicacion
- SKIP
- c = c + 1
- IF ubicacion # location
- DO CASE
- CASE pertenen = "ER" .AND. location = 1
- ingresos = saldoacreedor - saldodeudor
- DO subtotal WITH ingresos, " TOTAL DE INGRESOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "ER" .AND. location = 3
- gastos = saldodeudor - saldoacreedor
- DO subtotal WITH gastos, " TOTAL DE GASTOS NO FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "ER" .AND. location = 4
- gastosfin = saldodeudor - saldoacreedor
- DO subtotal WITH gastosfin, " TOTAL DE GASTOS FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 6
- impuestos = saldodeudor - saldoacreedor
- DO subtotal WITH impuestos, " TOTAL DE IMPUESTOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 1
- circulante = saldodeudor - saldoacreedor
- DO subtotal WITH circulante, " TOTAL DE ACTIVOS CIRCULANTES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 2
- cxc = saldodeudor - saldoacreedor
- DO subtotal WITH cxc, " TOTAL DE CUENTAS POR COBRAR:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 3
- inventario = saldodeudor - saldoacreedor
- DO subtotal WITH inventario, " TOTAL DE INVENTARIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 4
- * afijo = saldoacreedor - saldodeudor
- afijo = saldodeudor - saldoacreedor
- DO subtotal WITH afijo, " TOTAL DE ACTIVO FIJO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 5
- otroactivo = saldodeudor - saldoacreedor
- DO subtotal WITH otroactivo, " TOTAL DE OTROS ACTIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 7
- pasivoxadqn = saldoacreedor - saldodeudor
- DO subtotal WITH pasivoxadqn, " TOTAL PASIVOS X ADQUISICIONES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 8
- cobrosanticip = saldoacreedor - saldodeudor
- DO subtotal WITH cobrosanticip, " TOTAL PASIVO POR COBROS ANTICIPADOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 9
- consumos = saldoacreedor - saldodeudor
- DO subtotal WITH consumos, " PASIVO POR ADQN. BIENES DE CONSUMO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 10
- impuesto2 = saldoacreedor - saldodeudor
- DO subtotal WITH impuesto2, "PASIVOS CONTRAACTUALES E IMPOSITIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 11
- prestamos = saldoacreedor - saldodeudor
- DO subtotal WITH prestamos, " PASIVOS POR OTROS PRESTAMOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 13
- continrep = saldoacreedor - saldodeudor
- DO subtotal WITH continrep, " CONTINGENCIAS REPETIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .AND. location = 14
- continaisladas = saldoacreedor - saldodeudor
- DO subtotal WITH continaisladas," CONTINGENCIAS AISLADAS MEDIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .OR. pertenen = "PU" .AND. location = 16
- ordinario = saldoacreedor - saldodeudor
- DO subtotal WITH ordinario, " CAPITAL SOCIAL ORDINARIO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .OR. pertenen = "PU" .AND. location = 17
- preferente = saldoacreedor - saldodeudor
- DO subtotal WITH preferente, " CAPITAL SOCIAL PREFERENTE:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .OR. pertenen = "PU" .AND. location = 18
- utejercicio = saldoacreedor - saldodeudor
- DO subtotal WITH utejercicio, " UTILIDAD DEL EJERCICIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen ="BG" .OR. pertenen = "PU" .AND. location = 19
- utretenida = saldoacreedor - saldodeudor
- DO subtotal WITH utretenida, " UTILIDADES RETENIDAS:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "BG" .OR. pertenen = "PU" .AND. location = 20
- suppagado = saldoacreedor - saldodeudor
- DO subtotal WITH suppagado, " SUPERAVIT PAGADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- CASE pertenen = "PU" .AND. location = 21
- v_supdonado = saldoacreedor - saldodeudor
- DO subtotal WITH v_supdonado, " SUPERAVIT DONADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- ENDCASE
- ENDIF
- IF pertenen = "BG" .AND. ubicacion = 1 .AND. f1
- linea = 56
- DO detecta
- linea = 7
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY PADC( " BALANCE GENERAL ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- f1 = .F.
- f2 = .T.
- linea = linea + 3
- ENDIF
- IF pertenen = "PU" .AND. ubicacion = 1 .AND. f2
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea + 2,0 SAY PADC( " CUENTAS PUENTE ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- linea = linea + 3
- DO detecta
- f2 = .F.
- ENDIF
- ENDDO
- ENDCASE
- IF pagina >= p_pini .AND. pagina <= p_pfin
- c = c + 1
- linea = 56
- DO DETECTA
- utsresulter = ingresos - gastos - gastosfin - impuestos
- @ linea,0 SAY PADC("Estados de Resultados Condensado", col )
- @ linea+1, 15 SAY REPLICATE("Ä", col - 20 )
- @ linea+2,17 SAY " Total de Ingresos : " + TRANSFORM( ingresos, "999,999,999,999.99")
- @ linea+3,17 SAY "(-) Gastos NO Financieros : " + TRANSFORM( gastos, "999,999,999,999.99")
- @ linea+4,17 SAY "(-) Gastos Financieros : " + TRANSFORM( gastosfin, "999,999,999,999.99")
- @ linea+5,53 SAY REPLICATE( "Ä", 18 )
- @ linea+6,17 SAY "(=) Utilidad antes de Impuestos : " + TRANSFORM( ingresos-gastos-gastosfin, "999,999,999,999.99")
- @ linea+7,17 SAY "(-) Impuestos : " + TRANSFORM( impuestos, "999,999,999,999.99")
- @ linea+8,53 SAY REPLICATE( "Ä", 18 )
- @ linea+9,17 SAY "(=) Utilidad despues de Impuestos: " + TRANSFORM( utsresulter, "999,999,999,999.99")
- c = c + 12
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- linea = linea + 12
- DO detecta
- activototal = circulante + cxc + inventario + afijo + otroactivo
- @ linea,0 SAY PADC("Resumen de los Activos", col )
- @ linea+1, 15 SAY REPLICATE("Ä", col - 20 )
- @ linea+2,17 SAY " Activo circulante total : " + TRANSFORM( circulante, "999,999,999,999.99")
- @ linea+3,17 SAY "(+) Cuentas por Cobrar : " + TRANSFORM( cxc, "999,999,999,999.99")
- @ linea+4,17 SAY "(+) Inventarios : " + TRANSFORM( inventario, "999,999,999,999.99")
- @ linea+5,17 SAY "(+) Activo Fijo Neto : " + TRANSFORM( afijo, "999,999,999,999.99")
- @ linea+6,17 SAY "(+) Otros Activos : " + TRANSFORM( otroactivo, "999,999,999,999.99")
- @ linea+7,53 SAY REPLICATE( "Ä", 18 )
- @ linea+8,17 SAY "(=) Total de Activos : " + TRANSFORM( activototal, "999,999,999,999.99")
- @ linea+9,53 SAY REPLICATE( "Í", 18 )
- c = c + 12
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- linea = linea + 12
- DO detecta
- pasivototal = pasivoxadqn + cobrosanticip + consumos + impuesto2 + prestamos
- @ linea,0 SAY PADC("Resumen de los Pasivos", col )
- @ linea+1, 15 SAY REPLICATE("Ä", col - 20 )
- @ linea+2,17 SAY " Pasivos por Adquisiciones : " + TRANSFORM( pasivoxadqn, "999,999,999,999.99")
- @ linea+3,17 SAY "(+) Cobros anticipados : " + TRANSFORM( cobrosanticip, "999,999,999,999.99")
- @ linea+4,17 SAY "(+) Pasivos para Consumo : " + TRANSFORM( consumos, "999,999,999,999.99")
- @ linea+5,17 SAY "(+) Contratos e Impuestos : " + TRANSFORM( impuesto2, "999,999,999,999.99")
- @ linea+6,17 SAY "(+) Otros Prestamos : " + TRANSFORM( prestamos, "999,999,999,999.99")
- @ linea+7,53 SAY REPLICATE( "Ä", 18 )
- @ linea+8,17 SAY "(=) Total de Pasivos : " + TRANSFORM( pasivototal, "999,999,999,999.99")
- @ linea+9,53 SAY REPLICATE( "Í", 18 )
- c = c + 12
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- linea = linea + 12
- DO detecta
- contingencias = continrep + continaisladas
- @ linea,0 SAY PADC("Resumen de las Contingencias", col )
- @ linea+1, 15 SAY REPLICATE("Ä", col - 20 )
- @ linea+2,17 SAY " Contingencias Repetibles : " + TRANSFORM( continrep, "999,999,999,999.99")
- @ linea+3,17 SAY "(+) Conting. Aisladas Medibles : " + TRANSFORM( continaisladas, "999,999,999,999.99")
- @ linea+4,53 SAY REPLICATE( "Ä", 18 )
- @ linea+5,17 SAY "(=) Total de activos : " + TRANSFORM( contingencias, "999,999,999,999.99")
- @ linea+6,53 SAY REPLICATE( "Í", 18 )
- c = c + 8
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- linea = linea + 8
- DO detecta
- capitaltotal = ordinario + preferente + utejercicio + utretenida + suppagado + v_supdonado + utsresulter
- @ linea,0 SAY PADC("Resumen del Capital", col )
- @ linea+1, 15 SAY REPLICATE("Ä", col - 20 )
- @ linea+2,17 SAY " Capital Social Ordinario : " + TRANSFORM( ordinario, "999,999,999,999.99")
- @ linea+3,17 SAY "(+) Capital Social Preferente : " + TRANSFORM( preferente, "999,999,999,999.99")
- @ linea+4,17 SAY "(+) Utilidad del Ejercicio : " + TRANSFORM( utejercicio, "999,999,999,999.99")
- @ linea+5,17 SAY "(+) Utilidades Retenidas : " + TRANSFORM( utretenida, "999,999,999,999.99")
- @ linea+6,17 SAY "(+) Superavit Pagado : " + TRANSFORM( suppagado, "999,999,999,999.99")
- @ linea+7,17 SAY "(+) Superavit Donado : " + TRANSFORM( v_supdonado, "999,999,999,999.99")
- @ linea+8,17 SAY "(+) Utilidad Despues de Impuestos: " + TRANSFORM( utsresulter, "999,999,999,999.99")
- @ linea+9,53 SAY REPLICATE( "Ä", 18 )
- @ linea+10,17 SAY "(=) Capital total : " + TRANSFORM( capitaltotal, "999,999,999,999.99")
- @ linea+11,53 SAY REPLICATE( "Í", 18 )
- c = c + 12
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- ENDIF
- linea = linea + 12
- DO detecta
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea,0 SAY PADC("CUADRE DEL BALANCE GENERAL", col )
- @ linea+1, 15 SAY REPLICATE("Ä", col - 20 )
- @ linea+2,17 SAY " PASIVOS : " + TRANSFORM( pasivototal, "999,999,999,999.99")
- @ linea+3,17 SAY "(+) CONTINGENCIAS : " + TRANSFORM( contingencias, "999,999,999,999.99")
- @ linea+4,17 SAY "(+) CAPITAL : " + TRANSFORM( capitaltotal, "999,999,999,999.99")
- @ linea+5,53 SAY REPLICATE( "Ä", 18 )
- pasivototal = pasivototal + contingencias + capitaltotal
- @ linea+6,17 SAY "(=) PASIVO + CAPITAL : " + TRANSFORM( pasivototal, "999,999,999,999.99")
- @ linea+7,17 SAY " ACTIVOS : " + TRANSFORM( activototal, "999,999,999,999.99")
- @ linea+8,53 SAY REPLICATE( "Ä", 18 )
- @ linea+9,17 SAY "Diferencias A - (P + C) : " + TRANSFORM( activototal - pasivototal, "999,999,999,999.99")
- @ linea+10,53 SAY REPLICATE( "Í", 18 )
- @ linea+12,17 SAY "Tipo de Cambio de Valuacion : " + TRANSFORM( cambio, "999,999.999999")
- ENDIF
- IF p_sele1 = 1
- c = c + 12
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- linea = 57
- DO detecta
- ENDIF
- RETURN
- *!*****************************************************************************
- *!
- *! Procedure: ENCABEZADO
- *!
- *! Called by: REPORTE (procedure in CONREAUX.PRG)
- *! : DETECTA (procedure in CONREAUX.PRG)
- *! : IMPRIME (procedure in CONEDFIN.PRG)
- *! : PIMPRIME (procedure in CONEDFIN.PRG)
- *!
- *!*****************************************************************************
- PROCEDURE ENCABEZADO
- ******************************************************************
- NOTE : Se modifica este proceso en 25-Mayo-94 para que acepte el ;
- nuevo reporte parcial con mas columnas.
- ******************************************************************
- IF P_TIPOLETR = 1
- IN = CHR(27) + CHR(18)
- ELSE
- IN = CHR(27) + CHR(15)
- ENDIF
- IF informe = 2
- COL = 80
- IN = CHR(27) + CHR(18)
- ELSE
- COL = 136
- IN = CHR(27) + CHR(15)
- ENDIF
- IF P_Sele1 = 2
- @ 0,0 SAY IN
- ENDIF
- IF TYPE("PAGINA") = "L"
- PAGINA = 1
- ENDIF
- @ 1,0 SAY P_HEADER
- @ 1, COL-10 SAY "Pag: "+LTRIM (STR (PAGINA)) + "/" + LTRIM( STR( totpag ) )
- @ 2,0 SAY V_EMPRESA
- @ 2, COL-10 SAY DTOC (DATE())
- @ 3,0 SAY "ESTADOS FINANCIEROS"
- DO CASE
- CASE P_NIVEL = 1
- @ 3,40 SAY "Nivel: Cuenta"
- CASE P_NIVEL = 2
- @ 3,40 SAY "Nivel: SCuenta"
- CASE P_NIVEL = 3
- @ 3,40 SAY "Nivel: S-S-Cuenta"
- CASE P_NIVEL = 4
- @ 3,40 SAY "Nivel: S-S-S-Cuenta"
- ENDCASE
- IF informe = 1
- @ 3,60 SAY "PARCIALES"
- @ 3,100 SAY "ANUALES"
- ENDIF
- @ 4,0 SAY "Periodo: "+ DTOC(A_FechaIni) + " al: " + DTOC(A_FechaFin)
- IF informe = 2
- @ 4,col-40 SAY " Saldo Dlls"
- @ 4,col-20 SAY "Saldo"
- ELSE
- @ 4,col-80 SAY " Saldo Dlls"
- @ 4,col-60 SAY "Saldo"
- @ 4,col-40 SAY " Saldo Dlls"
- @ 4,col-20 SAY "Saldo"
- ENDIF
- @ 5,0 SAY REPLICATE ("Í",COL)
- RETURN
- *!*****************************************************************************
- *!
- *! Procedure: DETECTA
- *!
- *! Called by: REPORTE (procedure in CONREAUX.PRG)
- *! : IMPRIME (procedure in CONEDFIN.PRG)
- *! : SUBTOTAL (procedure in CONEDFIN.PRG)
- *! : PIMPRIME (procedure in CONEDFIN.PRG)
- *! : PSUBTOTAL (procedure in CONEDFIN.PRG)
- *! : FOOTER (procedure in CONRERAS.PRG)
- *!
- *! Calls: ENCABEZADO (procedure in CONREAUX.PRG)
- *! : MUESTRA (procedure in CONREAUX.PRG)
- *!
- *! Memory Files: &ARC
- *! : &ARCN
- *!
- *!*****************************************************************************
- PROCEDURE Detecta
- **************************************************************************
- NOTE: Se modifica para aceptar el nuevo tipo de ventana PARCIAL mas grande
- **************************************************************************
- IF p_sele1 = 1
- IF linea > 55
- IF pagina >= p_pini .AND. pagina <= p_pfin
- posicion = 0
- poscol = 0
- mueve = 0
- pag = pagina
- IF pag > totpag
- IF pagina > totpag
- totpag = pagina + 1
- DIMENSION scrpan( totpag + 1 )
- ENDIF
- pag = totpag
- ENDIF
- IF MEMORY() < 75
- z = z + 1
- new = z
- arc = "pan" + LTRIM( STR( z ) )
- SAVE TO (arc) ALL LIKE scrpan
- scrpan = 0
- ENDIF
- SAVE SCREEN TO scrpan( pag )
- DO WHILE .T.
- =inkey(0)
- DO CASE
- CASE LastKEY() = 4 &&Right
- IF informe = 2
- poscol = -2
- ELSE
- poscol = -59
- ENDIF
- MOVE WINDOW Pantalla TO mueve,poscol
- CASE LastKEY() = 19 &&Left
- poscol = 0
- MOVE WINDOW Pantalla TO mueve,poscol
- CASE LASTKEY() = 24 && flecha abajo
- posicion = posicion + 1
- mueve = mueve - 1
- * CODIGO PARA PANTALLA DE 25 LINEAS
- * IF posicion > 42
- * posicion = 42
- * mueve = -42
- * ENDIF
- * CODIGO PARA PANTALLA DE 50 LINEAS
- IF posicion > 17
- posicion = 17
- mueve = -17
- ENDIF
- MOVE WINDOW pantalla TO mueve,poscol
- CASE LASTKEY() = 5 && flecha arriba
- posicion = posicion - 1
- mueve = mueve + 1
- IF posicion < 0
- posicion = 0
- mueve = 0
- ENDIF
- MOVE WINDOW pantalla TO mueve,poscol
- CASE LASTKEY() = 3 && PgUp
- posicion = posicion + 24
- mueve = mueve - 24
- * CODIGO PARA PANTALLA DE 25 LINEAS
- * IF posicion > 42
- * posicion = 42
- * mueve = -42
- * ENDIF
- * CODIGO PARA PANTALLA DE 50 LINEAS
- IF posicion > 17
- posicion = 17
- mueve = -17
- ENDIF
- MOVE WINDOW pantalla TO mueve,poscol
- CASE LASTKEY() = 18 && PgDn
- posicion = posicion - 24
- mueve = mueve + 24
- IF posicion < 0
- posicion = 0
- mueve = 0
- ENDIF
- MOVE WINDOW pantalla TO mueve,poscol
- CASE LASTKEY() = 127 && backspace
- pag = pag - 1
- IF pag < p_pini
- pag = p_pini
- ENDIF
- IF TYPE("scrpan(pag)") = "N"
- new = new + 1
- arcn = "pan" + LTRIM( STR( new ) )
- IF !FILE( arcn )
- SAVE TO (arcn) ALL LIKE scrpan
- ENDIF
- scrpan = 0
- new = new - 1
- arc = "pan" + LTRIM( STR( new ) )
- RESTORE FROM (arc) ADDITIVE
- new = new - 1
- ENDIF
- RESTORE SCREEN FROM scrpan(pag)
- CASE LASTKEY() = 27
- GO BOTTOM
- DEACTIVATE WINDOW BALANZA, PANTALLA
- SET CLOCK TO 1,1
- SET CLOCK ON
- SET DISPLAY TO VGA25
- RESTORE SCREEN FROM ANTERIOR
- RETURN TO conedfin
- CASE LASTKEY() = 13
- IF pag = pagina
- EXIT
- ENDIF
- pag = pag + 1
- IF TYPE("scrpan(pag)") = "N"
- scrpan = 0
- arc = "pan" + LTRIM(STR( z + 1 ) )
- RESTORE FROM (arc) ADDITIVE
- ENDIF
- RESTORE SCREEN FROM scrpan( pag )
- ENDCASE
- ENDDO
- ENDIF
- ACTIVATE WINDOW pantalla
- CLEAR
- PAGINA = PAGINA + 1
- DO ENCABEZADO
- linea = 7
- linea = linea +1
- fila = 8
- ENDIF
- ENDIF
- IF P_sele1 = 2
- IF LINEA > 55
- IF pagina >= p_pini .AND. pagina <= p_pfin
- PAGINA = PAGINA + 1
- DO ENCABEZADO
- LINEA = 7
- linea = linea + 1
- DO muestra WITH c, v, pagina, totpag
- ELSE
- pagina = pagina + 1
- linea = 8
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- ENDIF
- ENDIF
- RETURN
- *!*****************************************************************************
- *!
- *! Procedure: SUBTOTAL
- *!
- *! Called by: IMPRIME (procedure in CONEDFIN.PRG)
- *!
- *! Calls: DETECTA (procedure in CONREAUX.PRG)
- *!
- *!*****************************************************************************
- PROCEDURE subtotal
- PARAMETERS cantidad, mensaje
- IF cantidad <> 0
- linea = linea + 1
- DO detecta
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY REPLICATE( "Ä", col )
- ENDIF
- linea = linea + 1
- Do detecta
- IF pagina >= p_pini .AND. pagina <= p_pfin
- IF informe = 2
- @ linea, 23 SAY mensaje + TRANSFORM( cantidad, "999,999,999,999.99")
- ELSE
- @ linea, 79 SAY mensaje + TRANSFORM( cantidad, "999,999,999,999.99")
- ENDIF
- ENDIF
- linea = linea + 1
- DO detecta
- IF pagina >= p_pini .AND. pagina <= p_pfin
- IF informe = 2
- @ linea, 63 SAY "ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ"
- ELSE
- @ linea, 119 SAY "ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ"
- ENDIF
- ENDIF
- linea = linea + 1
- DO detecta
- ENDIF
- RETURN
- *!*****************************************************************************
- *!
- *! Procedure: STOPPRINT
- *!
- *! Called by: CONPOLIZ.PRG
- *! : REPORTE (procedure in CONREAUX.PRG)
- *! : IMPRIME (procedure in CONEDFIN.PRG)
- *! : PIMPRIME (procedure in CONEDFIN.PRG)
- *!
- *! Calls: BEEP() (function in CONUTIL.PRG)
- *!
- *!*****************************************************************************
- PROCEDURE Stopprint
- PARAMETERS minterrupt
- SET CLOCK OFF
- DEFINE WINDOW stopprint FROM 8,20 TO 16,60 DOUBLE SHADOW ;
- TITLE " ** ERROR ** " COLOR W+/R,GR+/N,W+/R,W+/R,W+/R
- ACTIVATE WINDOW stopprint
- DO CASE
- CASE minterrupt = "ESC"
- =BEEP(3)
- @ 1,0 SAY PADC("*** Interrupci¢n ***", WCOLS() )
- CASE minterrupt = "ERR"
- =BEEP(4)
- @ 1,0 SAY PADC("*** Falla de Impresora ***", WCOLS() )
- CASE minterrupt = "OUT"
- =BEEP(2)
- @ 1,0 SAY PADC("*** Impresora NO encendida ***", WCOLS() )
- ENDCASE
- mcancel = 1
- @ 3,0 SAY PADC("¨Desea cancelar el reporte?", WCOLS() )
- @ 5,5 GET mcancel PICTURE "@*H \!\?\<Si;\<No" SIZE 1,10,8 COLOR ,,,,,GR+/N,W+/R,,GR+/R,W/B
- READ OBJECT 1
- DEACTIVATE WINDOW stopprint
- IF mcancel = 1
- SET CLOCK TO 1,1
- RETURN TO conedfin
- ELSE
- IF SYS(100) = "OFF"
- SET CONSOLE OFF
- ENDIF
- IF SYS(102) = "ON"
- SET PRINTER ON
- ENDIF
- SET PRINTER ON
- SET DEVICE TO PRINTER
- RETRY
- ENDIF
- RETURN
- *!*****************************************************************************
- *!
- *! Procedure: MUESTRA
- *!
- *! Called by: REPORTE (procedure in CONREAUX.PRG)
- *! : DETECTA (procedure in CONREAUX.PRG)
- *! : IMPRIME (procedure in CONEDFIN.PRG)
- *! : PIMPRIME (procedure in CONEDFIN.PRG)
- *!
- *!*****************************************************************************
- PROCEDURE muestra
- PARAMETERS cuenta, all, numberpag, allpage
- SET PRINT OFF
- SET DEVI TO SCREEN
- ACTIVATE WINDOW imprimir
- @ 2,20 SAY " Actual: "
- SET CLOCK TO 13,41
- @ 4,0 SAY PADC("Pagina: " + LTRIM(STR(numberpag)) + "/" + LTRIM(STR(allpage)), WCOLS() )
- porcen = INT( (cuenta * 100) / (all + 66) )
- reg = INT( (cuenta * 45) / (all + 66) )
- @ 5,8 SAY REPLICATE("Û", reg ) COLOR GR+/N
- @ 6,0 SAY PADC( STR(porcen,3) + "%", WCOLS() )
- SET PRINT ON
- SET DEVI TO PRINTER
- RETURN
- *!*****************************************************************************
- *!
- *! Procedure: FILL
- *!
- *! Called by: LLENADO (procedure in CONEDFIN.PRG)
- *!
- *!*****************************************************************************
- PROCEDURE fill
- ******************************
- * Procedimiento de llenado para reporte
- *
- STORE 0 TO porcent, desp
- c = 1
- FOR J = 1 TO 3 && Este For son Balance/EdoResult/Cts Puentes
- SELECT 3
- totreg = RECCOUNT()
- SET FILTER TO
- DO CASE
- CASE J = 1
- P = "ER"
- R = 6
- MENSAJE = "Estados de Resultados"
- CASE J = 2
- P = "BG"
- R = 21
- MENSAJE = "Balance General"
- CASE J = 3
- CONTADOR = 0
- SCAN FOR UPPER (PERTENEN) = "PU"
- CONTADOR = CONTADOR + 1
- ENDSCAN
- P = "PU"
- R = 2
- MENSAJE = "Cuentas Puente"
- IF CONTADOR = 0
- EXIT
- ENDIF
- ENDCASE
- FOR I = 1 TO R
- SELECT 3
- SET FILTER TO UBICACION = I AND PERTENEN = P
- GO TOP
- CODIGO = CLAVECTA
- INICIO = CTA
- DO WHILE !EOF()
- CODIGO = CLAVECTA
- TIPOMON = MONEDA
- tiponat = tipo
- what = pertenen
- where = ubicacion
- DO CASE
- CASE CTA <> SPACE(4) AND SCTA <> SPACE(3) AND SSCTA <> SPACE(3) AND SSSCTA <> SPACE(3)
- X = CTA + " - " + SCTA + " - " + SSCTA + " - " + SSSCTA + "."
- Y = NSSSCTA
- Z = SPACE(1)
- CASE CTA <> SPACE(4) AND SCTA <> SPACE(3) AND SSCTA <> SPACE(3) AND SSSCTA = SPACE(3)
- X = CTA + " - " + SCTA + " - " + SSCTA + "."
- Y = NSSCTA
- Z = SPACE(1)
- CASE CTA <> SPACE(4) AND SCTA <> SPACE(3) AND SSCTA = SPACE(3) AND SSSCTA = SPACE(3)
- X = CTA + " - " + SCTA + "."
- Y = NSCTA
- Z = SPACE(1)
- CASE CTA <> SPACE(4) AND SCTA = SPACE(3) AND SSCTA = SPACE(3) AND SSSCTA = SPACE(3)
- X = CTA + "."
- Y = NCTA
- ENDCASE
- ACTIVATE WINDOW status
- porcent = INT( ( c * 100 ) / totreg )
- desp = INT( ( c * 40 ) / totreg )
- @ 5,8 SAY "" COLOR GR+*/W
- @ 10,10 SAY REPLICATE( "Û", desp ) COLOR GR+/B
- @ 11,0 SAY PADC( STR( porcent, 3 ) + " % ", WCOLS() ) COLOR R/W
- @ WROWS()-1,0 SAY PADC("PERIODO ACUMULADO", WCOLS() ) COLOR GR+/GR
- SELECT ANUAL
- APPEND BLANK
- REPLACE clavecta WITH codigo, nombcta WITH x+SPACE(5)+y
- REPLACE moneda WITH tipomon, pertenen WITH what, tipo WITH tiponat
- REPLACE ubicacion WITH where
- SELECT 3
- SKIP
- c = c + 1
- IF CTA <> INICIO
- INICIO = CTA
- ENDIF
- ENDDO
- NEXT
- ENDFOR
- @ 5,8 SAY "" COLOR R/W
- @ 10,10 SAY REPLICATE( "°", 40 )
- SELECT ANUAL
- STORE 0 TO ctap, ctad
- SCAN FOR moneda = "P"
- ctap = ctap + 1
- ENDSCAN
- SCAN FOR moneda = "D"
- ctad = ctad + 1
- ENDSCAN
- GO TOP
- STORE 0 TO porcent, desp
- c = 1
- SET FILTER TO moneda = "P"
- DO WHILE !EOF()
- codigo = clavecta
- tiponat = tipo
- x = LEFT(clavecta, 4) + " - " + SUBSTR(clavecta, 5, 3 ) + " - " + SUBSTR(clavecta, 9, 3 ) + " - " + RIGHT(clavecta,3) + "."
- SELECT 1
- TOTCARGOS = 0
- TOTABONOS = 0
- * CALCULATE SUM (CARGOS) FOR CLAVECTA = CODIGO .AND. BETWEEN(fechacont,pfechiniej,pfechfinej) TO TOTCARGOS
- * CALCULATE SUM (ABONOS) FOR CLAVECTA = CODIGO .AND. BETWEEN(fechacont,pfechiniej,pfechfinej) TO TOTABONOS
- ** CALCULATE SUM (CARGOS) FOR CLAVECTA = CODIGO .AND. BETWEEN(fechacont, a_fechaini, a_fechafin) TO TOTCARGOS
- ** CALCULATE SUM (ABONOS) FOR CLAVECTA = CODIGO .AND. BETWEEN(fechacont, a_fechaini, a_fechafin) TO TOTABONOS
- CALCULATE SUM (CARGOS) FOR CLAVECTA = CODIGO .AND. BETWEEN(fechacont, pfechiniej, a_fechafin) TO TOTCARGOS
- CALCULATE SUM (ABONOS) FOR CLAVECTA = CODIGO .AND. BETWEEN(fechacont, pfechiniej, a_fechafin) TO TOTABONOS
- IF tiponat = "D"
- V_SALDO = totCARGOS - totABONOS
- ELSE
- IF tiponat = "A"
- V_SALDO = totabonos - totcargos
- ELSE
- v_SALDO = 999999999.99
- ENDIF
- ENDIF
- ACTIVATE WINDOW status
- porcent = INT( ( c * 100 ) / ctap )
- desp = INT( ( c * 40 ) / ctap )
- @ 6,8 SAY "" COLOR GR+*/W
- @ 10,10 SAY REPLICATE( "Û", desp ) COLOR GR+/B
- @ 11,0 SAY PADC( STR( porcent, 3 ) + " % ", WCOLS() ) COLOR R/W
- @ WROWS()-1,0 SAY PADC("PERIODO ACUMULADO", WCOLS() ) COLOR GR+/GR
- SELECT ANUAL
- REPLACE saldo WITH v_saldo, cargo WITH totcargos, abono WITH totabonos
- SKIP
- c = c + 1
- ENDDO
- @ 6,8 SAY "" COLOR R/W
- @ 10,10 SAY REPLICATE( "°", 40 )
- SELECT 6
- cambio = 0
- LOCATE FOR fechacont = a_fechafin
- IF !FOUND()
- CAMBIO = PTIPOCAMB
- ELSE
- CAMBIO = tipocambio
- ENDIF
- SELECT ANUAL
- GO TOP
- STORE 0 TO porcent, desp
- c = 1
- SET FILTER TO moneda = "D"
- DO WHILE !EOF()
- codigo = clavecta
- tiponat = tipo
- x = LEFT(clavecta, 4) + " - " + SUBSTR(clavecta, 5, 3 ) + " - " + SUBSTR(clavecta, 9, 3 ) + " - " + RIGHT(clavecta,3) + "."
- SELECT 2
- STORE 0 TO TOTCARGOS, TOTABONOS, totcardll, totabodll, saldll
- * CALCULATE SUM (CARGOS) FOR CLAVECTA = CODIGO .AND. BETWEEN(fechacont,pfechiniej,pfechfinej) TO TOTCARGOS
- * CALCULATE SUM (ABONOS) FOR CLAVECTA = CODIGO .AND. BETWEEN(fechacont,pfechiniej,pfechfinej) TO TOTABONOS
- CALCULATE SUM (CARGOS) FOR CLAVECTA = CODIGO .AND. BETWEEN(fechacont, pfechiniej, a_fechafin) TO TOTCARGOS
- CALCULATE SUM (ABONOS) FOR CLAVECTA = CODIGO .AND. BETWEEN(fechacont, pfechiniej, a_fechafin) TO TOTABONOS
- totcardll = totcargos
- totabodll = totabonos
- totcargos = totcargos * cambio
- totabonos = totabonos * cambio
- IF tiponat = "D"
- V_SALDO = totCARGOS - totABONOS
- saldll = totcardll - totabodll
- ELSE
- IF tiponat = "A"
- V_SALDO = totabonos - totcargos
- saldll = totabodll - totcardll
- ENDIF
- ENDIF
- ACTIVATE WINDOW status
- porcent = INT( ( c * 100 ) / ctad )
- desp = INT( ( c * 40 ) / ctad )
- @ 7,8 SAY "" COLOR GR+*/W
- @ 10,10 SAY REPLICATE( "Û", desp ) COLOR GR+/B
- @ 11,0 SAY PADC( STR( porcent, 3 ) + " % ", WCOLS() ) COLOR R/W
- @ WROWS()-1,0 SAY PADC("PERIODO ACUMULADO", WCOLS() ) COLOR GR+/GR
- SELECT ANUAL
- REPLACE saldo WITH v_saldo, cargo WITH totcargos, abono WITH totabonos
- REPLACE saldodll WITH saldll
- c = c + 1
- * IF c > ctad
- * EXIT
- * ENDIF
- SKIP
- IF EOF()
- EXIT
- ENDIF
- ENDDO
- @ 5,8 say " "
- @ 6,8 SAY " "
- @ 7,8 SAY " " COLOR R/W
- @ 10,10 CLEAR TO 10,WCOLS()-2
- @ 10,10 SAY REPLICATE( "°", 40 )
- RETURN
- *!*****************************************************************************
- *!
- *! Procedure: PIMPRIME
- *!
- *! Called by: REPORTE (procedure in CONREAUX.PRG)
- *!
- *! Calls: STOPPRINT (procedure in CONREAUX.PRG)
- *! : CIV_TIME() (function in CONUTIL.PRG)
- *! : ENCABEZADO (procedure in CONREAUX.PRG)
- *! : MUESTRA (procedure in CONREAUX.PRG)
- *! : DETECTA (procedure in CONREAUX.PRG)
- *! : PSUBTOTAL (procedure in CONEDFIN.PRG)
- *!
- *! Indexes: CLAVECTA (tag in CONHELP.CDX)
- *!
- *!*****************************************************************************
- PROCEDURE Pimprime
- *************************************************************************
- NOTE : El proceso para de dise¤o del reporte cambiara, porque se generan ;
- dos tipos para cada uno. El ANUAL seguira como hasta ahora, pero ;
- el PARCIAL debe ponerse datos del proceso ANUAL y PARCIAL en dos ;
- columnas, por lo que se modifica la presentacion.;
- ;
- Este es el procedimiento de los reportes PARCIALES.
- *************************************************************************
- *RELEASE ALL
- *SET PROCEDURE TO conutil
- STORE 0 TO pingresos, pgastos, pgastosfin, pimpuestos, pcirculante, pcxc, pinventario, pafijo, potroactivo, ppasivoxadqn
- STORE 0 TO pcobrosanticip, pconsumos, pimpuesto2, pprestamos, pcontinrep, pcontinaisladas, pordinario, ppreferente, putejercicio
- STORE 0 TO putretenida, psuppagado, pv_supdonado, putsresulter, pactivototal, ppasivototal, pcontingencias, pcapitaltotal
- STORE 0 TO pGLOBALCARGOS, pGLOBALABONOS, pV_SALDO, pTOTACTIVO, pTOTPASIVO, pTOTCONTIN, pTOTCAPIT, pSWITCH1, pDIFCTSPTE, pacu
- DO CASE
- CASE p_nivel = 1
- SELECT (areat)
- v = RECCOUNT()
- totpag = ( ( RECCOUNT() + 220 ) / 1.5 ) / 55
- IF ROUND( totpag, 1 ) > 0
- totpag = INT( totpag ) + 1
- ELSE
- totpag = 1
- ENDIF
- tiempo = ( ( reccount() * 2 ) + 36 )
- min = tiempo / 60
- hor = int( min / 60 )
- seg = MOD( tiempo, 60 )
- min2 = MOD( min, 60 )
- v_totpag = totpag + 1
- DIMENSION scrpan( v_totpag )
- CASE p_nivel = 2
- SELECT (areat)
- v = RECCOUNT()
- totpag = ( ( RECCOUNT() + 220 ) / 1.2 ) / 55
- IF ROUND( totpag, 1 ) > 0
- totpag = INT( totpag ) + 1
- ELSE
- totpag = 1
- ENDIF
- tiempo = ( ( reccount() * 2 ) + 36 )
- min = tiempo / 60
- hor = int( min / 60 )
- seg = MOD( tiempo, 60 )
- min2 = MOD( min, 60 )
- v_totpag = totpag + 1
- DIMENSION scrpan( v_totpag )
- CASE p_nivel = 3
- SELECT (areat)
- v = RECCOUNT()
- totpag = ( ( RECCOUNT() + 220 ) ) / 55
- IF ROUND( totpag, 1 ) > 0
- totpag = INT( totpag ) + 1
- ELSE
- totpag = 1
- ENDIF
- tiempo = ( ( reccount() * 2 ) + 36 )
- min = tiempo / 60
- hor = int( min / 60 )
- seg = MOD( tiempo, 60 )
- min2 = MOD( min, 60 )
- v_totpag = totpag + 1
- DIMENSION scrpan( v_totpag )
- CASE p_nivel = 4
- SELECT ANUAL
- v = RECCOUNT()
- totpag = ( RECCOUNT() + 220 ) / 55
- IF ROUND( totpag, 1 ) > 0
- totpag = INT( totpag ) + 1
- ELSE
- totpag = 1
- ENDIF
- tiempo = ( ( reccount() * 2 ) + 36 )
- min = tiempo / 60
- hor = int( min / 60 )
- seg = MOD( tiempo, 60 )
- min2 = MOD( min, 60 )
- v_totpag = totpag + 1
- DIMENSION scrpan( v_totpag )
- ENDCASE
- cadena = "00"
- cad = iif( hor<10, stuff(cadena,2,1,str(hor,1)),stuff(cadena,1,2,str(hor,2))) + ":" +;
- iif( min2<10, stuff(cadena,2,1,str(min2,1)),stuff(cadena,1,2,str(min2,2))) + ":" +;
- iif( seg<10, stuff(cadena,2,1,str(seg,1)),stuff(cadena,1,2,str(seg,2)))
- elap = "00:00:00"
- porcen = 0
- IF P_Sele1 = 2
- ON ESCAPE DO Stopprint WITH "ESC"
- * ON ERROR DO Stopprint WITH "ERR"
- IF .NOT. PRINTSTATUS()
- DO Stopprint WITH "OUT"
- ENDIF
- DEFINE WINDOW imprimir FROM 10,10 TO 18,70 SHADOW TITLE " Imprimiendo " COLOR (colorimp)
- ACTIVATE WINDOW imprimir
- @ 0,20 SAY "Estimado: " + cad
- @ 1,20 SAY "Comienzo: " + CIV_TIME( TIME() )
- @ 2,20 SAY " Actual: "
- @ 4,0 SAY PADC("Pagina: " + LTRIM(STR(pagina)) + "/" + LTRIM(STR(totpag)), WCOLS() )
- @ 5,8 SAY REPLICATE("°", 45 )
- @ 6,0 SAY PADC( STR(porcen,3) + "%", WCOLS() )
- SET PRINT ON
- SET MARGIN TO 0
- SET DEVICE TO PRINTER
- ELSE
- SET PRINT OFF
- SET DEVICE TO SCREEN
- DEFINE WINDOW pantalla FROM 0,0 TO 66,138 "-","-",chr(8),chr(8),chr(8),chr(8),chr(8),chr(8);
- FOOTER " ESC = Cancela BACKSPACE = Pag.Prev. ENTER = Sig.Pag. " ;
- COLOR (colorvent)
- SET COLOR TO (colorvent)
- SET CLOCK OFF
- CLEAR
- HIDE POPUP ALL
- HIDE MENU ALL
- SET CURSOR OFF
- SET DISPLAY TO VGA50
- ACTIVATE WINDOW pantalla
- ENDIF
- IF p_print = 1
- p_pini = 1
- p_pfin = totpag
- ELSE
- IF p_pini = 0
- p_pini = 1
- ENDIF
- IF p_pfin = 0
- p_pfin = totpag
- ENDIF
- ENDIF
- DO encabezado
- ***********************************************************************
- NOTE: Primero se establecera una relacion entre el archivo ANUAL y el ;
- PARCIAL para que se accesen ambos saldos al mismo tiempo.;
- No olvidar borrar el indice.
- ***********************************************************************
- SELECT PARCIAL
- SET FILTER TO
- INDEX ON clavecta TAG clavecta
- SET ORDER TO TAG clavecta
- SELECT ANUAL
- SET FILTER TO
- GO TOP
- SET RELATION TO clavecta INTO PARCIAL
- STORE 0 TO saldodeudor, saldoacreedor, z, new, psaldodeudor, psaldoacreedor
- f2 = .F.
- DO CASE
- CASE p_nivel = 1
- f1 = .T.
- cod = LEFT( clavecta, 4 )
- principal = nombcta
- adonde = pertenen
- location = ubicacion
- STORE 0 TO totsaldo, ptotsaldo
- c = 1
- DO WHILE !EOF()
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- totsaldo = totsaldo + ANUAL.saldo
- ptotsaldo = ptotsaldo + PARCIAL.saldo
- location = ubicacion
- SKIP
- c = c + 1
- IF LEFT(clavecta, 4 ) = cod
- LOOP
- ELSE
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY principal
- ENDIF
- IF moneda = "D"
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 80 SAY TRANSFORM( PARCIAL.saldodll, "999,999,999,999.99" )
- @ linea, col - 40 SAY TRANSFORM( ANUAL.saldodll, "999,999,999,999.99" )
- ENDIF
- ENDIF
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 60 SAY TRANSFORM( ptotsaldo, "999,999,999,999.99" )
- @ linea, col - 20 SAY TRANSFORM( totsaldo, "999,999,999,999.99" )
- ENDIF
- linea = linea + 1
- DO Detecta
- IF tipo = "D"
- saldodeudor = saldodeudor + totsaldo
- psaldodeudor = psaldodeudor + ptotsaldo
- ELSE
- saldoacreedor = saldoacreedor + totsaldo
- psaldoacreedor = psaldoacreedor + ptotsaldo
- ENDIF
- cod = LEFT( clavecta, 4 )
- principal = nombcta
- STORE 0 TO totsaldo, ptotsaldo
- ENDIF
- IF ubicacion # location
- DO CASE
- CASE pertenen = "ER" .AND. location = 1
- ingresos = saldoacreedor - saldodeudor
- pingresos = psaldoacreedor - psaldodeudor
- DO psubtotal WITH ingresos, pingresos, " TOTAL DE INGRESOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "ER" .AND. location = 3
- gastos = saldodeudor - saldoacreedor
- pgastos = psaldodeudor - psaldoacreedor
- DO psubtotal WITH gastos, pgastos, " TOTAL DE GASTOS NO FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "ER" .AND. location = 4
- gastosfin = saldodeudor - saldoacreedor
- pgastosfin = psaldodeudor - psaldoacreedor
- DO psubtotal WITH gastosfin, pgastosfin, " TOTAL DE GASTOS FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 6
- impuestos = saldodeudor - saldoacreedor
- pimpuestos = psaldodeudor - psaldoacreedor
- DO psubtotal WITH impuestos, pimpuestos, " TOTAL DE IMPUESTOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 1
- circulante = saldodeudor - saldoacreedor
- pcirculante = psaldodeudor - psaldoacreedor
- DO psubtotal WITH circulante, pcirculante, " TOTAL DE ACTIVOS CIRCULANTES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 2
- cxc = saldodeudor - saldoacreedor
- pcxc = psaldodeudor - psaldoacreedor
- DO psubtotal WITH cxc, pcxc, " TOTAL DE CUENTAS POR COBRAR:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 3
- inventario = saldodeudor - saldoacreedor
- pinventario = psaldodeudor - psaldoacreedor
- DO psubtotal WITH inventario, pinventario, " TOTAL DE INVENTARIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 4
- afijo = saldodeudor - saldoacreedor
- pafijo = psaldodeudor - psaldoacreedor
- DO psubtotal WITH afijo, pafijo, " TOTAL DE ACTIVO FIJO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 5
- otroactivo = saldodeudor - saldoacreedor
- potroactivo = psaldodeudor - psaldoacreedor
- DO psubtotal WITH otroactivo, potroactivo, " TOTAL DE OTROS ACTIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 7
- pasivoxadqn = saldoacreedor - saldodeudor
- ppasivoxadqn = psaldoacreedor - psaldodeudor
- DO psubtotal WITH pasivoxadqn, ppasivoxadqn, " TOTAL PASIVOS X ADQUISICIONES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 8
- cobrosanticip = saldoacreedor - saldodeudor
- pcobrosanticip = psaldoacreedor - psaldodeudor
- DO psubtotal WITH cobrosanticip, pcobrosanticip, " TOTAL PASIVO POR COBROS ANTICIPADOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 9
- consumos = saldoacreedor - saldodeudor
- pconsumos = psaldoacreedor - psaldodeudor
- DO psubtotal WITH consumos, pconsumos, " PASIVO POR ADQN. BIENES DE CONSUMO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 10
- impuesto2 = saldoacreedor - saldodeudor
- pimpuesto2 = psaldoacreedor - psaldodeudor
- DO psubtotal WITH impuesto2, pimpuesto2, "PASIVOS CONTRAACTUALES E IMPOSITIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 11
- prestamos = saldoacreedor - saldodeudor
- pprestamos = psaldoacreedor - psaldodeudor
- DO psubtotal WITH prestamos, pprestamos, " PASIVOS POR OTROS PRESTAMOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 13
- continrep = saldoacreedor - saldodeudor
- pcontinrep = psaldoacreedor - psaldodeudor
- DO psubtotal WITH continrep, pcontinrep, " CONTINGENCIAS REPETIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 14
- continaisladas = saldoacreedor - saldodeudor
- pcontinaisladas = psaldoacreedor - psaldodeudor
- DO psubtotal WITH continaisladas, pcontinaisladas, " CONTINGENCIAS AISLADAS MEDIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "PU" .AND. location = 16
- ordinario = saldoacreedor - saldodeudor
- pordinario = psaldoacreedor - psaldodeudor
- DO psubtotal WITH ordinario, pordinario, " CAPITAL SOCIAL ORDINARIO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 17
- preferente = saldoacreedor - saldodeudor
- ppreferente = psaldoacreedor - psaldodeudor
- DO psubtotal WITH preferente, ppreferente, " CAPITAL SOCIAL PREFERENTE:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 18
- utejercicio = saldoacreedor - saldodeudor
- putejercicio = psaldoacreedor - psaldodeudor
- DO psubtotal WITH utejercicio, putejercicio, " UTILIDAD DEL EJERCICIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen ="BG" .AND. location = 19
- utretenida = saldoacreedor - saldodeudor
- putretenida = psaldoacreedor - psaldodeudor
- DO psubtotal WITH utretenida, putretenida, " UTILIDADES RETENIDAS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 20
- suppagado = saldoacreedor - saldodeudor
- psuppagado = psaldoacreedor - psaldodeudor
- DO psubtotal WITH suppagado, psuppagado, " SUPERAVIT PAGADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "PU" .AND. location = 21
- v_supdonado = saldoacreedor - saldodeudor
- pv_supdonado = psaldoacreedor - psaldodeudor
- DO psubtotal WITH v_supdonado, pv_supdonado, " SUPERAVIT DONADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- ENDCASE
- ENDIF
- IF pertenen = "BG" .AND. ubicacion = 1 .AND. f1
- linea = 56
- DO detecta
- linea = 7
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY PADC( " BALANCE GENERAL ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- f1 = .F.
- f2 = .T.
- linea = linea + 3
- ENDIF
- IF pertenen = "PU" .AND. ubicacion = 1 .AND. f2
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea + 2,0 SAY PADC( " CUENTAS PUENTE ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- linea = linea + 3
- DO detecta
- f2 = .F.
- ENDIF
- ENDDO
- CASE p_nivel = 2
- f1 = .T.
- cod = LEFT( clavecta, 7 )
- principal = nombcta
- adonde = pertenen
- location = ubicacion
- STORE 0 TO totsaldo, ptotsaldo
- c = 1
- DO WHILE !EOF()
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- totsaldo = totsaldo + ANUAL.saldo
- ptotsaldo = ptotsaldo + PARCIAL.saldo
- location = ubicacion
- SKIP
- c = c + 1
- IF LEFT(clavecta, 7 ) = cod
- LOOP
- ELSE
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY principal
- ENDIF
- IF moneda = "D"
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 80 SAY TRANSFORM( PARCIAL.saldodll, "999,999,999,999.99" )
- @ linea, col - 40 SAY TRANSFORM( ANUAL.saldodll, "999,999,999,999.99" )
- ENDIF
- ENDIF
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 60 SAY TRANSFORM( ptotsaldo, "999,999,999,999.99" )
- @ linea, col - 20 SAY TRANSFORM( totsaldo, "999,999,999,999.99" )
- ENDIF
- linea = linea + 1
- DO Detecta
- IF tipo = "D"
- saldodeudor = saldodeudor + totsaldo
- psaldodeudor = psaldodeudor + ptotsaldo
- ELSE
- saldoacreedor = saldoacreedor + totsaldo
- psldoacreedor = psaldoacreedor + ptotsaldo
- ENDIF
- cod = LEFT( clavecta, 7 )
- principal = nombcta
- STORE 0 TO totsaldo, ptotsaldo
- ENDIF
- IF ubicacion # location
- DO CASE
- CASE pertenen = "ER" .AND. location = 1
- ingresos = saldoacreedor - saldodeudor
- pingresos = psaldoacreedor - psaldodeudor
- DO psubtotal WITH ingresos, pingresos, " TOTAL DE INGRESOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "ER" .AND. location = 3
- gastos = saldodeudor - saldoacreedor
- pgastos = psaldodeudor - psaldoacreedor
- DO psubtotal WITH gastos, pgastos, " TOTAL DE GASTOS NO FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "ER" .AND. location = 4
- gastosfin = saldodeudor - saldoacreedor
- pgastosfin = psaldodeudor - psaldoacreedor
- DO psubtotal WITH gastosfin, pgastosfin, " TOTAL DE GASTOS FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 6
- impuestos = saldodeudor - saldoacreedor
- pimpuestos = psaldodeudor - psaldoacreedor
- DO psubtotal WITH impuestos, pimpuestos, " TOTAL DE IMPUESTOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 1
- circulante = saldodeudor - saldoacreedor
- pcirculante = psaldodeudor - psaldoacreedor
- DO psubtotal WITH circulante, pcirculante, " TOTAL DE ACTIVOS CIRCULANTES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 2
- cxc = saldodeudor - saldoacreedor
- pcxc = psaldodeudor - psaldoacreedor
- DO psubtotal WITH cxc, pcxc, " TOTAL DE CUENTAS POR COBRAR:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 3
- inventario = saldodeudor - saldoacreedor
- pinventario = psaldodeudor - psaldoacreedor
- DO psubtotal WITH inventario, pinventario, " TOTAL DE INVENTARIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 4
- afijo = saldodeudor - saldoacreedor
- pafijo = psaldodeudor - psaldoacreedor
- DO psubtotal WITH afijo, pafijo, " TOTAL DE ACTIVO FIJO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 5
- otroactivo = saldodeudor - saldoacreedor
- potroactivo = psaldodeudor - psaldoacreedor
- DO psubtotal WITH otroactivo, potroactivo, " TOTAL DE OTROS ACTIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 7
- pasivoxadqn = saldoacreedor - saldodeudor
- ppasivoxadqn = psaldoacreedor - psaldodeudor
- DO psubtotal WITH pasivoxadqn, ppasivoxadqn, " TOTAL PASIVOS X ADQUISICIONES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 8
- cobrosanticip = saldoacreedor - saldodeudor
- pcobrosanticip = psaldoacreedor - psaldodeudor
- DO psubtotal WITH cobrosanticip, pcobrosanticip, " TOTAL PASIVO POR COBROS ANTICIPADOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 9
- consumos = saldoacreedor - saldodeudor
- pconsumos = psaldoacreedor - psaldodeudor
- DO psubtotal WITH consumos, pconsumos, " PASIVO POR ADQN. BIENES DE CONSUMO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 10
- impuesto2 = saldoacreedor - saldodeudor
- pimpuesto2 = psaldoacreedor - psaldodeudor
- DO psubtotal WITH impuesto2, pimpuesto2, "PASIVOS CONTRAACTUALES E IMPOSITIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 11
- prestamos = saldoacreedor - saldodeudor
- pprestamos = psaldoacreedor - psaldodeudor
- DO psubtotal WITH prestamos, pprestamos, " PASIVOS POR OTROS PRESTAMOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 13
- continrep = saldoacreedor - saldodeudor
- pcontinrep = psaldoacreedor - psaldodeudor
- DO psubtotal WITH continrep, pcontinrep, " CONTINGENCIAS REPETIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 14
- continaisladas = saldoacreedor - saldodeudor
- pcontinaisladas = psaldoacreedor - psaldodeudor
- DO psubtotal WITH continaisladas, pcontinaisladas, " CONTINGENCIAS AISLADAS MEDIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "PU" .AND. location = 16
- ordinario = saldoacreedor - saldodeudor
- pordinario = psaldoacreedor - psaldodeudor
- DO psubtotal WITH ordinario, pordinario, " CAPITAL SOCIAL ORDINARIO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 17
- preferente = saldoacreedor - saldodeudor
- ppreferente = psaldoacreedor - psaldodeudor
- DO psubtotal WITH preferente, ppreferente, " CAPITAL SOCIAL PREFERENTE:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 18
- utejercicio = saldoacreedor - saldodeudor
- putejercicio = psaldoacreedor - psaldodeudor
- DO psubtotal WITH utejercicio, putejercicio, " UTILIDAD DEL EJERCICIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen ="BG" .AND. location = 19
- utretenida = saldoacreedor - saldodeudor
- putretenida = psaldoacreedor - psaldodeudor
- DO psubtotal WITH utretenida, putretenida, " UTILIDADES RETENIDAS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 20
- suppagado = saldoacreedor - saldodeudor
- psuppagado = psaldoacreedor - psaldodeudor
- DO psubtotal WITH suppagado, psuppagado, " SUPERAVIT PAGADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "PU" .AND. location = 21
- v_supdonado = saldoacreedor - saldodeudor
- pv_supdonado = psaldoacreedor - psaldodeudor
- DO psubtotal WITH v_supdonado, pv_supdonado, " SUPERAVIT DONADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- ENDCASE
- ENDIF
- IF pertenen = "BG" .AND. ubicacion = 1 .AND. f1
- linea = 56
- DO detecta
- linea = 7
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY PADC( " BALANCE GENERAL ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- f1 = .F.
- f2 = .T.
- linea = linea + 3
- ENDIF
- IF pertenen = "PU" .AND. ubicacion = 1 .AND. f2
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea + 2,0 SAY PADC( " CUENTAS PUENTE ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- linea = linea + 3
- DO detecta
- f2 = .F.
- ENDIF
- ENDDO
- CASE p_nivel = 3
- f1 = .T.
- cod = LEFT( clavecta, 10 )
- principal = nombcta
- adonde = pertenen
- location = ubicacion
- STORE 0 TO totsaldo, ptotsaldo
- c = 1
- DO WHILE !EOF()
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- totsaldo = totsaldo + ANUAL.saldo
- ptotsaldo = ptotsaldo + PARCIAL.saldo
- location = ubicacion
- SKIP
- c = c + 1
- IF LEFT(clavecta, 10 ) = cod
- LOOP
- ELSE
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY principal
- ENDIF
- IF moneda = "D"
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 80 SAY TRANSFORM( PARCIAL.saldodll, "999,999,999,999.99" )
- @ linea, col - 40 SAY TRANSFORM( ANUAL.saldodll, "999,999,999,999.99" )
- ENDIF
- ENDIF
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 60 SAY TRANSFORM( ptotsaldo, "999,999,999,999.99" )
- @ linea, col - 20 SAY TRANSFORM( totsaldo, "999,999,999,999.99" )
- ENDIF
- linea = linea + 1
- DO Detecta
- IF tipo = "D"
- saldodeudor = saldodeudor + totsaldo
- psaldodeudor = psaldodeudor + ptotsaldo
- ELSE
- saldoacreedor = saldoacreedor + totsaldo
- psaldoacreedor = psaldoacreedor + ptotsaldo
- ENDIF
- cod = LEFT( clavecta, 10 )
- principal = nombcta
- STORE 0 TO totsaldo, ptotsaldo
- ENDIF
- IF ubicacion # location
- DO CASE
- CASE pertenen = "ER" .AND. location = 1
- ingresos = saldoacreedor - saldodeudor
- pingresos = psaldoacreedor - psaldodeudor
- DO psubtotal WITH ingresos, pingresos, " TOTAL DE INGRESOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "ER" .AND. location = 3
- gastos = saldodeudor - saldoacreedor
- pgastos = psaldodeudor - psaldoacreedor
- DO psubtotal WITH gastos, pgastos, " TOTAL DE GASTOS NO FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "ER" .AND. location = 4
- gastosfin = saldodeudor - saldoacreedor
- pgastosfin = psaldodeudor - psaldoacreedor
- DO psubtotal WITH gastosfin, pgastosfin, " TOTAL DE GASTOS FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 6
- impuestos = saldodeudor - saldoacreedor
- pimpuestos = psaldodeudor - psaldoacreedor
- DO psubtotal WITH impuestos, pimpuestos, " TOTAL DE IMPUESTOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 1
- circulante = saldodeudor - saldoacreedor
- pcirculante = psaldodeudor - psaldoacreedor
- DO psubtotal WITH circulante, pcirculante, " TOTAL DE ACTIVOS CIRCULANTES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 2
- cxc = saldodeudor - saldoacreedor
- pcxc = psaldodeudor - psaldoacreedor
- DO psubtotal WITH cxc, pcxc, " TOTAL DE CUENTAS POR COBRAR:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 3
- inventario = saldodeudor - saldoacreedor
- pinventario = psaldodeudor - psaldoacreedor
- DO psubtotal WITH inventario, pinventario, " TOTAL DE INVENTARIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 4
- afijo = saldodeudor - saldoacreedor
- pafijo = psaldodeudor - psaldoacreedor
- DO psubtotal WITH afijo, pafijo, " TOTAL DE ACTIVO FIJO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 5
- otroactivo = saldodeudor - saldoacreedor
- potroactivo = psaldodeudor - psaldoacreedor
- DO psubtotal WITH otroactivo, potroactivo, " TOTAL DE OTROS ACTIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 7
- pasivoxadqn = saldoacreedor - saldodeudor
- ppasivoxadqn = psaldoacreedor - psaldodeudor
- DO psubtotal WITH pasivoxadqn, ppasivoxadqn, " TOTAL PASIVOS X ADQUISICIONES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 8
- cobrosanticip = saldoacreedor - saldodeudor
- pcobrosanticip = psaldoacreedor - psaldodeudor
- DO psubtotal WITH cobrosanticip, pcobrosanticip, " TOTAL PASIVO POR COBROS ANTICIPADOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 9
- consumos = saldoacreedor - saldodeudor
- pconsumos = psaldoacreedor - psaldodeudor
- DO psubtotal WITH consumos, pconsumos, " PASIVO POR ADQN. BIENES DE CONSUMO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 10
- impuesto2 = saldoacreedor - saldodeudor
- pimpuesto2 = psaldoacreedor - psaldodeudor
- DO psubtotal WITH impuesto2, pimpuesto2, "PASIVOS CONTRAACTUALES E IMPOSITIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 11
- prestamos = saldoacreedor - saldodeudor
- pprestamos = psaldoacreedor - psaldodeudor
- DO psubtotal WITH prestamos, pprestamos, " PASIVOS POR OTROS PRESTAMOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 13
- continrep = saldoacreedor - saldodeudor
- pcontinrep = psaldoacreedor - psaldodeudor
- DO psubtotal WITH continrep, pcontinrep, " CONTINGENCIAS REPETIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 14
- continaisladas = saldoacreedor - saldodeudor
- pcontinaisladas = psaldoacreedor - psaldodeudor
- DO psubtotal WITH continaisladas, pcontinaisladas, " CONTINGENCIAS AISLADAS MEDIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "PU" .AND. location = 16
- ordinario = saldoacreedor - saldodeudor
- pordinario = psaldoacreedor - psaldodeudor
- DO psubtotal WITH ordinario, pordinario, " CAPITAL SOCIAL ORDINARIO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 17
- preferente = saldoacreedor - saldodeudor
- ppreferente = psaldoacreedor - psaldodeudor
- DO psubtotal WITH preferente, ppreferente, " CAPITAL SOCIAL PREFERENTE:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 18
- utejercicio = saldoacreedor - saldodeudor
- putejercicio = psaldoacreedor - psaldodeudor
- DO psubtotal WITH utejercicio, putejercicio, " UTILIDAD DEL EJERCICIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen ="BG" .AND. location = 19
- utretenida = saldoacreedor - saldodeudor
- putretenida = psaldoacreedor - psaldodeudor
- DO psubtotal WITH utretenida, putretenida, " UTILIDADES RETENIDAS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 20
- suppagado = saldoacreedor - saldodeudor
- psuppagado = psaldoacreedor - psaldodeudor
- DO psubtotal WITH suppagado, psuppagado, " SUPERAVIT PAGADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "PU" .AND. location = 21
- v_supdonado = saldoacreedor - saldodeudor
- pv_supdonado = psaldoacreedor - psaldodeudor
- DO psubtotal WITH v_supdonado, pv_supdonado, " SUPERAVIT DONADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- ENDCASE
- ENDIF
- IF pertenen = "BG" .AND. ubicacion = 1 .AND. f1
- linea = 56
- DO detecta
- linea = 7
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY PADC( " BALANCE GENERAL ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- f1 = .F.
- f2 = .T.
- linea = linea + 3
- ENDIF
- IF pertenen = "PU" .AND. ubicacion = 1 .AND. f2
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea + 2,0 SAY PADC( " CUENTAS PUENTE ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- linea = linea + 3
- DO detecta
- f2 = .F.
- ENDIF
- ENDDO
- CASE p_nivel = 4
- *******************************************************
- NOTE: Procedimiento modificado para el reporte PARCIAL ;
- los campos de saldos deben llevar el ALIAS o AREA DE ;
- TRABAJO para identificar si pertenencen a PARCIAL o ;
- ANUAL.
- ********************************************************
- f1 = .T.
- IF p_pini = 1
- @ linea,0 SAY PADC(" ESTADOS DE RESULTADOS ", col, "*" )
- linea = linea + 2
- ENDIF
- c = 1
- DO WHILE !EOF()
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea,0 SAY nombcta
- ENDIF
- ***********************************************
- NOTE: Primero deben ir los resultados PARCIALES y luego;
- los ANUALES.
- ***********************************************
- IF tipo = "D"
- saldodeudor = saldodeudor + ANUAL.saldo
- psaldodeudor = psaldodeudor + PARCIAL.saldo
- ELSE
- saldoacreedor = saldoacreedor + ANUAL.saldo
- psaldoacreedor = psaldoacreedor + PARCIAL.saldo
- ENDIF
- IF cargo <> 0 .OR. abono <> 0
- IF moneda = "D"
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 80 SAY TRANSFORM( PARCIAL.saldodll, "999,999,999,999.99" )
- @ linea, col - 40 SAY TRANSFORM( ANUAL.saldodll, "999,999,999,999.99" )
- ENDIF
- ENDIF
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, col - 60 SAY TRANSFORM( PARCIAL.saldo, "999,999,999,999.99" )
- @ linea, col - 20 SAY TRANSFORM( ANUAL.saldo, "999,999,999,999.99" )
- endif
- linea = linea + 1
- DO Detecta
- ELSE
- linea = linea + 1
- DO Detecta
- ENDIF
- location = ubicacion
- SKIP
- c = c + 1
- IF ubicacion # location
- DO CASE
- CASE pertenen = "ER" .AND. location = 1
- ingresos = saldoacreedor - saldodeudor
- pingresos = psaldoacreedor - psaldodeudor
- DO psubtotal WITH ingresos, pingresos, " TOTAL DE INGRESOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "ER" .AND. location = 3
- gastos = saldodeudor - saldoacreedor
- pgastos = psaldodeudor - psaldoacreedor
- DO psubtotal WITH gastos, pgastos, " TOTAL DE GASTOS NO FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "ER" .AND. location = 4
- gastosfin = saldodeudor - saldoacreedor
- pgastosfin = psaldodeudor - psaldoacreedor
- DO psubtotal WITH gastosfin, pgastosfin, " TOTAL DE GASTOS FINANCIEROS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 6
- impuestos = saldodeudor - saldoacreedor
- pimpuestos = psaldodeudor - psaldoacreedor
- DO psubtotal WITH impuestos, pimpuestos, " TOTAL DE IMPUESTOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 1
- circulante = saldodeudor - saldoacreedor
- pcirculante = psaldodeudor - psaldoacreedor
- DO psubtotal WITH circulante, pcirculante, " TOTAL DE ACTIVOS CIRCULANTES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 2
- cxc = saldodeudor - saldoacreedor
- pcxc = psaldodeudor - psaldoacreedor
- DO psubtotal WITH cxc, pcxc, " TOTAL DE CUENTAS POR COBRAR:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 3
- inventario = saldodeudor - saldoacreedor
- pinventario = psaldodeudor - psaldoacreedor
- DO psubtotal WITH inventario, pinventario, " TOTAL DE INVENTARIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 4
- afijo = saldodeudor - saldoacreedor
- pafijo = psaldodeudor - psaldoacreedor
- DO psubtotal WITH afijo, pafijo, " TOTAL DE ACTIVO FIJO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 5
- otroactivo = saldodeudor - saldoacreedor
- potroactivo = psaldodeudor - psaldoacreedor
- DO psubtotal WITH otroactivo, potroactivo, " TOTAL DE OTROS ACTIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 7
- pasivoxadqn = saldoacreedor - saldodeudor
- ppasivoxadqn = psaldoacreedor - psaldodeudor
- DO psubtotal WITH pasivoxadqn, ppasivoxadqn, " TOTAL PASIVOS X ADQUISICIONES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 8
- cobrosanticip = saldoacreedor - saldodeudor
- pcobrosanticip = psaldoacreedor - psaldodeudor
- DO psubtotal WITH cobrosanticip, pcobrosanticip, " TOTAL PASIVO POR COBROS ANTICIPADOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 9
- consumos = saldoacreedor - saldodeudor
- pconsumos = psaldoacreedor - psaldodeudor
- DO psubtotal WITH consumos, pconsumos, " PASIVO POR ADQN. BIENES DE CONSUMO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 10
- impuesto2 = saldoacreedor - saldodeudor
- pimpuesto2 = psaldoacreedor - psaldodeudor
- DO psubtotal WITH impuesto2, pimpuesto2, "PASIVOS CONTRAACTUALES E IMPOSITIVOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 11
- prestamos = saldoacreedor - saldodeudor
- pprestamos = psaldoacreedor - psaldodeudor
- DO psubtotal WITH prestamos, pprestamos, " PASIVOS POR OTROS PRESTAMOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 13
- continrep = saldoacreedor - saldodeudor
- pcontinrep = psaldoacreedor - psaldodeudor
- DO psubtotal WITH continrep, pcontinrep, " CONTINGENCIAS REPETIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .AND. location = 14
- continaisladas = saldoacreedor - saldodeudor
- pcontinaisladas = psaldoacreedor - psaldodeudor
- DO psubtotal WITH continaisladas, pcontinaisladas, " CONTINGENCIAS AISLADAS MEDIBLES:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .OR. pertenen = "PU" .AND. location = 16
- ordinario = saldoacreedor - saldodeudor
- pordinario = psaldoacreedor - psaldodeudor
- DO psubtotal WITH ordinario, pordinario, " CAPITAL SOCIAL ORDINARIO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .OR. pertenen = "PU" .AND. location = 17
- preferente = saldoacreedor - saldodeudor
- ppreferente = psaldoacreedor - psaldodeudor
- DO psubtotal WITH preferente, ppreferente, " CAPITAL SOCIAL PREFERENTE:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .OR. pertenen = "PU" .AND. location = 18
- utejercicio = saldoacreedor - saldodeudor
- putejercicio = psaldoacreedor - psaldodeudor
- DO psubtotal WITH utejercicio, putejercicio, " UTILIDAD DEL EJERCICIOS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen ="BG" .OR. pertenen = "PU" .AND. location = 19
- utretenida = saldoacreedor - saldodeudor
- putretenida = psaldoacreedor - psaldodeudor
- DO psubtotal WITH utretenida, putretenida, " UTILIDADES RETENIDAS:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "BG" .OR. pertenen = "PU" .AND. location = 20
- suppagado = saldoacreedor - saldodeudor
- psuppagado = psaldoacreedor - psaldodeudor
- DO psubtotal WITH suppagado, psuppagado, " SUPERAVIT PAGADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- CASE pertenen = "PU" .AND. location = 21
- v_supdonado = saldoacreedor - saldodeudor
- pv_supdonado = psaldoacreedor - psaldodeudor
- DO psubtotal WITH v_supdonado, pv_supdonado, " SUPERAVIT DONADO:"
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- ENDCASE
- ENDIF
- IF pertenen = "BG" .AND. ubicacion = 1 .AND. f1
- linea = 56
- DO detecta
- linea = 7
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY PADC( " BALANCE GENERAL ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- f1 = .F.
- f2 = .T.
- linea = linea + 3
- ENDIF
- IF pertenen = "PU" .AND. ubicacion = 1 .AND. f2
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea + 2,0 SAY PADC( " CUENTAS PUENTE ", col, "*" )
- ENDIF
- STORE 0 TO saldodeudor, saldoacreedor
- STORE 0 TO psaldodeudor, psaldoacreedor
- linea = linea + 3
- DO detecta
- f2 = .F.
- ENDIF
- ENDDO
- ENDCASE
- IF pagina >= p_pini .AND. pagina <= p_pfin
- c = c + 1
- linea = 56
- DO DETECTA
- utsresulter = ingresos - gastos - gastosfin - impuestos
- putsresulter = pingresos - pgastos - pgastosfin - pimpuestos
- @ linea,12 SAY "Estados de Resultados PARCIALES Condensado"
- @ linea,77 SAY "Estados de Resultados ACUMULADO Condensado"
- @ linea+1, 7 SAY REPLICATE("Ä", 54 )
- @ linea+1,72 SAY REPLICATE("Ä", 54 )
- @ linea+2,7 SAY " Total de Ingresos : " + TRANSFORM( pingresos, "999,999,999,999.99")
- @ linea+2,72 SAY " Total de Ingresos : " + TRANSFORM( ingresos, "999,999,999,999.99")
- @ linea+3,7 SAY "(-) Gastos NO Financieros : " + TRANSFORM( pgastos, "999,999,999,999.99")
- @ linea+3,72 SAY "(-) Gastos NO Financieros : " + TRANSFORM( gastos, "999,999,999,999.99")
- @ linea+4,7 SAY "(-) Gastos Financieros : " + TRANSFORM( pgastosfin, "999,999,999,999.99")
- @ linea+4,72 SAY "(-) Gastos Financieros : " + TRANSFORM( gastosfin, "999,999,999,999.99")
- @ linea+5,43 SAY REPLICATE("Ä", 18 )
- @ linea+5,108 SAY REPLICATE("Ä", 18 )
- @ linea+6,7 SAY "(=) Utilidad antes de Impuestos : " + TRANSFORM( pingresos-gastos-gastosfin, "999,999,999,999.99")
- @ linea+6,72 SAY "(=) Utilidad antes de Impuestos : " + TRANSFORM( ingresos-gastos-gastosfin, "999,999,999,999.99")
- @ linea+7,7 SAY "(-) Impuestos : " + TRANSFORM( pimpuestos, "999,999,999,999.99")
- @ linea+7,72 SAY "(-) Impuestos : " + TRANSFORM( impuestos, "999,999,999,999.99")
- @ linea+8,43 SAY REPLICATE("Ä", 18 )
- @ linea+8,108 SAY REPLICATE("Ä", 18 )
- @ linea+9,7 SAY "(=) Utilidad despues de Impuestos: " + TRANSFORM( putsresulter, "999,999,999,999.99")
- @ linea+9,72 SAY "(=) Utilidad despues de Impuestos: " + TRANSFORM( utsresulter, "999,999,999,999.99")
- c = c + 12
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- linea = linea + 12
- DO detecta
- activototal = circulante + cxc + inventario + afijo + otroactivo
- pactivototal = pcirculante + pcxc + pinventario + pafijo + potroactivo
- @ linea,12 SAY "Resumen de los Activos PARCIALES"
- @ linea,77 SAY "Resumen de los Activos ACUMULADOS"
- @ linea+1,7 SAY REPLICATE("Ä", 54 )
- @ linea+1,72 SAY REPLICATE("Ä", 54 )
- @ linea+2,7 SAY " Activo circulante total : " + TRANSFORM( pcirculante, "999,999,999,999.99")
- @ linea+2,72 SAY " Activo circulante total : " + TRANSFORM( circulante, "999,999,999,999.99")
- @ linea+3,7 SAY "(+) Cuentas por Cobrar : " + TRANSFORM( pcxc, "999,999,999,999.99")
- @ linea+3,72 SAY "(+) Cuentas por Cobrar : " + TRANSFORM( cxc, "999,999,999,999.99")
- @ linea+4,7 SAY "(+) Inventarios : " + TRANSFORM( pinventario, "999,999,999,999.99")
- @ linea+4,72 SAY "(+) Inventarios : " + TRANSFORM( inventario, "999,999,999,999.99")
- @ linea+5,7 SAY "(+) Activo Fijo Neto : " + TRANSFORM( pafijo, "999,999,999,999.99")
- @ linea+5,72 SAY "(+) Activo Fijo Neto : " + TRANSFORM( afijo, "999,999,999,999.99")
- @ linea+6,7 SAY "(+) Otros Activos : " + TRANSFORM( potroactivo, "999,999,999,999.99")
- @ linea+6,72 SAY "(+) Otros Activos : " + TRANSFORM( otroactivo, "999,999,999,999.99")
- @ linea+7,43 SAY REPLICATE( "Ä", 18 )
- @ linea+7,108 SAY REPLICATE( "Ä", 18 )
- @ linea+8,7 SAY "(=) Total de Activos : " + TRANSFORM( pactivototal, "999,999,999,999.99")
- @ linea+8,72 SAY "(=) Total de Activos : " + TRANSFORM( activototal, "999,999,999,999.99")
- @ linea+9,43 SAY REPLICATE( "Í", 18 )
- @ linea+9,108 SAY REPLICATE( "Í", 18 )
- c = c + 12
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- linea = linea + 12
- DO detecta
- pasivototal = pasivoxadqn + cobrosanticip + consumos + impuesto2 + prestamos
- ppasivototal = ppasivoxadqn + pcobrosanticip + pconsumos + pimpuesto2 + pprestamos
- @ linea,12 SAY "Resumen de los Pasivos PARCIALES"
- @ linea,77 SAY "Resumen de los Pasivos ACUMULADOS"
- @ linea+1,7 SAY REPLICATE("Ä", 54 )
- @ linea+1,72 SAY REPLICATE("Ä", 54 )
- @ linea+2,7 SAY " Pasivos por Adquisiciones : " + TRANSFORM( ppasivoxadqn, "999,999,999,999.99")
- @ linea+2,72 SAY " Pasivos por Adquisiciones : " + TRANSFORM( pasivoxadqn, "999,999,999,999.99")
- @ linea+3,7 SAY "(+) Cobros anticipados : " + TRANSFORM( pcobrosanticip, "999,999,999,999.99")
- @ linea+3,72 SAY "(+) Cobros anticipados : " + TRANSFORM( cobrosanticip, "999,999,999,999.99")
- @ linea+4,7 SAY "(+) Pasivos para Consumo : " + TRANSFORM( pconsumos, "999,999,999,999.99")
- @ linea+4,72 SAY "(+) Pasivos para Consumo : " + TRANSFORM( consumos, "999,999,999,999.99")
- @ linea+5,7 SAY "(+) Contratos e Impuestos : " + TRANSFORM( pimpuesto2, "999,999,999,999.99")
- @ linea+5,72 SAY "(+) Contratos e Impuestos : " + TRANSFORM( impuesto2, "999,999,999,999.99")
- @ linea+6,7 SAY "(+) Otros Prestamos : " + TRANSFORM( pprestamos, "999,999,999,999.99")
- @ linea+6,72 SAY "(+) Otros Prestamos : " + TRANSFORM( prestamos, "999,999,999,999.99")
- @ linea+7,43 SAY REPLICATE( "Ä", 18 )
- @ linea+7,108 SAY REPLICATE( "Ä", 18 )
- @ linea+8,7 SAY "(=) Total de Pasivos : " + TRANSFORM( ppasivototal, "999,999,999,999.99")
- @ linea+8,72 SAY "(=) Total de Pasivos : " + TRANSFORM( pasivototal, "999,999,999,999.99")
- @ linea+9,43 SAY REPLICATE( "Í", 18 )
- @ linea+9,108 SAY REPLICATE( "Í", 18 )
- c = c + 12
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- linea = linea + 12
- DO detecta
- contingencias = continrep + continaisladas
- pcontingencias = pcontinrep + pcontinaisladas
- @ linea,12 SAY "Resumen de las Contingencias PARCIALES"
- @ linea,77 SAY "Resumen de las Contingencias ACUMULADAS"
- @ linea+1,7 SAY REPLICATE("Ä", 54 )
- @ linea+1,72 SAY REPLICATE("Ä", 54 )
- @ linea+2,7 SAY " Contingencias Repetibles : " + TRANSFORM( pcontinrep, "999,999,999,999.99")
- @ linea+2,72 SAY " Contingencias Repetibles : " + TRANSFORM( continrep, "999,999,999,999.99")
- @ linea+3,7 SAY "(+) Conting. Aisladas Medibles : " + TRANSFORM( pcontinaisladas, "999,999,999,999.99")
- @ linea+3,72 SAY "(+) Conting. Aisladas Medibles : " + TRANSFORM( continaisladas, "999,999,999,999.99")
- @ linea+4,43 SAY REPLICATE( "Ä", 18 )
- @ linea+4,108 SAY REPLICATE( "Ä", 18 )
- @ linea+5,7 SAY "(=) Total de activos : " + TRANSFORM( pcontingencias, "999,999,999,999.99")
- @ linea+5,72 SAY "(=) Total de activos : " + TRANSFORM( contingencias, "999,999,999,999.99")
- @ linea+6,43 SAY REPLICATE( "Í", 18 )
- @ linea+6,108 SAY REPLICATE( "Í", 18 )
- c = c + 8
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- linea = linea + 8
- DO detecta
- capitaltotal = ordinario + preferente + utejercicio + utretenida + suppagado + v_supdonado + utsresulter
- pcapitaltotal = pordinario + ppreferente + putejercicio + putretenida + psuppagado + pv_supdonado + putsresulter
- @ linea,12 SAY "Resumen del Capital PARCIALES"
- @ linea,77 SAY "Resumen del Capital ACUMULADOS"
- @ linea+1,7 SAY REPLICATE("Ä", 54 )
- @ linea+1,72 SAY REPLICATE("Ä", 54 )
- @ linea+2,7 SAY " Capital Social Ordinario : " + TRANSFORM( pordinario, "999,999,999,999.99")
- @ linea+2,72 SAY " Capital Social Ordinario : " + TRANSFORM( ordinario, "999,999,999,999.99")
- @ linea+3,7 SAY "(+) Capital Social Preferente : " + TRANSFORM( ppreferente, "999,999,999,999.99")
- @ linea+3,72 SAY "(+) Capital Social Preferente : " + TRANSFORM( preferente, "999,999,999,999.99")
- @ linea+4,7 SAY "(+) Utilidad del Ejercicio : " + TRANSFORM( putejercicio, "999,999,999,999.99")
- @ linea+4,72 SAY "(+) Utilidad del Ejercicio : " + TRANSFORM( utejercicio, "999,999,999,999.99")
- @ linea+5,7 SAY "(+) Utilidades Retenidas : " + TRANSFORM( putretenida, "999,999,999,999.99")
- @ linea+5,72 SAY "(+) Utilidades Retenidas : " + TRANSFORM( utretenida, "999,999,999,999.99")
- @ linea+6,7 SAY "(+) Superavit Pagado : " + TRANSFORM( psuppagado, "999,999,999,999.99")
- @ linea+6,72 SAY "(+) Superavit Pagado : " + TRANSFORM( suppagado, "999,999,999,999.99")
- @ linea+7,7 SAY "(+) Superavit Donado : " + TRANSFORM( pv_supdonado, "999,999,999,999.99")
- @ linea+7,72 SAY "(+) Superavit Donado : " + TRANSFORM( v_supdonado, "999,999,999,999.99")
- @ linea+8,7 SAY "(+) Utilidad Despues de Impuestos: " + TRANSFORM( putsresulter, "999,999,999,999.99")
- @ linea+8,72 SAY "(+) Utilidad Despues de Impuestos: " + TRANSFORM( utsresulter, "999,999,999,999.99")
- @ linea+9,43 SAY REPLICATE( "Ä", 18 )
- @ linea+9,108 SAY REPLICATE( "Ä", 18 )
- @ linea+10,7 SAY "(=) Capital total : " + TRANSFORM( pcapitaltotal, "999,999,999,999.99")
- @ linea+10,72 SAY "(=) Capital total : " + TRANSFORM( capitaltotal, "999,999,999,999.99")
- @ linea+11,43 SAY REPLICATE( "Í", 18 )
- @ linea+11,108 SAY REPLICATE( "Í", 18 )
- c = c + 12
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- ENDIF
- linea = linea + 12
- DO detecta
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea,12 SAY "CUADRE DEL BALANCE GENERAL EN PARCIALES"
- @ linea,77 SAY "CUADRE DEL BALANCE GENERAL EN ACUMULADO"
- @ linea+1,7 SAY REPLICATE("Ä", 54 )
- @ linea+1,72 SAY REPLICATE("Ä", 54 )
- @ linea+2,7 SAY " PASIVOS : " + TRANSFORM( ppasivototal, "999,999,999,999.99")
- @ linea+2,72 SAY " PASIVOS : " + TRANSFORM( pasivototal, "999,999,999,999.99")
- @ linea+3,7 SAY "(+) CONTINGENCIAS : " + TRANSFORM( pcontingencias, "999,999,999,999.99")
- @ linea+3,72 SAY "(+) CONTINGENCIAS : " + TRANSFORM( contingencias, "999,999,999,999.99")
- @ linea+4,7 SAY "(+) CAPITAL : " + TRANSFORM( pcapitaltotal, "999,999,999,999.99")
- @ linea+4,72 SAY "(+) CAPITAL : " + TRANSFORM( capitaltotal, "999,999,999,999.99")
- @ linea+5,43 SAY REPLICATE( "Ä", 18 )
- @ linea+5,108 SAY REPLICATE( "Ä", 18 )
- ppasivototal = ppasivototal + pcontingencias + pcapitaltotal
- pasivototal = pasivototal + contingencias + capitaltotal
- @ linea+6,7 SAY "(=) PASIVO + CAPITAL : " + TRANSFORM( ppasivototal, "999,999,999,999.99")
- @ linea+6,72 SAY "(=) PASIVO + CAPITAL : " + TRANSFORM( pasivototal, "999,999,999,999.99")
- @ linea+7,7 SAY " ACTIVOS : " + TRANSFORM( pactivototal, "999,999,999,999.99")
- @ linea+7,72 SAY " ACTIVOS : " + TRANSFORM( activototal, "999,999,999,999.99")
- @ linea+8,43 SAY REPLICATE( "Ä", 18 )
- @ linea+8,108 SAY REPLICATE( "Ä", 18 )
- @ linea+9,7 SAY "Diferencias A - (P + C) : " + TRANSFORM( pactivototal - ppasivototal, "999,999,999,999.99")
- @ linea+9,72 SAY "Diferencias A - (P + C) : " + TRANSFORM( activototal - pasivototal, "999,999,999,999.99")
- @ linea+10,43 SAY REPLICATE( "Í", 18 )
- @ linea+10,108 SAY REPLICATE( "Í", 18 )
- @ linea+12,7 SAY "Tipo de Cambio de Valuacion : " + TRANSFORM( cambio, "999,999.999999")
- @ linea+12,72 SAY "Tipo de Cambio de Valuacion : " + TRANSFORM( cambio, "999,999.999999")
- ENDIF
- IF p_sele1 = 1
- c = c + 12
- IF p_sele1 = 2
- DO muestra WITH c, v, pagina, totpag
- ENDIF
- linea = 57
- DO detecta
- ENDIF
- RETURN
- *!*****************************************************************************
- *!
- *! Procedure: PFILL
- *!
- *! Called by: LLENADO (procedure in CONEDFIN.PRG)
- *!
- *!*****************************************************************************
- PROCEDURE Pfill
- ******************************
- * Procedimiento de llenado para reporte
- *
- STORE 0 TO porcent, desp
- c = 1
- FOR J = 1 TO 3 && Este For son Balance/EdoResult/Cts Puentes
- SELECT 3
- totreg = RECCOUNT()
- SET FILTER TO
- DO CASE
- CASE J = 1
- P = "ER"
- R = 6
- MENSAJE = "Estados de Resultados"
- CASE J = 2
- P = "BG"
- R = 21
- MENSAJE = "Balance General"
- CASE J = 3
- CONTADOR = 0
- SCAN FOR UPPER (PERTENEN) = "PU"
- CONTADOR = CONTADOR + 1
- ENDSCAN
- P = "PU"
- R = 2
- MENSAJE = "Cuentas Puente"
- IF CONTADOR = 0
- EXIT
- ENDIF
- ENDCASE
- FOR I = 1 TO R
- SELECT 3
- SET FILTER TO UBICACION = I AND PERTENEN = P
- GO TOP
- CODIGO = CLAVECTA
- INICIO = CTA
- DO WHILE !EOF()
- CODIGO = CLAVECTA
- TIPOMON = MONEDA
- tiponat = tipo
- what = pertenen
- where = ubicacion
- DO CASE
- CASE CTA <> SPACE(4) AND SCTA <> SPACE(3) AND SSCTA <> SPACE(3) AND SSSCTA <> SPACE(3)
- X = CTA + " - " + SCTA + " - " + SSCTA + " - " + SSSCTA + "."
- Y = NSSSCTA
- Z = SPACE(1)
- CASE CTA <> SPACE(4) AND SCTA <> SPACE(3) AND SSCTA <> SPACE(3) AND SSSCTA = SPACE(3)
- X = CTA + " - " + SCTA + " - " + SSCTA + "."
- Y = NSSCTA
- Z = SPACE(1)
- CASE CTA <> SPACE(4) AND SCTA <> SPACE(3) AND SSCTA = SPACE(3) AND SSSCTA = SPACE(3)
- X = CTA + " - " + SCTA + "."
- Y = NSCTA
- Z = SPACE(1)
- CASE CTA <> SPACE(4) AND SCTA = SPACE(3) AND SSCTA = SPACE(3) AND SSSCTA = SPACE(3)
- X = CTA + "."
- Y = NCTA
- ENDCASE
- ACTIVATE WINDOW status
- porcent = INT( ( c * 100 ) / totreg )
- desp = INT( ( c * 40 ) / totreg )
- @ 5,8 SAY "" COLOR GR+*/W
- @ 10,10 SAY REPLICATE( "Û", desp ) COLOR GR+/B
- @ 11,0 SAY PADC( STR( porcent, 3 ) + " % ", WCOLS() ) COLOR R/W
- @ WROWS()-1,0 SAY PADC("PERIODO PARCIAL", WCOLS() ) COLOR GR+/GR
- SELECT PARCIAL
- APPEND BLANK
- REPLACE clavecta WITH codigo, nombcta WITH x+SPACE(5)+y
- REPLACE moneda WITH tipomon, pertenen WITH what, tipo WITH tiponat
- REPLACE ubicacion WITH where
- SELECT 3
- SKIP
- c = c + 1
- IF CTA <> INICIO
- INICIO = CTA
- ENDIF
- ENDDO
- NEXT
- ENDFOR
- @ 5,8 SAY "" COLOR R/W
- @ 10,10 SAY REPLICATE( "°", 40 )
- SELECT PARCIAL
- STORE 0 TO ctap, ctad
- SCAN FOR moneda = "P"
- ctap = ctap + 1
- ENDSCAN
- SCAN FOR moneda = "D"
- ctad = ctad + 1
- ENDSCAN
- GO TOP
- STORE 0 TO porcent, desp
- c = 1
- SET FILTER TO moneda = "P"
- DO WHILE !EOF()
- codigo = clavecta
- tiponat = tipo
- x = LEFT(clavecta, 4) + " - " + SUBSTR(clavecta, 5, 3 ) + " - " + SUBSTR(clavecta, 9, 3 ) + " - " + RIGHT(clavecta,3) + "."
- SELECT 1
- TOTCARGOS = 0
- TOTABONOS = 0
- CALCULATE SUM(CARGOS) FOR CLAVECTA = CODIGO .AND. fechacont >= a_fechaini .AND. fechacont <= a_fechafin TO TOTCARGOS
- CALCULATE SUM(ABONOS) FOR CLAVECTA = CODIGO .AND. fechacont >= a_fechaini .AND. fechacont <= a_fechafin TO TOTABONOS
- IF tiponat = "D"
- V_SALDO = totCARGOS - totABONOS
- ELSE
- IF tiponat = "A"
- V_SALDO = totabonos - totcargos
- ELSE
- v_SALDO = 999999999.99
- ENDIF
- ENDIF
- ACTIVATE WINDOW status
- porcent = INT( ( c * 100 ) / ctap )
- desp = INT( ( c * 40 ) / ctap )
- @ 6,8 SAY "" COLOR GR+*/W
- @ 10,10 SAY REPLICATE( "Û", desp ) COLOR GR+/B
- @ 11,0 SAY PADC( STR( porcent, 3 ) + " % ", WCOLS() ) COLOR R/W
- @ WROWS()-1,0 SAY PADC("PERIODO PARCIAL", WCOLS() ) COLOR GR+/GR
- SELECT PARCIAL
- REPLACE saldo WITH v_saldo, cargo WITH totcargos, abono WITH totabonos
- SKIP
- c = c + 1
- ENDDO
- @ 6,8 SAY "" COLOR R/W
- @ 10,10 SAY REPLICATE( "°", 40 )
- SELECT 6
- cambio = 0
- LOCATE FOR fechacont = a_fechafin
- IF !FOUND()
- CAMBIO = PTIPOCAMB
- ELSE
- CAMBIO = tipocambio
- ENDIF
- SELECT PARCIAL
- GO TOP
- STORE 0 TO porcent, desp
- c = 1
- SET FILTER TO moneda = "D"
- DO WHILE !EOF()
- codigo = clavecta
- tiponat = tipo
- x = LEFT(clavecta, 4) + " - " + SUBSTR(clavecta, 5, 3 ) + " - " + SUBSTR(clavecta, 9, 3 ) + " - " + RIGHT(clavecta,3) + "."
- SELECT 2
- STORE 0 TO TOTCARGOS, TOTABONOS, totcardll, totabodll, saldll
- CALCULATE SUM (CARGOS) FOR CLAVECTA = codigo .AND. fechacont >= a_fechaini .AND. fechacont <= a_fechafin TO TOTCARGOS
- CALCULATE SUM (ABONOS) FOR CLAVECTA = codigo .AND. fechacont >= a_fechaini .AND. fechacont <= a_fechafin TO TOTABONOS
- totcardll = totcargos
- totabodll = totabonos
- totcargos = totcargos * cambio
- totabonos = totabonos * cambio
- IF tiponat = "D"
- V_SALDO = totCARGOS - totABONOS
- saldll = totcardll - totabodll
- ELSE
- IF tiponat = "A"
- V_SALDO = totabonos - totcargos
- saldll = totabodll - totcardll
- ENDIF
- ENDIF
- ACTIVATE WINDOW status
- porcent = INT( ( c * 100 ) / ctad )
- desp = INT( ( c * 40 ) / ctad )
- @ 7,8 SAY "" COLOR GR+*/W
- @ 10,10 SAY REPLICATE( "Û", desp ) COLOR GR+/B
- @ 11,0 SAY PADC( STR( porcent, 3 ) + " % ", WCOLS() ) COLOR R/W
- @ WROWS()-1,0 SAY PADC("PERIODO PARCIAL", WCOLS() ) COLOR GR+/GR
- SELECT PARCIAL
- REPLACE saldo WITH v_saldo, cargo WITH totcargos, abono WITH totabonos
- REPLACE saldodll WITH saldll
- c = c + 1
- * IF c > ctad
- * EXIT
- * ENDIF
- SKIP
- IF EOF()
- EXIT
- ENDIF
- ENDDO
- @ 5,8 say " "
- @ 6,8 SAY " "
- @ 7,8 SAY " " COLOR R/W
- @ 10,10 CLEAR TO 10,WCOLS()-2
- @ 10,10 SAY REPLICATE( "°", 40 )
- RETURN
- *!*****************************************************************************
- *!
- *! Procedure: PSUBTOTAL
- *!
- *! Called by: PIMPRIME (procedure in CONEDFIN.PRG)
- *!
- *! Calls: DETECTA (procedure in CONREAUX.PRG)
- *!
- *!*****************************************************************************
- PROCEDURE psubtotal
- PARAMETERS cantidad, bcantidad, mensaje
- IF cantidad <> 0 &&.AND. bcantidad <> 0
- linea = linea + 1
- DO detecta
- IF pagina >= p_pini .AND. pagina <= p_pfin
- @ linea, 0 SAY REPLICATE( "Ä", col )
- ENDIF
- linea = linea + 1
- Do detecta
- IF pagina >= p_pini .AND. pagina <= p_pfin
- IF informe = 2
- @ linea, 23 SAY mensaje + TRANSFORM( cantidad, "999,999,999,999.99")
- ELSE
- @ linea, 39 SAY mensaje + TRANSFORM( bcantidad, "999,999,999,999.99")
- @ linea, 116 SAY TRANSFORM( cantidad, "999,999,999,999.99")
- ENDIF
- ENDIF
- linea = linea + 1
- DO detecta
- IF pagina >= p_pini .AND. pagina <= p_pfin
- IF informe = 2
- @ linea, 63 SAY "ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ"
- ELSE
- @ linea, 79 SAY "ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ"
- @ linea, 119 SAY "ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ"
- ENDIF
- ENDIF
- linea = linea + 1
- DO detecta
- ENDIF
- RETURN
- *: EOF: CONEDFIN.PRG
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement