Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,139 @@
|
||||
GLOBALS "idprgb000.4gl"
|
||||
|
||||
FUNCTION edprrp128(fecha1, fecha2, detalle, entra, afecta, p_companias, acumulado_arr)
|
||||
DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
|
||||
r_filename STRING, -- filename of Report Design Document including .4rp extension
|
||||
r_output STRING, -- output format option
|
||||
preview INTEGER
|
||||
|
||||
DEFINE acumulado_arr DYNAMIC ARRAY OF RECORD
|
||||
cod_mov LIKE irtb00006.cod_mov,
|
||||
descrip_mov LIKE intb00005.descrip_mov,
|
||||
departamento SMALLINT,
|
||||
nombre CHAR(30),
|
||||
consumo decimal(12,2),
|
||||
cuenta CHAR(10),
|
||||
gasto_ind LIKE irtb00013.costo_st,
|
||||
descripcion CHAR(30),
|
||||
consumo_cuenta DECIMAL(12,2)
|
||||
END RECORD
|
||||
|
||||
DEFINE afecta CHAR(3),
|
||||
fecha1, fecha2 DATE,
|
||||
p_cctb01 RECORD LIKE cctb00001.*,
|
||||
entra CHAR(14),
|
||||
detalle CHAR(100),
|
||||
p_companias CHAR(30),
|
||||
idz INT,
|
||||
###### Variables para almacenar los datos selecionados
|
||||
usuarios,clave CHAR(80),
|
||||
impresor SMALLINT
|
||||
|
||||
CALL defecto(usuarios,clave,impresor)
|
||||
RETURNING imprime,negrilla_on,negrillas_of,
|
||||
doble_on,doble_off,comp_on,comp_off,
|
||||
doce,normal,archivo,copia
|
||||
|
||||
LET r_filename ="edprrp128b.4rp"
|
||||
LET idz = 1
|
||||
|
||||
FOR idx = 1 TO acumulado_arr.getLength()
|
||||
IF idx = 1 THEN
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN
|
||||
|
||||
LET preview=1
|
||||
CALL seleccionarsalida() RETURNING r_output -- load the .4rp file
|
||||
CALL fgl_report_selectDevice(r_output) -- changing default
|
||||
CALL fgl_report_selectPreview(preview) -- changing default
|
||||
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
||||
|
||||
END IF
|
||||
|
||||
START REPORT entrada14 TO XML HANDLER HANDLER
|
||||
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT entrada14(p_cctb01.*,fecha1,fecha2,detalle,entra, afecta,p_companias, acumulado_arr[idz].*)
|
||||
LET idz = idz + 1
|
||||
END FOR
|
||||
|
||||
IF idx > 1 THEN
|
||||
FINISH REPORT entrada14
|
||||
ELSE
|
||||
CALL fgl_winmessage("INFO", "NO HAY REGISTROS EN ESTE RANGO DE FECHA Y CON LOS PARAMETROS INDICADOS", "INFO")
|
||||
END IF
|
||||
--RUN imprime
|
||||
END FUNCTION
|
||||
|
||||
REPORT entrada14(x,fecha1,fecha2,detalle1,entrada, afecta,p_companias, y)
|
||||
|
||||
DEFINE x RECORD LIKE cctb00001.*
|
||||
|
||||
DEFINE y RECORD
|
||||
cod_mov LIKE irtb00006.cod_mov,
|
||||
descrip_mov LIKE intb00005.descrip_mov,
|
||||
departamento SMALLINT,
|
||||
nombre CHAR(30),
|
||||
consumo decimal(12,2),
|
||||
cuenta CHAR(10),
|
||||
gasto_ind LIKE irtb00013.costo_st,
|
||||
descripcion CHAR(30),
|
||||
consumo_cuenta DECIMAL(12,2)
|
||||
END RECORD
|
||||
|
||||
### Acumula los valores de las diferentes cuentas para entrada diario de nomina
|
||||
DEFINE total_departamento DECIMAL(12,2),
|
||||
detalle1, nombre_cta,rango_fecha CHAR(50),
|
||||
total_haber DECIMAL(12,2),
|
||||
fecha1,fecha2 DATE, #### Almacena las fecha del rango de busqueda
|
||||
hora,cuenta_no CHAR(5),
|
||||
entrada CHAR(14),
|
||||
afecta CHAR(3),
|
||||
p_companias,desc_cuenta CHAR(30)
|
||||
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
LET hora = TIME
|
||||
LET actual = today using "dd/mm/yy"
|
||||
LET rango_fecha = "Del ",fecha1 USING "dd/mm/yy", " Al ",fecha2 USING "dd/mm/yy"
|
||||
|
||||
BEFORE GROUP OF y.departamento
|
||||
LET total_departamento = 0
|
||||
|
||||
ON EVERY ROW
|
||||
PRINTX entrada,hora,actual,rango_fecha,p_companias,
|
||||
y.cod_mov, y.consumo, y.cuenta, y.departamento,
|
||||
y.descrip_mov, y.gasto_ind, y.nombre, y.consumo_cuenta,
|
||||
y.descripcion, y.consumo_cuenta, detalle1
|
||||
|
||||
AFTER GROUP OF y.departamento
|
||||
LET desc_cuenta = '1135-01'
|
||||
LET total_departamento = GROUP SUM(y.consumo_cuenta)
|
||||
|
||||
IF afecta = "YES" THEN
|
||||
|
||||
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,desc_cuenta,y.departamento,null,null,null,
|
||||
null,detalle1,null,total_departamento,0,null,usuarios,GETDATE(),
|
||||
null,NULL)
|
||||
END IF
|
||||
|
||||
ON LAST ROW
|
||||
SELECT descripcion INTO nombre_cta FROM cgtb00001
|
||||
WHERE cuenta_no = '1135-01'
|
||||
|
||||
LET total_haber = SUM(y.consumo_cuenta)
|
||||
LET desc_cuenta = '1135-01'
|
||||
|
||||
IF nombre_cta IS NULL THEN
|
||||
LET nombre_cta = "CUENTA SIN DESCRIPCION"
|
||||
END IF
|
||||
|
||||
IF afecta = "YES" THEN
|
||||
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,null,null,null,null,NULL,
|
||||
null,detalle1,null,0,total_haber,null,usuarios,GETDATE(),
|
||||
null,NULL)
|
||||
END IF
|
||||
|
||||
PRINTX total_haber, nombre_cta, desc_cuenta
|
||||
END REPORT
|
||||
|
||||
Reference in New Issue
Block a user