primer commit subida
This commit is contained in:
@@ -0,0 +1,534 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : IPPRRP410
|
||||
OBJETIVO : COSTO DE VENTAS
|
||||
PROGRAMADOR : Ing. Juan Fco. Soto
|
||||
FECHA REALIZACION : MAYO 19, 2008
|
||||
}
|
||||
GLOBALS "ipprgb000.4gl"
|
||||
DEFINE nombre_v CHAR(20)
|
||||
DEFINE ventas,salir CHAR(1),
|
||||
l SMALLINT
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL pantalla()
|
||||
CALL ipprrp410()
|
||||
END MAIN
|
||||
FUNCTION ipprrp410()
|
||||
|
||||
DEFINE select_ac,select_ant,select_p CHAR(1000)
|
||||
DEFINE idx_ac,ano,idx_a,idx_c SMALLINT
|
||||
DEFINE ano_act,c_ano CHAR(4)
|
||||
DEFINE fecha_2 CHAR(8)
|
||||
DEFINE fecha_ini_per CHAR(8)
|
||||
|
||||
DEFINE acumulado_a RECORD
|
||||
cod_mov LIKE iptb00005.cod_mov,
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_Tipo SMALLINT,
|
||||
cod_Sec SMALLINT,
|
||||
consumo LIKE iptb00006.cantidad_2
|
||||
END RECORD
|
||||
|
||||
DEFINE acumulado_ac RECORD
|
||||
cod_mov LIKE iptb00005.cod_mov,
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_Tipo SMALLINT,
|
||||
cod_Sec SMALLINT,
|
||||
consumo DECIMAL(12,5),
|
||||
cantidad DECIMAL(12,5)
|
||||
END RECORD
|
||||
|
||||
DEFINE costos RECORD
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_Tipo SMALLINT,
|
||||
cod_Sec SMALLINT,
|
||||
mes CHAR(2),
|
||||
material DECIMAL(12,3),
|
||||
labor DECIMAL(12,3),
|
||||
gastos DECIMAL(12,3)
|
||||
END RECORD
|
||||
|
||||
DEFINE acumulado RECORD
|
||||
cod_cia LIKE iptb00002.cod_cia,
|
||||
cod_n LIKE iptb00002.cod_n,
|
||||
cod_grupo LIKE iptb00002.cod_grupo,
|
||||
cod_tipo LIKE iptb00002.cod_tipo,
|
||||
cod_sec LIKE iptb00002.cod_sec,
|
||||
descrip_esp LIKE iptb00002.descrip_esp,
|
||||
descrip_ing LIKE iptb00002.descrip_ing,
|
||||
unidad_med LIKE iptb00002.unidad_med,
|
||||
cod_mov LIKE iptb00006.cod_mov,
|
||||
descrip_mov LIKE iptb00005.descrip_mov,
|
||||
consumo DECIMAL(12,5),
|
||||
material DECIMAL(12,3),
|
||||
labor DECIMAL(12,3),
|
||||
gastos DECIMAL(12,3)
|
||||
END RECORD
|
||||
|
||||
# WHENEVER ERROR CONTINUE
|
||||
|
||||
OPTIONS
|
||||
FORM LINE 8,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
|
||||
OPEN FORM ipfmrp004 FROM "ipfmrp004"
|
||||
DISPLAY FORM ipfmrp004
|
||||
CALL pantalla()
|
||||
DISPLAY "ipprrp004" AT 4,3
|
||||
DISPLAY "Operacion Por Movimiento Detallado y Valorizado" AT 6,18
|
||||
|
||||
LET tipo_papel = 1
|
||||
CALL msgrp000(tipo_papel)
|
||||
|
||||
INPUT BY NAME ventas,datos_cons.fech_in,datos_cons.fech_fi
|
||||
ON KEY (F2)
|
||||
RUN "copy pantalla.bat impresion.bat"
|
||||
DISPLAY "ACTIVACION REPORTE POR WORDPAD" AT 20,15 ATTRIBUTE(RED)
|
||||
|
||||
AFTER FIELD ventas
|
||||
IF ventas = "1" THEN
|
||||
LET nombre_v = "LOCAL"
|
||||
ELSE
|
||||
LET nombre_v = "EXPORTACION"
|
||||
END IF
|
||||
DISPLAY BY NAME nombre_v ATTRIBUTE (BOLD)
|
||||
AFTER FIELD fech_in
|
||||
IF datos_cons.fech_in IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fech_in
|
||||
END IF
|
||||
|
||||
AFTER FIELD fech_fi
|
||||
IF datos_cons.fech_fi IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fech_fi
|
||||
END IF
|
||||
|
||||
END INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
CONSTRUCT criterio ON c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec
|
||||
FROM cod_n,cod_grupo,cod_tipo,cod_sec
|
||||
ON KEY (F2)
|
||||
RUN "copy pantalla.bat impresion.bat"
|
||||
DISPLAY "ACTIVACION REPORTE POR WORDPAD" AT 20,15 ATTRIBUTE(RED)
|
||||
AFTER CONSTRUCT
|
||||
EXIT CONSTRUCT
|
||||
END CONSTRUCT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET select_ac =
|
||||
"SELECT d.ventas,c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec, ",
|
||||
" SUM(c.cantidad) ",
|
||||
"FROM vetb00002 d,vetb00003 c ",
|
||||
"WHERE ",criterio clipped," and d.fecha_factura between ? and ? and ",
|
||||
" c.factura = d.factura AND ",
|
||||
" c.cod_cia = d.cod_cia AND ",
|
||||
" d.ventas = '",ventas,"' AND ",
|
||||
" c.status_t is NULL ",
|
||||
"GROUP BY 1,2,3,4,5 ORDER BY 1,2,3,4,5 "
|
||||
|
||||
DISPLAY "<< Estoy Buscando Ventas Del Periodo Dado >>"
|
||||
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
|
||||
|
||||
PREPARE busca_ant FROM select_ac
|
||||
DECLARE actual SCROLL CURSOR FOR busca_ant
|
||||
OPEN actual USING datos_cons.fech_in,datos_cons.fech_fi
|
||||
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
DISPLAY " "
|
||||
AT 19,14
|
||||
LET ano_act = year(datos_cons.fech_fi)
|
||||
LET select_p =
|
||||
"SELECT c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec, ",
|
||||
"MAX(c.mes_fin),c.material,c.labor,c.gastos,MAX(c.mes_ini) ",
|
||||
"FROM iptb00004 c ",
|
||||
"WHERE c.ventas = '1' and c.ano = ? and c.status_t is NULL ",
|
||||
"GROUP BY 1,2,3,4,6,7,8 ORDER BY 1,2,3,5 "
|
||||
|
||||
DISPLAY "<< Estoy Buscando Los Costos de Los Productos >>"
|
||||
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
|
||||
|
||||
PREPARE busca_p FROM select_p
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
DECLARE periodo SCROLL CURSOR FOR busca_p
|
||||
OPEN periodo USING ano_act
|
||||
DISPLAY " "
|
||||
AT 19,14
|
||||
|
||||
LET SELEC = "SELECT a.cod_cia,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ",
|
||||
" a.descrip_esp,a.descrip_ing,a.unidad_med ",
|
||||
"FROM iptb00002 a WHERE a.status_t is null ORDER BY 2,3,4,5"
|
||||
|
||||
DISPLAY "<< Estoy Buscando Productos >>"
|
||||
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
|
||||
PREPARE busca FROM selec
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
|
||||
DECLARE accion SCROLL CURSOR FOR busca
|
||||
OPEN accion
|
||||
|
||||
DISPLAY " "
|
||||
AT 19,14
|
||||
|
||||
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
|
||||
AT 19,14 ATTRIBUTE (REVERSE)
|
||||
|
||||
START REPORT opera TO "C:\\archivo"
|
||||
|
||||
LET idx_c = 1
|
||||
LET idx_a = 1
|
||||
LET idx_ac = 1
|
||||
WHILE status != notfound
|
||||
FETCH actual INTO acumulado_ac.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
EXIT WHILE
|
||||
END IF
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
LET acumulado.consumo = acumulado_ac.consumo
|
||||
LET acumulado.cod_mov = acumulado_ac.cod_mov
|
||||
|
||||
# Buscando Los Costos de Los Materiales
|
||||
|
||||
LET salir = "N"
|
||||
WHILE salir != "S"
|
||||
FETCH ABSOLUTE idx_a periodo INTO costos.*
|
||||
IF status = notfound THEN
|
||||
LET idx_a = 1
|
||||
LET salir = "S"
|
||||
EXIT WHILE
|
||||
END IF
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET idx_a = idx_a + 1
|
||||
IF costos.cod_n = acumulado_ac.cod_n and
|
||||
costos.cod_grupo = acumulado_ac.cod_grupo and
|
||||
costos.cod_tipo = acumulado_ac.cod_tipo and
|
||||
costos.cod_Sec = acumulado_ac.cod_Sec THEN
|
||||
|
||||
LET salir = "S"
|
||||
LET acumulado.material = costos.material
|
||||
LET acumulado.labor = costos.labor
|
||||
LET acumulado.gastos = costos.gastos
|
||||
ELSE
|
||||
LET acumulado.material = 0
|
||||
LET acumulado.labor = 0
|
||||
LET acumulado.gastos = 0
|
||||
END IF
|
||||
IF salir = "S" THEN
|
||||
LET idx_a = 1
|
||||
EXIT WHILE
|
||||
END IF
|
||||
END WHILE
|
||||
|
||||
# Busqueda del Material Con su descripcion y unidad de medida
|
||||
|
||||
LET salir = "N"
|
||||
WHILE salir != "S"
|
||||
FETCH ABSOLUTE idx_c accion INTO acumulado.*
|
||||
IF status = notfound THEN
|
||||
LET idx_c = 1
|
||||
LET salir = "S"
|
||||
EXIT WHILE
|
||||
END IF
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET idx_c = idx_c + 1
|
||||
IF acumulado_ac.cod_n = acumulado.cod_n and
|
||||
acumulado_ac.cod_grupo = acumulado.cod_grupo and
|
||||
acumulado_ac.cod_tipo = acumulado.cod_tipo and
|
||||
acumulado_ac.cod_Sec = acumulado.cod_Sec AND
|
||||
acumulado_ac.cod_mov = acumulado.cod_mov THEN
|
||||
|
||||
LET salir = "S"
|
||||
END IF
|
||||
IF salir = "S" THEN
|
||||
LET idx_c = 1
|
||||
EXIT WHILE
|
||||
END IF
|
||||
END WHILE
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT opera(acumulado.*)
|
||||
END WHILE
|
||||
|
||||
FINISH REPORT opera
|
||||
CLEAR SCREEN
|
||||
RUN "impresion C:\\archivo"
|
||||
RUN "copy printer2.bat impresion.bat"
|
||||
END FUNCTION
|
||||
|
||||
REPORT opera(x)
|
||||
DEFINE x RECORD
|
||||
cod_cia LIKE iptb00002.cod_cia,
|
||||
cod_n LIKE iptb00002.cod_n,
|
||||
cod_grupo LIKE iptb00002.cod_grupo,
|
||||
cod_tipo LIKE iptb00002.cod_tipo,
|
||||
cod_sec LIKE iptb00002.cod_sec,
|
||||
descrip_esp LIKE iptb00002.descrip_esp,
|
||||
descrip_ing LIKE iptb00002.descrip_ing,
|
||||
unidad_med LIKE iptb00002.unidad_med,
|
||||
cod_mov LIKE iptb00006.cod_mov,
|
||||
descrip_mov LIKE iptb00005.descrip_mov,
|
||||
consumo DECIMAL(12,5),
|
||||
material DECIMAL(12,3),
|
||||
labor DECIMAL(12,3),
|
||||
gastos DECIMAL(12,3)
|
||||
END RECORD
|
||||
|
||||
DEFINE l SMALLINT
|
||||
DEFINE c_ano1 char(4)
|
||||
DEFINE doble_on CHAR(2)
|
||||
DEFINE doble_off CHAR(2)
|
||||
DEFINE negrillas_on CHAR(6)
|
||||
DEFINE negrillas_off CHAR(6)
|
||||
DEFINE comp_on CHAR(3)
|
||||
DEFINE comp_off CHAR(2)
|
||||
DEFINE doce CHAR(3)
|
||||
DEFINE normal CHAR(2)
|
||||
DEFINE hora CHAR(5)
|
||||
DEFINE total_p,total_m DECIMAL(12,2)
|
||||
|
||||
DEFINE total_costo_st,t_t_total,t_t_t_total,
|
||||
tt_total_costo_st,t_total_costo_st,t_cantidad
|
||||
DECIMAL (12,2)
|
||||
|
||||
OUTPUT
|
||||
TOP MARGIN 0
|
||||
LEFT MARGIN 0
|
||||
BOTTOM MARGIN 2
|
||||
|
||||
ORDER BY x.cod_mov,x.cod_cia,x.cod_n,x.cod_grupo,x.cod_tipo,x.cod_sec
|
||||
|
||||
FORMAT
|
||||
|
||||
PAGE HEADER
|
||||
LET doble_on = ASCII 14
|
||||
LET doble_off = ASCII 20
|
||||
LET negrillas_on = ASCII 27, ASCII 69
|
||||
LET negrillas_off = ASCII 27, ASCII 70
|
||||
LET comp_on = ASCII 27,ASCII 15
|
||||
LET comp_off = ASCII 18
|
||||
LET doce = ASCII 27, ASCII 77
|
||||
LET normal = ASCII 27, ASCII 80
|
||||
LET hora = time
|
||||
|
||||
PRINT comp_on
|
||||
LET l = (141 - LENGTH(p_companias.nombre CLIPPED))/2
|
||||
PRINT COLUMN 1, "ipprrp004",
|
||||
COLUMN l, p_companias.nombre CLIPPED,
|
||||
COLUMN 134, "Pag. ",pageno using "###"
|
||||
PRINT COLUMN 54, "Sistema de Inventario de Productos",
|
||||
COLUMN 134, today using "dd/mm/yyyy"
|
||||
PRINT COLUMN 47, "Operacion por Movimiento Detallado y Valorizado",
|
||||
COLUMN 137, hora
|
||||
|
||||
LET l = (141 - LENGTH(nombre_v)) / 2
|
||||
|
||||
IF ventas = "1" THEN
|
||||
PRINT COLUMN l, nombre_v
|
||||
ELSE
|
||||
PRINT COLUMN l, nombre_v
|
||||
END IF
|
||||
|
||||
SKIP 1 LINES
|
||||
|
||||
PRINT COLUMN 2, "Desde ",datos_cons.fech_in using "dd/mm/yyyy",
|
||||
COLUMN 21, "Hasta ", datos_cons.fech_fi using "dd/mm/yyyy"
|
||||
PRINT COLUMN 1, "--------------------------------------------------",
|
||||
"--------------------------------------------------",
|
||||
"-------------------------------------------"
|
||||
|
||||
PRINT COLUMN 70, "Valor",
|
||||
COLUMN 99, "Valor",
|
||||
COLUMN 121, "Valor",
|
||||
COLUMN 137, "Valor"
|
||||
|
||||
PRINT COLUMN 1, "Producto",
|
||||
COLUMN 45, "Cantidad",
|
||||
COLUMN 59, "Material",
|
||||
COLUMN 70, "Material",
|
||||
COLUMN 84, "Labor",
|
||||
COLUMN 99, "Labor",
|
||||
COLUMN 109, "Gasto",
|
||||
COLUMN 121, "Gasto",
|
||||
COLUMN 137, "Total"
|
||||
|
||||
PRINT COLUMN 1, "--------------------------------------------------",
|
||||
"--------------------------------------------------",
|
||||
"-------------------------------------------"
|
||||
|
||||
BEFORE GROUP OF x.cod_n
|
||||
LET t_total_costo_st = 0
|
||||
|
||||
BEFORE GROUP OF x.cod_mov
|
||||
|
||||
LET t_cantidad = 0
|
||||
LET t_t_t_total = 0
|
||||
LET total_costo_st = 0
|
||||
LET tt_total_costo_st = 0
|
||||
LET t_t_total = 0
|
||||
|
||||
|
||||
SELECT a.descripcion INTO x.descrip_mov FROM vetb00061 a
|
||||
WHERE a.ventas = x.cod_mov
|
||||
|
||||
PRINT COLUMN 1, negrillas_on,"Movimiento: ",x.cod_mov using "&&",
|
||||
" ",x.descrip_mov CLIPPED,negrillas_off
|
||||
|
||||
SKIP 1 LINE
|
||||
LET total_m = 0
|
||||
|
||||
BEFORE GROUP OF x.cod_cia
|
||||
IF x.cod_cia = "1" THEN
|
||||
PRINT "PRODUCTO LOCAL"
|
||||
ELSE
|
||||
PRINT "PRODUCTO IMPORTADO"
|
||||
END IF
|
||||
|
||||
ON EVERY ROW
|
||||
|
||||
IF x.consumo IS NOT NULL THEN
|
||||
|
||||
IF x.material IS NULL THEN
|
||||
LET x.material = 0
|
||||
END IF
|
||||
IF x.labor IS NULL THEN
|
||||
LET x.labor = 0
|
||||
END IF
|
||||
IF x.gastos IS NULL THEN
|
||||
LET x.gastos = 0
|
||||
END IF
|
||||
LET t_cantidad = t_cantidad + x.consumo
|
||||
LET total_costo_st = 0
|
||||
LET total_costo_st = (x.material+x.labor+x.gastos) * x.consumo
|
||||
|
||||
LET t_total_costo_st = t_total_costo_st + total_costo_st
|
||||
|
||||
PRINT COLUMN 1, x.cod_n USING "&&","-",x.cod_grupo USING "&&","-",
|
||||
x.cod_tipo USING "&&&","-",x.cod_sec USING "&&&"," ",
|
||||
x.descrip_esp[1,30],
|
||||
COLUMN 42, x.consumo USING "###,###.###",
|
||||
COLUMN 54, x.material using "##,###.###",
|
||||
COLUMN 65, x.consumo*x.material USING "#,###,###.###",
|
||||
COLUMN 79, x.labor using "##,###.###",
|
||||
COLUMN 90, x.consumo*x.labor USING "#,###,###.###",
|
||||
COLUMN 104, x.gastos using "##,###.###",
|
||||
COLUMN 115, x.consumo * x.gastos using "#,###,###.###",
|
||||
COLUMN 129, total_costo_st using "##,###,###.##"
|
||||
END IF
|
||||
|
||||
AFTER GROUP OF x.cod_n
|
||||
|
||||
PRINT negrillas_on
|
||||
PRINT COLUMN 40, "-------------",
|
||||
COLUMN 65, "-------------",
|
||||
COLUMN 90, "-------------",
|
||||
COLUMN 115, "-------------",
|
||||
COLUMN 129, "-------------"
|
||||
PRINT COLUMN 3, "Total Tipo --->",
|
||||
COLUMN 40, GROUP SUM(x.consumo) USING "#,###,###.###",
|
||||
COLUMN 65, GROUP SUM(x.consumo*x.material) USING "#,###,###.###",
|
||||
COLUMN 90, GROUP SUM(x.consumo*x.labor) USING "#,###,###.###",
|
||||
COLUMN 115, GROUP SUM(x.consumo * x.gastos) using "#,###,###.###",
|
||||
COLUMN 129, t_total_costo_st USING "##,###,###.##"
|
||||
SKIP 1 LINE
|
||||
|
||||
LET tt_total_costo_st = t_total_costo_st + tt_total_costo_st
|
||||
PRINT negrillas_off
|
||||
|
||||
AFTER GROUP OF x.cod_mov
|
||||
|
||||
PRINT negrillas_on
|
||||
PRINT COLUMN 40, "-------------",
|
||||
COLUMN 65, "-------------",
|
||||
COLUMN 90, "-------------",
|
||||
COLUMN 115, "-------------",
|
||||
COLUMN 129, "-------------"
|
||||
PRINT COLUMN 3, "Total ---->",
|
||||
COLUMN 40, GROUP SUM(x.consumo) USING "#,###,###.###",
|
||||
COLUMN 65, GROUP SUM(x.consumo*x.material) USING "##,###,###.###",
|
||||
COLUMN 90, GROUP SUM(x.consumo*x.labor) USING "#,###,###.###",
|
||||
COLUMN 115, GROUP SUM(x.consumo * x.gastos) using "#,###,###.###",
|
||||
COLUMN 129, tt_total_costo_st USING "##,###,###.##"
|
||||
PRINT COLUMN 129, "============="
|
||||
|
||||
PRINT negrillas_off
|
||||
|
||||
SKIP TO TOP OF PAGE
|
||||
|
||||
END REPORT
|
||||
|
||||
FUNCTION pantalla()
|
||||
DEFINE fecha CHAR(10),
|
||||
hora char(5)
|
||||
SELECT a.* INTO p_companias.* FROM companias a
|
||||
|
||||
LET fecha = today USING "dd/mm/yyyy"
|
||||
LET hora = time
|
||||
LET l = (80 - LENGTH(p_companias.nombre CLIPPED))/2
|
||||
DISPLAY p_companias.nombre CLIPPED AT 4,l ATTRIBUTE (REVERSE,BLUE)
|
||||
DISPLAY fecha AT 4,68 ATTRIBUTE (BLUE)
|
||||
DISPLAY "Sistema Inventario de Productos" AT 5,25
|
||||
DISPLAY hora AT 6,73 ATTRIBUTE(BLUE)
|
||||
|
||||
CALL fgl_drawbox(5,79,3,1)
|
||||
# CALL fgl_drawbox(1,79,22,1)
|
||||
END FUNCTION
|
||||
Reference in New Issue
Block a user